Aller au contenu principal

Codes d'erreur

Toutes les erreurs API suivent un format cohérent. Les réponses REST utilisent des codes de statut HTTP accompagnés de corps d'erreur structurés. Les réponses gRPC incluent les champs error_code et error_message.

Format des réponses d'erreur

{
"success": false,
"error": {
"code": "MARKET_NOT_FOUND",
"message": "Market with id abc-123 not found",
"details": {}
}
}

Erreurs de marché

CodeStatut HTTPDescription
MARKET_NOT_FOUND404Le marché avec l'identifiant fourni n'existe pas
MARKET_NOT_OPEN400Le marché n'est pas au statut OPEN — les transactions ne sont pas autorisées
MARKET_ALREADY_RESOLVED409Le marché a déjà été résolu
MARKET_INVALID_STATUS_TRANSITION400Changement de statut invalide (par exemple, tenter d'ouvrir un marché déjà fermé)
VALIDATION_ERROR400La devise n'est pas dans la liste supportedCurrencies de l'opérateur

Erreurs d'ordre

CodeStatut HTTPDescription
ORDER_NOT_FOUND404L'ordre avec l'identifiant fourni n'existe pas
ORDER_INVALID_PRICE400Le prix est en dehors de la plage autorisée (0.01–0.99)
ORDER_INVALID_SHARES400Le nombre de parts est en dehors de la plage autorisée (1–100 000)
ORDER_INSUFFICIENT_FUNDS400Fonds insuffisants pour passer l'ordre
ORDER_CANNOT_CANCEL400L'ordre n'est pas dans un statut annulable (doit être PENDING ou PARTIAL)
ORDER_NO_LIQUIDITY400Aucun ordre correspondant disponible pour un ordre au marché

Erreurs de position

CodeStatut HTTPDescription
POSITION_NOT_FOUND404La position n'existe pas
POSITION_INSUFFICIENT_SHARES400L'opérateur ne détient pas suffisamment de parts pour vendre

Erreurs de catégorie

CodeStatut HTTPDescription
CATEGORY_NOT_FOUND404La catégorie avec l'identifiant fourni n'existe pas
CATEGORY_DUPLICATE_SLUG409Une catégorie avec ce slug existe déjà pour l'opérateur

Erreurs de règlement

CodeStatut HTTPDescription
SETTLEMENT_FAILED500Le traitement du règlement a rencontré une erreur
SETTLEMENT_ALREADY_COMPLETED409Le règlement a déjà été effectué

Erreurs d'authentification

CodeStatut HTTPDescription
UNAUTHORIZED401Identifiants d'authentification manquants ou invalides

Erreurs générales

CodeStatut HTTPDescription
VALIDATION_ERROR400La validation du corps de la requête a échoué — consultez le message d'erreur pour plus de détails
INTERNAL_ERROR500Une erreur interne inattendue s'est produite
NOT_FOUND404La ressource demandée est introuvable
FORBIDDEN403Vous n'avez pas la permission d'effectuer cette action
CONFLICT409La requête est en conflit avec l'état actuel de la ressource

Erreurs de validation d'ordre

Ces erreurs sont retournées lorsque le passage d'un ordre échoue à la validation :

Message d'erreurDescription
Market not foundLe marketId spécifié n'existe pas
Market is not open for tradingLe statut du marché n'est pas OPEN
Trading has not started yetL'heure actuelle est antérieure à tradingStartsAt
Trading has endedL'heure actuelle est postérieure à tradingEndsAt
Invalid outcome for this marketL'outcomeId n'appartient pas à ce marché
Shares must be greater than 0La valeur des parts est nulle ou négative
Shares must be at least {min}Inférieur au nombre minimum de parts
Shares must be at most {max}Supérieur au nombre maximum de parts
Price is required for LIMIT ordersL'ordre LIMIT ne contient pas de champ de prix
Price must be between {min} and {max}Prix en dehors de la plage autorisée
Insufficient shares to sellL'ordre SELL dépasse la position de l'opérateur

Récapitulatif des codes de statut HTTP

StatutUtilisation
200Récupération ou mise à jour réussie
201Création réussie (marchés, ordres, catégories)
400Erreur de validation ou requête incorrecte
401Authentification requise
403Permissions insuffisantes
404Ressource introuvable
409Conflit d'état
500Erreur interne du serveur