Integrations

Time & Attendance

Submit time punches and sync time data between Netchex and a third-party scheduling or T&A system.

This guide covers syncing time-and-attendance data in both directions: retrieving approved punches from Netchex and writing new punches back.

Overview

Four endpoints power the T&A sync workflow:

  • POST /api/v1/time-punches — submit a single time punch (v1)
  • POST /api/v1/time-punches/byEmpCodeAndComboDept — submit a punch by employee code and department (v1)
  • GET /time-punches — retrieve punches within a date range (v3)
  • POST /api/Timecard/earning — attach earnings to a timecard entry (v1)

Step 1 — Retrieve time punches

Request
GET https://external-api.netchexonline.net/time-punches?start-date=2024-01-01&end-date=2024-01-31&company-ids=101&page-size=250&api-version=3.0
Authorization: ApiKey YOUR_API_KEY

Key parameters:

ParameterTypeDescription
start-datedateRequired. Start of the punch date range
end-datedateRequired. End of the punch date range
company-idsinteger[]Filter to one or more companies
organization-idsGUID[]Filter to organizations
employee-idsinteger[]Filter to specific employees
data-sourcestringFilter by data source (e.g., "Swipe", "Manual")
page-sizeintegerMax rows per page (max 250)
page-numberinteger1-based page number
Response (200)
{
  "pageNumber": 1,
  "pageSize": 250,
  "totalItemsCount": 1842,
  "items": [
    {
      "id": 98001,
      "employeeId": 5001,
      "punchIn": "2024-01-15T08:02:00Z",
      "punchOut": "2024-01-15T17:04:00Z",
      "departmentId": 10,
      "locationId": 3,
      "dataSource": "Swipe"
    }
  ]
}

The v3 time-punches endpoint supports page-size up to 250 rows. Use pagination when the date range spans several weeks.

Step 2 — Submit a new time punch

Request
POST https://external-api.netchexonline.net/api/v1/time-punches?api-version=1.0
Authorization: ApiKey YOUR_API_KEY
Content-Type: application/json
Request body
{
  "employeeId": 5001,
  "punchIn": "2024-01-22T08:00:00Z",
  "punchOut": "2024-01-22T17:00:00Z",
  "departmentId": 10
}

Alternative: submit by employee code and department

If your source system stores employee codes (not IDs), use the combo-dept endpoint:

Request
POST https://external-api.netchexonline.net/api/v1/time-punches/byEmpCodeAndComboDept?api-version=1.0
Authorization: ApiKey YOUR_API_KEY
Content-Type: application/json
Request body
{
  "employeeCode": "EMP-1234",
  "comboDept": "DEPT-A/LOC-1",
  "punchIn": "2024-01-22T08:00:00Z",
  "punchOut": "2024-01-22T17:00:00Z"
}

Step 3 — Attach earnings to a timecard

After punches are posted, you can associate earnings codes with a timecard entry:

Request
POST https://external-api.netchexonline.net/api/Timecard/earning?api-version=1.0
Authorization: ApiKey YOUR_API_KEY
Content-Type: application/json

The path is /api/Timecard/earning with a capital T — not /api/v1/timecard/earning. This is a v1 endpoint and follows PascalCase conventions for the resource segment.

Request body
{
  "employeeId": 5001,
  "earningCode": "REG",
  "hours": 8.0,
  "date": "2024-01-22"
}

Try it in the playground

Test these endpoints interactively in the API reference:

On this page