Skip to content

API Requirements

Required

Seamlr requires your scheduling system to expose REST endpoints for fetching shift data and syncing assignments.

MethodEndpointDescription
GET/shifts/{id}Fetch full shift details
PUT/shifts/{id}Update shift (time, slots)
DELETE/shifts/{id}Cancel/delete shift
PUT/shifts/{id}/assign/{candidateId}Assign candidate to shift
PUT/shifts/{id}/unassign/{candidateId}Remove candidate from shift
MethodEndpointDescription
GET/candidatesSearch candidates by personal number or name
POST/candidatesCreate or update candidate record

Recommended pattern:

/providers/{providerId}/shifts/{shiftId}

Alternative (header-based):

X-Provider-Id: 550e8400-e29b-41d4-a716-446655440000

Request:

GET /providers/550e8400-e29b-41d4-a716-446655440000/shifts/6ba7b810-9dad-11d1-80b4-00c04fd430c8
Authorization: Bearer {seamlr-access-token}

Response:

{
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"startTime": "2024-01-15T09:00:00Z",
"endTime": "2024-01-15T17:00:00Z",
"outletId": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"outletName": "Downtown Location",
"roleId": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
"roleName": "Server",
"slots": 3,
"assignedCandidates": [
{ "candidateId": "6ba7b813-9dad-11d1-80b4-00c04fd430c8" }
]
}

Request:

PUT /providers/{providerId}/shifts/{shiftId}/assign/{candidateId}
Authorization: Bearer {seamlr-access-token}

Response:

{
"success": true
}