Errors
Every failed response carries the same body:
json
{ "message": "Bu tarih/saat için çakışan randevu var", "code": "SLOT_CONFLICT" }codeis stable; branch on it.messageis for humans and may change. Messages from the store handlers are Turkish; the partner layer's own messages followAccept-Language: en.- Some errors carry extra fields (e.g.
uncoveredonSERVICE_AREA_NOT_COVERED, the existingescrowonESCROW_EXISTS).
Validation errors
A body or query that does not fit the schema gets 400 VALIDATION_ERROR and a per-field list:
json
{
"message": "The request failed validation.",
"code": "VALIDATION_ERROR",
"location": "body",
"issues": [
{
"path": "items.0.quantity",
"message": "Too big: expected number to be <=99",
"code": "too_big"
}
]
}Status codes
| Status | Meaning |
|---|---|
| 400 | Invalid request |
| 401 | Invalid key (PARTNER_KEY_INVALID) |
| 403 | Role or scope insufficient, or the record is not yours |
| 404 | Not found, or not visible to you |
| 409 | The record's state does not allow it (SLOT_CONFLICT, ESCROW_EXISTS…) |
| 422 | Unprocessable (SERVICE_AREA_NOT_COVERED…) |
| 429 | Rate limited (RATE_LIMITED) |
| 5xx | Server or upstream error; you may retry |
Each endpoint's possible codes are listed under its responses in the reference.