Gestion des erreurs
Le format d'erreur, chaque code d'état retourne l'API et comment utiliser les ID de requête.
État public de l'API
L'API v1 utilise les clés porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte- porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte-porte--porte-------porte------pere-pere.
Format d'erreur
Chaque erreur a la même forme JSON:
{
"error": {
"code": "not_found",
"message": "Resource not found."
},
"request_id": "9fd120d8-f54e-4413-bc52-a860800ff222"
}Erreurs de validation ajouter un objet fields avec des messages par champ :
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"currency": ["The selected currency is invalid."],
"due_date": ["The due date field is required."]
}
},
"request_id": "89a24d53-684a-4e1d-b0ee-2f6a5a7cd2c2"
}Les réponses aux erreurs ne comprennent jamais les traces de pile, les secrets ou les données d'autres entreprises.
Codes d'état
| État | error.code |
Lorsque |
|---|---|---|
401 |
unauthenticated |
Clé API manquante, invalide ou expirée. |
403 |
forbidden |
La clé n'a pas la portée ou le propriétaire, l'adhésion ou l'entreprise de la clé n'est pas admissible. |
404 |
not_found |
La ressource n'existe pas or appartient à une autre entreprise. |
409 |
conflict |
Clé d'Idempotency réutilisée avec un corps différent, stale expected_version, duplicata external_reference, ou un changement de brouillon seulement sur une créance non-projet. |
422 |
validation_failed |
Un champ est manquant ou invalide, le Idempotency-Key est manquant, ou un changement de statut n'est pas autorisé. |
429 |
rate_limited |
Trop de requêtes — voir Limites de taux. |
500 |
server_error |
Quelque chose s'est mal passé de notre côté. Réessayez plus tard avec le même Idempotency-Key. |
Demander des identifiants
Chaque réponse porte un en-tête X-Request-Id. Les réponses d'erreur et les réponses de lecture l'incluent également comme request_id dans le corps. Inclure lorsque vous contactez le support afin que la demande puisse être retracée.
Réessayer en toute sécurité
- Réessayer les erreurs
429,500et réseau avec backoff. - Pour écrire, reessayez avec le corps same
Idempotency-Keyet le corps same; vous obtiendrez le résultat original au lieu d'un duplicata. - Ne pas réessayer la validation
4xxou les erreurs de conflit inchangés — corrigez la requête en premier.