Jobs API Reference
Enterprise API endpoints for managing jobs.
Create a bridge-proxied job (lock/unlock/PIN/status/logs via a Bridge)
/devices/{deviceId}/jobs/bridges/{bridgeId}jobData's shape depends on jobType — CREATE_CUSTOM_PIN and DELETE_PIN_CODE have their own sub-schemas; other job types accept an open object.
Path Parameters
| Parameter | Type | Required |
|---|---|---|
| deviceId | string | Yes |
| bridgeId | string | Yes |
Body Parameters
| Parameter | Type | Required |
|---|---|---|
| departmentId | string | Optional |
| jobData | string | Optional |
| jobType | string | Optional |
Request Example
Responses
OK.
Query/body validation failure.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the OAuth client's access has been revoked ('{error: "The user has revoked access for this application..."}'). Never returned on the API-key auth path, which does not check scope at all.
'jobType=5' (DELETE_PIN_CODE) only — no matching PIN access found for 'jobData.accessId'.
'jobType=4' (CREATE_CUSTOM_PIN) only — a pending job for the same PIN already exists, or the PIN is already in use on this lock.
The lock is not associated with the given department (or the account's only department, for a flat org).
Missing 'Content-Type: application/json'.
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
List jobs for a device
/devices/{id}/jobsPath Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
Query Parameters
| Parameter | In | Required |
|---|---|---|
| jobType | query | No |
| status | query | No |
| departmentId | query | No |
| limit | query | No |
| cursor | query | No |
| sort | query | No |
Request Example
Responses
OK.
Query/body validation failure.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the OAuth client's access has been revoked ('{error: "The user has revoked access for this application..."}'). Never returned on the API-key auth path, which does not check scope at all.
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
Create a custom Bluetooth PIN (async job)
/devices/{id}/jobsPath Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
Body Parameters
| Parameter | Type | Required |
|---|---|---|
| customPin | string | Optional |
| departmentId | string | Optional |
| description | string | Optional |
| endDateTime | string | Optional |
| pinType | string | Optional |
| startDateTime | string | Optional |
Request Example
Responses
Job created.
Bad Request
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the OAuth client's access has been revoked ('{error: "The user has revoked access for this application..."}'). Never returned on the API-key auth path, which does not check scope at all.
Response
Missing 'Content-Type: application/json'.
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
Get a single job's details
/devices/{id}/jobs/{jobId}Path Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
| jobId | string | Yes |
Request Example
Responses
OK.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the OAuth client's access has been revoked ('{error: "The user has revoked access for this application..."}'). Never returned on the API-key auth path, which does not check scope at all.
Job not found.
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.
Update a job's status (called by device/bridge sync flows)
/devices/{id}/jobs/{jobId}Path Parameters
| Parameter | Type | Required |
|---|---|---|
| id | string | Yes |
| jobId | string | Yes |
Body Parameters
| Parameter | Type | Required |
|---|---|---|
| reason | string | Optional |
| status | string | Optional |
Request Example
Responses
OK. '{payload: null}' if the job no longer exists at update time.
Query/body validation failure.
Unauthorized, invalid or expired authorization token
Forbidden. One of: (1) the token is valid but lacks the required scope for this endpoint (no body); (2) the OAuth client's access has been revoked ('{error: "The user has revoked access for this application..."}'). Never returned on the API-key auth path, which does not check scope at all.
Job not found.
No example response recorded for this status code.
Example response — 402-account-suspended:
Example response — 402-trial-ended:
No example response recorded for this status code.