Format des erreurs
Toutes les erreurs partagent une forme commune. Le champ code est stable et peut être utilisé pour brancher de la logique côté client.
Format de réponse
En cas de validation, message est un tableau de violations ; sinon une chaîne. Le champ statusCode reflète le statut HTTP. Le champ path est utile pour la corrélation côté client.
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"code": "VALIDATION_FAILED",
"message": [
"pickup must be a string",
"scheduledAt must be a valid ISO 8601 date string"
],
"statusCode": 400,
"timestamp": "2026-04-29T08:21:14.512Z",
"path": "/v1/trips"
}Catalogue des codes
| Code | HTTP | Description |
|---|---|---|
UNAUTHORIZED | 401 | API key is missing, malformed, expired, or revoked. Check your Authorization header. |
RATE_LIMITED | 429 | Tier rate limit exceeded. The Retry-After header tells you how many seconds to wait. |
IDEMPOTENCY_KEY_REQUIRED | 400 | POST /v1/trips requires an Idempotency-Key header. |
IDEMPOTENCY_KEY_INVALID | 400 | The header value is not 8-200 chars matching [A-Za-z0-9_-:.]. |
IDEMPOTENCY_KEY_CONFLICT | 409 | Same Idempotency-Key reused with a different request body. Generate a fresh key for new requests. |
IDEMPOTENCY_KEY_IN_PROGRESS | 409 | A request with this Idempotency-Key is currently being processed. Retry shortly. |
VALIDATION_FAILED | 400 | Request body or query string failed schema validation. The "message" field lists each violation. |
CLIENT_REQUIRED | 400 | POST /v1/trips needs either "client" (new rider) or "clientId" (existing). |
VEHICLE_NOT_FOUND | 400 | vehicleId does not belong to the caller. |
PRICING_SCHEME_NOT_FOUND | 400 | pricingSchemeId does not belong to the caller. |
PRICING_SCHEME_REQUIRED | 400 | No default pricing scheme is set on the user account. Configure one in the dashboard or pass pricingSchemeId. |
PRICING_SCHEME_NOT_QUOTE_CAPABLE | 400 | Pricing scheme must be of type STANDARD for the public API quote endpoint. |
SERVICE_TIER_NOT_FOUND | 400 | serviceTierId does not exist. |
TRIP_NOT_FOUND | 404 | Trip id does not exist or does not belong to the caller. |
TRIP_ALREADY_CANCELLED | 400 | The trip is already in CANCELLED state. |