Skip to content

Claim shift

PATCH {{baseUrl}}/shifts/claim

Claims an open shift. Source: models/shifts.ts claim().

Response fields:

  • status — a ShiftResultStatus enum value: Success, Overlap (conflicts with another shift you hold — data will contain the conflicting Shift[]), InvalidBounds, NoUser, Unauthorized, or UnkownError (sic — real typo in the enum, not a doc error).
  • shift — present on Success, the claimed Shift row.
{
"id": "<shift-id>",
"user_id": "{{userId}}"
}
Terminal window
curl --request PATCH 'https://api.firstdelivery.com/api/shifts/claim' \
--header 'Content-Type: application/json' \
--data '{
"id": "<shift-id>",
"user_id": "{{userId}}"
}'
{
"status": "Success",
"shift": {
"id": "<shift-id>",
"user_id": "8e17d5db-da6e-453c-966f-bfc72c125094",
"start": "2026-06-23T16:00:00.000Z",
"stop": "2026-06-23T20:00:00.000Z",
"retreat_point": "c1d2e3f4-1111-4a2b-9c3d-4e5f6a7b8c9d",
"hourly_rate": 18,
"length_hours": 4,
"checked_in": null,
"cash": false,
"hotbag": false
}
}