Aller au contenu

Référence des erreurs

Référence des erreurs

Toutes les erreurs de l’API qr3.app suivent la spécification RFC 7807 Problem Details avec le header Content-Type: application/problem+json.

{
"type": "https://docs.qr3.app/errors/not-found",
"title": "Not Found",
"status": 404,
"detail": "QR code qr_xxx not found"
}

errors/validation

HTTP 422 Unprocessable Entity

Les données d’entrée ont échoué à la validation du schéma. La réponse contient un tableau errors avec des détails précis par champ.

{
"type": "https://docs.qr3.app/errors/validation",
"title": "Validation Error",
"status": 422,
"detail": "Request body validation failed",
"errors": [
{ "field": "url", "message": "Invalid URL format" }
]
}

Causes : Champs obligatoires manquants, types de données incorrects, valeurs hors limites, format d’URL invalide.


errors/bad-request

HTTP 400 Bad Request

Le corps n’est pas un JSON valide bien que Content-Type: application/json soit défini (par exemple, une virgule traînante, un corps tronqué ou vide).


errors/authentication

HTTP 401 Unauthorized

La clé API est manquante, mal formatée, expirée ou révoquée.

Correction : Vérifiez que l’en-tête Authorization: Bearer qr3_sk_... est présent et que la clé est active.


errors/unauthorized

HTTP 401 Unauthorized

Un webhook entrant (POST /v1/webhooks/clerk, POST /v1/webhooks/eu-registry) a été appelé sans signature ou secret valide. Une clé API manquante ou invalide renvoie à la place errors/authentication.


errors/authorization

HTTP 403 Forbidden

La clé API est valide, mais ne possède pas le scope requis ou les permissions nécessaires.


errors/forbidden

HTTP 403 Forbidden

La ressource existe, mais appartient à un autre Workspace ou à une autre organisation.


errors/document-immutable

HTTP 403 Forbidden

Un document DPP téléversé avec is_immutable ne peut pas être supprimé.


errors/not-found

HTTP 404 Not Found

La ressource demandée n’existe pas ou a été supprimée.


errors/conflict

HTTP 409 Conflict

Une ressource avec le même identifiant unique existe déjà (par exemple, un slug en double ou une collision d’Idempotency-Key).


errors/subscription-exists

HTTP 409 Conflict

POST /v1/billing/checkout a été appelé alors que l’organisation possède déjà un abonnement. Modifiez plutôt le forfait dans le portail de facturation.


errors/rate-limited

HTTP 429 Too Many Requests

La limite de requêtes par minute de la clé API a été dépassée. La réponse contient les en-têtes Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset.


errors/rate-limit

HTTP 429 Too Many Requests

Une limite de requêtes spécifique à la ressource a été dépassée (par exemple, 200 codes QR par jour et par Workspace).


errors/plan-limit

HTTP 422 Unprocessable Entity

Votre forfait actuel ne permet pas cette action (par exemple, quota de DPP ou de codes dynamiques épuisé, lot trop volumineux, trop d’espaces de travail ou de membres de l’équipe). Mise à niveau requise.


errors/invalid-file-type

HTTP 400 Bad Request

Le fichier téléversé est d’un type que le point de terminaison n’accepte pas, ou son contenu ne correspond pas au Content-Type déclaré.


errors/file-too-large

HTTP 413 Payload Too Large

Le fichier téléversé dépasse la limite de taille du forfait ou du point de terminaison.


errors/storage-limit-exceeded

HTTP 422 Unprocessable Entity

Le téléversement dépasserait l’espace de stockage total de l’espace de travail ou du DPP.


errors/not-configured

HTTP 503 Service Unavailable

Un service ou une configuration requis est manquant (par exemple, Stripe non configuré, clé API Web Risk non définie).


errors/unsafe-url

HTTP 422 Unprocessable Entity

L’URL a été rejetée car elle a été classée comme dangereuse par Google Web Risk (malware, phishing, ingénierie sociale).


errors/url-flagged

HTTP 422 Unprocessable Entity

Réservé aux URL classées comme dangereuses ultérieurement lors de l’analyse périodique.


errors/already-submitted

HTTP 409 Conflict

Soumission en double — par exemple, un score NPS a déjà été soumis pour ce Workspace ce mois-ci.


errors/unprocessable-entity

HTTP 422 Unprocessable Entity

Une action d’administration n’est pas autorisée (par exemple, usurper l’identité d’un autre superadmin). Seuls les points de terminaison de superadmin renvoient ce type.


errors/request-error

HTTP 4xx Client Error

Type de repli pour les erreurs client sans type plus spécifique ; le statut se trouve dans la réponse. L’API n’a actuellement aucun chemin connu qui le renvoie.


errors/internal

HTTP 500 Internal Server Error

Une erreur inattendue est survenue sur le serveur. Veuillez réessayer la requête. Si le problème persiste : [email protected].