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
| Field | Type | Required | Description |
|---|
status | string | Yes | "busy_external" or "available" |
reason | string | No | Human-readable reason, shown in the admin dashboard |
external_reference | string | No | Your 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 value | Internal status | Effect on dispatch |
|---|
busy_external | busy | Driver is skipped during Yonne dispatch |
available | active | Driver 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.