Aller au contenu principal

Error codes

Auralith retourne des codes HTTP standards, avec un body JSON {"detail": "..."} ou {"detail": [...]} pour les erreurs de validation.

Codes courants

CodeSensQuand
200OKLecture / mutation OK
201CreatedCreation ressource
202AcceptedAction queued (job async, approbation requise)
204No ContentDELETE OK
400Bad RequestBody mal forme
401UnauthorizedPas de session valide ni d'API key valide
403ForbiddenAuthentifie mais pas le role requis
404Not FoundRessource inexistante OU pas accessible (pour eviter de leak l'existence)
409ConflictSlug deja pris, version concurrence
422Unprocessable EntityValidation Pydantic
429Too Many RequestsRate limit
500Internal Server ErrorBug Auralith — voir logs trace_id
502 / 503UpstreamDB cible injoignable, sink externe down

202 Accepted — particularite Auralith

Un certain nombre d'actions retournent 202 au lieu de 200 quand un workflow d'approbation se declenche :

{
"status": "pending_approval",
"approval_request_id": "...",
"message": "Cette action requiert une approbation. Une demande a ete creee."
}

Le client doit gerer ce cas explicitement (rediriger vers /approvals).

Validation 422

{
"detail": [
{
"loc": ["body", "host"],
"msg": "field required",
"type": "value_error.missing"
}
]
}

Erreurs metier specifiques

DetailSensAction
Quota exceeded: ...Plan limite atteintUpgrade plan ou purger
Guard rail violation: WHERE clause too permissiveMass Patch sans filtre suffisantAjouter WHERE precis
FK consistency error in anonymizationStrategy non FK-safe sur colonne FKChoisir hash avec meme salt
Approval expiredApprovalRequest > expires_atRe-emettre
Schema drift detected, blocking migrationCible drifte de baselineAcknowledger drift d'abord

Trace ID

Toute reponse Auralith inclut un header X-Trace-Id. Donnez-le au support pour permettre la recherche dans les logs structures.

X-Trace-Id: 4a8b9c1d-...

Pieges courants

  • 404 vs 403 : Auralith renvoie 404 quand la ressource existe mais n'est pas accessible, pour eviter de leak son existence (probing). Le 403 n'est retourne que si le user est authentifie ET la ressource est visible mais l'action specifique est interdite.
  • 500 sans contexte : noter le trace_id. Sans lui le support ne peut rien faire.

Voir aussi