Aller au contenu

Codes de Réponse

L’API Apprise utilise les codes d’état HTTP standard. De nombreuses réponses d’erreur renvoient un court message en text/plain. Si vous demandez du JSON (en envoyant Accept: application/json), les réponses d’erreur incluent un champ error.

CodeSignificationOù vous le verrez
200OKLa requête a réussi.
204No ContentRien n’a été trouvé à récupérer ou à supprimer (/get, /cfg, /json/urls ou /del). La réponse n’a pas de corps.
302FoundL’interface Web a redirigé le navigateur après une connexion, une déconnexion ou la sélection d’une configuration. Les clients API ne devraient normalement pas recevoir cette réponse.
400Bad RequestLa requête contient une charge utile, un type, un format, un tag, un en-tête de récursion ou un mappage de champ invalide. Une requête /notify sans état et sans URL valide renvoie aussi ce code.
401UnauthorizedLes identifiants Basic Auth globaux ou propres à la clé étaient manquants ou invalides. L’en-tête WWW-Authenticate: Basic indique au client de demander les identifiants.
403ForbiddenLe paramètre du serveur ou le niveau d’accès actuel refuse la requête. Par exemple : stockage avec état désactivé, compte de configuration suspendu, liste /cfg indisponible ou contenu de configuration verrouillé.
404Not FoundLa route ou la configuration demandée n’existe pas. Cela inclut /notify/{KEY} lorsqu’aucune configuration n’est enregistrée pour la clé. Le mode strict renvoie également ce code pour toute route inconnue d’Apprise.
405Method Not AllowedLa route existe, mais ne prend pas en charge la méthode demandée. L’en-tête Allow indique les méthodes acceptées.
406Not AcceptableLa limite de récursion a été atteinte, ou la requête a été rejetée par une règle du serveur.
409ConflictUne configuration ne peut pas être déplacée, car l’ID de configuration de destination existe déjà.
413Content Too LargeNginx a rejeté un corps de requête dépassant la limite de la route ou du serveur. Les routes de connexion et d’authentification ont une limite plus basse que les téléversements de notification.
414URI Too LongNginx a rejeté une cible de requête trop longue.
417Expectation FailedLe contrôle d’état a détecté une condition bloquante (par exemple des permissions d’écriture manquantes).
421Misdirected RequestLe mode API-only est activé et une page de l’interface web a été demandée.
424Failed DependencyAu moins une notification n’a pas pu être envoyée.
429Too Many RequestsNginx a temporairement limité la requête. Les déploiements fournis renvoient Retry-After: 60 ; le client doit choisir la plus courte entre cette valeur valide et son attente bornée habituelle, ou conserver son attente habituelle si l’en-tête est absent ou invalide.
431Request Header Fields Too LargeLa requête a dépassé la limite de téléversement en mémoire configurée et Django l’a rejetée.
500Internal Server ErrorErreur côté serveur lors de l’enregistrement ou du chargement d’une configuration, ou erreur d’E/S inattendue.
502Bad GatewayNginx n’a pas pu obtenir de réponse valide du worker de l’application.
503Service UnavailableL’application est temporairement indisponible, ou tous les emplacements de flux en direct sont occupés. Lorsque ces emplacements sont occupés, la réponse inclut Retry-After: 15.
504Gateway TimeoutLe worker de l’application n’a pas répondu avant l’expiration du délai du proxy.
Questions ou commentaires ?

Documentation

Vous avez repéré une faute de frappe ou une erreur ?

Problèmes Techniques

Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :

Conçu avec amour depuis le Canada