Aller au contenu

Référence des erreurs

Toutes les réponses d'erreur ont la même structure. Code de statut + code lisible par une machine + message pour un humain + field facultatif qui désigne l'entrée en cause.

Enveloppe

{
  "success": false,
  "error": "Content length (5000) exceeds maximum allowed (4296 characters).",
  "code": "CONTENT_TOO_LONG",
  "field": "content"
}

Codes de statut HTTP

StatutSignification
200Succès
400Erreur de validation : corrigez l'entrée et réessayez
401En-tête d'authentification absent ou incorrect
402Passerelle des clés utilisateur : formule Studio manquante ou crédits API épuisés
404Endpoint introuvable
413Corps trop volumineux (>10 MB) ou, via la passerelle des clés utilisateur, un fichier généré de plus de 10 MB (output_too_large)
422Le moteur n'a pas pu produire un QR scannable, même après correction automatique (QR_UNSCANNABLE), ou la sortie dépasserait le budget (OUTPUT_TOO_COMPLEX)
429Limite de débit : voir Retry-After
500Erreur interne : journalisez et réessayez
503Serveur occupé (nombreux rendus simultanés) ou fournisseurs IA à court de capacité (AI_QUOTA_EXCEEDED)

Erreurs de validation (400)

CodeSignification
MISSING_REQUIRED_FIELDcontent (ou prompt sur les endpoints IA) est vide
CONTENT_TOO_LONGContenu encodé > 4296 caractères (maximum théorique d'un QR)
INVALID_JSONLe corps n'est pas un JSON valide
INVALID_HEXUne couleur n'est pas au format #RGB, #RRGGBB ou #RRGGBBAA
INVALID_FIELD_VALUEGénérique : field vous indique lequel
VALUE_OUT_OF_RANGEChamp numérique hors des bornes documentées
LOW_CONTRASTpremier plan vs arrière-plan < 4:1 ; le moteur ne peut pas corriger automatiquement
LOGO_TOO_LARGElogoSizePercent > 25 avec un ECC < H
FILE_TOO_LARGEEnvoi multipart > 10 MB
MULTIPART_CONFIG_MISSINGChamp config absent de la requête form-data

Erreurs d'authentification (401)

CodeSignification
UNAUTHORIZEDX-RapidAPI-Proxy-Secret absent ou incorrect
INVALID_INTERNAL_SIGNATUREÉchec de la vérification HMAC du BFF
INTERNAL_TS_EXPIREDHorodatage du BFF hors de la fenêtre de ±60 s
LLM_API_KEY_INVALIDVotre clé de fournisseur (uniquement sur l'endpoint IA de la marketplace)

Erreurs de la passerelle des clés utilisateur

La passerelle https://qr-branding.com/api/v1/* (Clés API utilisateur) ajoute ses propres codes, en minuscules, avec la même enveloppe success / error / code :

StatutCodeSignification
400invalid_bodyLe corps n'a pas pu être interprété
401missing_api_keyL'en-tête X-API-Key est absent
401invalid_api_keyClé non reconnue, révoquée ou mal formée
402studio_requiredLa clé est valide, mais le compte n'a pas de pack Studio actif. Inclut les liens docs et pricing
402out_of_api_creditsGénération IA sur nos clés sans crédits Studio restants. Inclut les liens docs et pricing
413payload_too_largeCorps de plus de 1 Mio
413output_too_largeLe fichier généré dépasse 10 MB. Demandez du PNG ou un outputWidth plus petit
415multipart_not_supportedLa passerelle n'accepte que du JSON

Erreurs du paiement

POST /api/checkout (le bouton d'achat de /pricing) répond { "error": "withdrawal_waiver_required" } quand l'accord manque :

StatutCodeSignification
400withdrawal_waiver_requiredLa case précédant le paiement (accord et renonciation au droit de rétractation) n'a pas été cochée. Voir Tarifs et crédits

Erreurs de génération IA

CodeSignification
AI_GENERATION_FAILEDLe LLM n'a renvoyé aucune configuration exploitable : essayez un prompt plus clair
AI_REQUEST_TIMEOUTAucun fournisseur de la chaîne de repli n'a répondu dans le délai total de 45 s (20 s au plus chacun). Répond 503 ; réessayez dans un instant
AI_QUOTA_EXCEEDEDTous les fournisseurs de la chaîne de repli ont refusé pour quota ou plafond de dépenses. Répond 503 ; réessayer tout de suite ne sert à rien, réessayez plus tard
AI_CONFIG_INVALIDLe LLM a renvoyé une configuration rejetée par le moteur (rare ; réessayez avec une créativité plus basse)
INVALID_LLM_PROVIDERMarketplace uniquement : llmProvider ne fait pas partie de openai anthropic google mistral cohere groq xai deepseek qwen local
INVALID_LLM_MODELMarketplace uniquement : llmModel n'a pas le format d'un identifiant de modèle

Erreurs de budget de sortie (422)

CodeSignification
OUTPUT_TOO_COMPLEXLe design produirait un SVG ou un PDF de plus de 20 MB, ou un canevas raster interne de plus de 5120 px de côté. La taille d’un SVG croît avec le nombre de modules : un modèle avec une URL courte pèse ~1,5 MB, avec une URL de 300 caractères ~17 MB. Exportez en PNG, raccourcissez le contenu ou utilisez des formes de modules plus simples

Erreurs serveur (500/503)

CodeSignification
INTERNAL_ERRORInattendu : signalez-le avec l'identifiant de la requête
QR_GENERATION_FAILEDLe moteur de rendu lui-même a levé une exception. Inclut le champ en cause lorsqu'il est connu
SERVER_BUSYTrop de rendus haute résolution simultanés. Patientez et réessayez

Contraintes de validation des champs

ChampContrainte
content1–4296 caractères
prompt (IA)1–10000 caractères
creativity (IA)0.0–1.0
pixelsPerModule1–100
outputWidth / outputHeight64–4096
logoSizePercent3–40 (le moteur plafonne en douceur à 25 avec l'ECC H)
moduleScale0.5–1.0
moduleSizeVariation0.0–0.15 (plafond souple ; au-delà, le scan ne fonctionne plus)
qrShapeRadius0–50
Taille du fichier de logo / de fond≤ 10 MB
Types d'image de logo / de fondPNG, JPG, GIF, BMP, WebP
Document SVG / PDF≤ 20 MB (OUTPUT_TOO_COMPLEX)
Fichier via la passerelle des clés utilisateur≤ 10 MB (output_too_large)