Skip to main content
When your system assigns a driver to a job outside of the Yonne platform, use this endpoint to mark them as busy. Yonne will skip that driver during dispatch until you mark them available again.

Endpoint

PUT /api/courier/s2s/riders/{rider_id}/status
Requires: Authorization: Bearer <token> — see Authentication.

Mark a driver busy

curl --request PUT "https://api.yonne.app/api/courier/s2s/riders/99/status" \
  --header "Authorization: Bearer <token>" \
  --header "Content-Type: application/json" \
  --data '{
    "status": "busy_external",
    "reason": "Assigned to partner delivery",
    "external_reference": "EXT-456"
  }'

Mark a driver available

curl --request PUT "https://api.yonne.app/api/courier/s2s/riders/99/status" \
  --header "Authorization: Bearer <token>" \
  --header "Content-Type: application/json" \
  --data '{
    "status": "available"
  }'

Request body

FieldTypeRequiredDescription
statusstringYes"busy_external" or "available"
reasonstringNoHuman-readable reason, shown in the admin dashboard
external_referencestringNoYour cross-system job ID — stored against the driver record

Success response

{
  "driver_id": 99,
  "driver_reference_id": "DR-099",
  "status": "busy",
  "updated_at": "2026-06-17T10:00:00Z"
}

Status mapping

S2S valueInternal statusEffect on dispatch
busy_externalbusyDriver is skipped during Yonne dispatch
availableactiveDriver is eligible for Yonne dispatch
The response returns the internal status value ("busy" or "active"), not the S2S value you sent. This is expected.

When to use external_reference

If your system has a job ID for the external assignment (e.g. "EXT-456"), pass it as external_reference. Yonne stores it against the driver record — this helps admin staff cross-reference jobs when investigating driver availability issues.