Appearance
Features supported
- Support asynchronous invocation: YES
- Supports paging: YES, with certain conditions -- orderBy must be modified, and page direction must be 1 (ascending order)
- Field selection: NO
- Supplemental data: YES
AsyncPagingSupplemental Data
curl --request GET \
--url 'https://api.fareclock.com/punches?from=2024-01-01&to=2024-01-31' \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Accept: application/json'Query String
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | No | Numeric ID of the punch |
from | date | Yes | Start of date range. Punch pairs are dated by the IN punch (or modified timestamp if orderBy=modified). |
to | date | Yes | End of date range. |
orderBy | string | No | punch (default) or modified. Use modified for periodic sync of edits. |
employee | integer | No | Employee ID. If specified, orgUnit, department, and payClass are ignored. |
job | integer | No | Job ID. |
orgUnit | integer | No | Organization unit ID of employee. |
clockOrgUnit | integer | No | Organization unit ID of clock. |
workOrgUnit | integer | No | Organization unit ID of work location. |
department | integer | No | Department ID. |
device | integer | No | Clock/Device ID. |
status | string | No | Allowed values: approved, flagged, exception, missed, override, edited_time, exceed_shift, before_shift, after_shift, late, missed_break, short_break. |
labels | integer | No | User or work label ID. |
userCustomFields | string | No | Custom fields query string. |
entryState | integer | No | Entry State ID, or "none" for punches with no entry state. |
payClass | integer | No | Pay class ID. |
{
"results": [
{
"id": 400,
"employee": 300,
"employeeFirstName": "John",
"employeeMiddleName": null,
"employeeLastName": "Doe",
"employeeDisplayName": "John Doe",
"employeePayrollId": "employee-payroll-id",
"employeeHourlyWage": null,
"employeePayClassName": "Default Pay Class",
"orgUnit": 100,
"orgUnitName": "Org Unit #1",
"orgUnitPayrollId": "org-unit-1",
"timezone": "America/New_York",
"department": 200,
"departmentName": "Department #1",
"departmentPayrollId": "dept-1",
"inClock": 600,
"inClockName": "Clock #1",
"outClock": 600,
"outClockName": "Clock #1",
"inOrgUnit": 101,
"inOrgUnitName": "Org Unit #1",
"inOrgUnitPayrollId": "org-unit-1",
"outOrgUnit": 101,
"outOrgUnitName": "Org Unit #1",
"outOrgUnitPayrollId": "org-unit-1",
"inClockLog": 800,
"outClockLog": 801,
"inGeoAddress": "123 Main St",
"outGeoAddress": "123 Main St",
"inGeoFence": 900,
"outGeoFence": 900,
"travelDistance": null,
"inExceptions": ["added"],
"outExceptions": ["edited"],
"inOrig": "2014-03-07T14:30:00Z",
"outOrig": "2014-03-07T15:30:00Z",
"inDt": "2014-03-07T14:30:00Z",
"outDt": "2014-03-07T15:30:00Z",
"queryDt": "2014-03-07T14:30:00Z",
"shiftCard": 1000,
"shiftClass": 1100,
"breakDuration": "00:00:00",
"lateDuration": "00:00:00",
"isTardy": false,
"type": "WORK",
"status": "approved",
"tags": ["approved"],
"entryState": 50,
"entryStateName": "Approved State",
"entryStateSetBy": "Mike Manager",
"notes": "manager notes about the punch",
"overrideBy": "Mike Manager",
"labels": [],
"labelNames": [],
"customFieldValues": [],
"duration": 3600.0,
"created": "2014-03-10T01:45:19.369Z",
"modified": "2014-04-03T16:54:05.246Z"
}
]
}curl --request POST \
--url 'https://api.fareclock.com/punches' \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"employee": 300,
"inDt": "2014-03-07T14:30:00Z",
"inOrgUnit": 101,
"outDt": "2014-03-07T15:30:00Z",
"outOrgUnit": 101
}'{
"employee": 300,
"inDt": "2014-03-07T14:30:00Z",
"inOrgUnit": 101,
"outDt": "2014-03-07T15:30:00Z",
"outOrgUnit": 101
}{
"results": [
{
"id": 400,
"employee": 300,
"employeeFirstName": "John",
"employeeMiddleName": null,
"employeeLastName": "Doe",
"employeeDisplayName": "John Doe",
"employeePayrollId": "employee-payroll-id",
"employeeHourlyWage": null,
"employeePayClassName": "Default Pay Class",
"orgUnit": 100,
"orgUnitName": "Org Unit #1",
"orgUnitPayrollId": "org-unit-1",
"timezone": "America/New_York",
"department": 200,
"departmentName": "Department #1",
"departmentPayrollId": "dept-1",
"inClock": 600,
"inClockName": "Clock #1",
"outClock": 600,
"outClockName": "Clock #1",
"inOrgUnit": 101,
"inOrgUnitName": "Org Unit #1",
"inOrgUnitPayrollId": "org-unit-1",
"outOrgUnit": 101,
"outOrgUnitName": "Org Unit #1",
"outOrgUnitPayrollId": "org-unit-1",
"inClockLog": 800,
"outClockLog": 801,
"inGeoAddress": "123 Main St",
"outGeoAddress": "123 Main St",
"inGeoFence": 900,
"outGeoFence": 900,
"travelDistance": null,
"inExceptions": ["added"],
"outExceptions": ["edited"],
"inOrig": "2014-03-07T14:30:00Z",
"outOrig": "2014-03-07T15:30:00Z",
"inDt": "2014-03-07T14:30:00Z",
"outDt": "2014-03-07T15:30:00Z",
"queryDt": "2014-03-07T14:30:00Z",
"shiftCard": 1000,
"shiftClass": 1100,
"breakDuration": "00:00:00",
"lateDuration": "00:00:00",
"isTardy": false,
"type": "WORK",
"status": "approved",
"tags": ["approved"],
"entryState": 50,
"entryStateName": "Approved State",
"entryStateSetBy": "Mike Manager",
"notes": "manager notes about the punch",
"overrideBy": "Mike Manager",
"labels": [],
"labelNames": [],
"customFieldValues": [],
"duration": 3600.0,
"created": "2014-03-10T01:45:19.369Z",
"modified": "2014-04-03T16:54:05.246Z"
}
]
}curl --request GET \
--url 'https://api.fareclock.com/punches/123' \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Accept: application/json'Path
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Numeric ID of the punch |
{
"results": [
{
"id": 400,
"employee": 300,
"employeeFirstName": "John",
"employeeMiddleName": null,
"employeeLastName": "Doe",
"employeeDisplayName": "John Doe",
"employeePayrollId": "employee-payroll-id",
"employeeHourlyWage": null,
"employeePayClassName": "Default Pay Class",
"orgUnit": 100,
"orgUnitName": "Org Unit #1",
"orgUnitPayrollId": "org-unit-1",
"timezone": "America/New_York",
"department": 200,
"departmentName": "Department #1",
"departmentPayrollId": "dept-1",
"inClock": 600,
"inClockName": "Clock #1",
"outClock": 600,
"outClockName": "Clock #1",
"inOrgUnit": 101,
"inOrgUnitName": "Org Unit #1",
"inOrgUnitPayrollId": "org-unit-1",
"outOrgUnit": 101,
"outOrgUnitName": "Org Unit #1",
"outOrgUnitPayrollId": "org-unit-1",
"inClockLog": 800,
"outClockLog": 801,
"inGeoAddress": "123 Main St",
"outGeoAddress": "123 Main St",
"inGeoFence": 900,
"outGeoFence": 900,
"travelDistance": null,
"inExceptions": ["added"],
"outExceptions": ["edited"],
"inOrig": "2014-03-07T14:30:00Z",
"outOrig": "2014-03-07T15:30:00Z",
"inDt": "2014-03-07T14:30:00Z",
"outDt": "2014-03-07T15:30:00Z",
"queryDt": "2014-03-07T14:30:00Z",
"shiftCard": 1000,
"shiftClass": 1100,
"breakDuration": "00:00:00",
"lateDuration": "00:00:00",
"isTardy": false,
"type": "WORK",
"status": "approved",
"tags": ["approved"],
"entryState": 50,
"entryStateName": "Approved State",
"entryStateSetBy": "Mike Manager",
"notes": "manager notes about the punch",
"overrideBy": "Mike Manager",
"labels": [],
"labelNames": [],
"customFieldValues": [],
"duration": 3600.0,
"created": "2014-03-10T01:45:19.369Z",
"modified": "2014-04-03T16:54:05.246Z"
}
]
}PUT requests are applied as partial updates. Omitted fields are left unchanged.
curl --request PUT \
--url 'https://api.fareclock.com/punches/123' \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"outDt": "2014-03-07T16:00:00Z",
"outOrgUnit": 101,
"notes": "adjusted clock-out after manager review"
}'Path
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Numeric ID of the punch |
{
"outDt": "2014-03-07T16:00:00Z",
"outOrgUnit": 101,
"notes": "adjusted clock-out after manager review"
}{
"results": [
{
"id": 400,
"employee": 300,
"employeeFirstName": "John",
"employeeMiddleName": null,
"employeeLastName": "Doe",
"employeeDisplayName": "John Doe",
"employeePayrollId": "employee-payroll-id",
"employeeHourlyWage": null,
"employeePayClassName": "Default Pay Class",
"orgUnit": 100,
"orgUnitName": "Org Unit #1",
"orgUnitPayrollId": "org-unit-1",
"timezone": "America/New_York",
"department": 200,
"departmentName": "Department #1",
"departmentPayrollId": "dept-1",
"inClock": 600,
"inClockName": "Clock #1",
"outClock": 600,
"outClockName": "Clock #1",
"inOrgUnit": 101,
"inOrgUnitName": "Org Unit #1",
"inOrgUnitPayrollId": "org-unit-1",
"outOrgUnit": 101,
"outOrgUnitName": "Org Unit #1",
"outOrgUnitPayrollId": "org-unit-1",
"inClockLog": 800,
"outClockLog": 801,
"inGeoAddress": "123 Main St",
"outGeoAddress": "123 Main St",
"inGeoFence": 900,
"outGeoFence": 900,
"travelDistance": null,
"inExceptions": ["added"],
"outExceptions": ["edited"],
"inOrig": "2014-03-07T14:30:00Z",
"outOrig": "2014-03-07T15:30:00Z",
"inDt": "2014-03-07T14:30:00Z",
"outDt": "2014-03-07T15:30:00Z",
"queryDt": "2014-03-07T14:30:00Z",
"shiftCard": 1000,
"shiftClass": 1100,
"breakDuration": "00:00:00",
"lateDuration": "00:00:00",
"isTardy": false,
"type": "WORK",
"status": "approved",
"tags": ["approved"],
"entryState": 50,
"entryStateName": "Approved State",
"entryStateSetBy": "Mike Manager",
"notes": "manager notes about the punch",
"overrideBy": "Mike Manager",
"labels": [],
"labelNames": [],
"customFieldValues": [],
"duration": 3600.0,
"created": "2014-03-10T01:45:19.369Z",
"modified": "2014-04-03T16:54:05.246Z"
}
]
}curl --request DELETE \
--url 'https://api.fareclock.com/punches/123' \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Accept: application/json'Path
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Numeric ID of the punch |