Shifts
Manage operator-scoped rider shifts (blocks) through the v3 Platform API.
Authentication and scopes
Section titled “Authentication and scopes”- Required API-client scope:
shifts:readfor list/get. - Required API-client scope:
shifts:writefor create/update/delete/check-in/check-out. - Every resource is scoped to the caller’s operator. An inaccessible shift, runner, retreat point, or territory returns 404 to prevent ID probing.
Mutation rules
Section titled “Mutation rules”- Times must be ISO-8601 values with offsets;
startmust precedestop; a shift may not exceed 12 hours. - Assigned runners must be active, non-archived runners owned by the caller’s operator.
hourly_rateandbonus_paymust be between 0 and 10,000.- Rider overlaps return 409.
- Toast-clocked shifts reject time, rider, location, and delete changes with 409.
- Check-in and check-out are separate idempotent operations.
- Create accepts
Idempotency-Key; reuse a key only when retrying the same create request.
Advanced forecasting
Section titled “Advanced forecasting”chomp_run_id and schedule_id are only for advanced forecasting workflows. General API consumers should omit both.
Responses and auditing
Section titled “Responses and auditing”Success uses { "type": "success", "data": ... }. Validation returns 400; unauthenticated returns 401; inaccessible/unknown returns 404; overlap, Toast lock, and duplicate in-progress idempotency return 409. Public responses omit rider credentials, payout IDs, Toast GUIDs, and other internal fields. Mutation audit metadata is sanitized and never persists Authorization, cookie, or API-key headers.

