Skip to Content

Erreurs

Toute erreur a la même forme :

{ "error": { "type": "invalid_request_error", "code": "parameter_invalid", "message": "Le champ url est obligatoire.", "param": "url", "doc_url": "https://docs.ophelix.fr/erreurs#parameter_invalid", "request_id": "req_…" } }

Comparez code dans votre programme : il est stable. message s’adresse à un humain et peut changer. Une erreur de validation ajoute errors, la liste de tous les champs fautifs. Transmettez request_id au support : chaque réponse le répète dans l’en-tête Request-Id.

doc_url mène à l’ancre du code, sur cette page.

typeStatutCe qu’il faut faire
invalid_request_error404, 405, 409, 410, 422, 426Corriger la requête
authentication_error401, 419Vérifier la clé
permission_error403Élargir les droits de la clé, ou utiliser le bon mode
rate_limit_error429Attendre le délai de Retry-After
idempotency_error409Voir Idempotence
api_error500, 503Réessayer avec la même clé d’idempotence

Requête invalide

parameter_invalid

422 invalid_request_error

Un champ ne convient pas. param le nomme, errors liste tous les champs fautifs. Corrigez la requête.

parameter_missing

422 invalid_request_error

Un champ obligatoire manque. param le nomme, errors liste tous les champs fautifs.

parameters_exclusive

422 invalid_request_error

Deux paramètres s’excluent, par exemple starting_after et ending_before. Gardez-en un.

resource_missing

404 invalid_request_error

L’objet n’existe pas, n’appartient pas à votre organisation ou vit dans l’autre mode. Une clé de test ne voit pas un objet de production. Un préfixe faux répond la même chose.

route_not_found

404 invalid_request_error

Cette route n’existe pas. Vérifiez le chemin dans la référence.

method_not_allowed

405 invalid_request_error

La route existe, pas avec cette méthode. L’en-tête Allow dit lesquelles conviennent.

api_version_invalid

422 invalid_request_error

Ophelix-Version porte une version inconnue. Voir Conventions.

conflict

409 invalid_request_error

L’objet n’est pas dans le bon état pour cette action : une facture déjà signée ne se modifie plus, un retour simulé arrive hors de son cycle. Relisez l’objet.

card_unreadable

422 invalid_request_error

La carte ne se lit pas. En mode test, le scénario vitale_unreadable donne ce résultat.

card_blocked

422 invalid_request_error

La carte est bloquée après trois codes faux. En mode test, le scénario cps_blocked donne ce résultat.

token_invalid

410 invalid_request_error

Le lien ou le jeton a expiré ou a déjà servi. Demandez-en un nouveau depuis le tableau de bord.

pairing_code_invalid

404 invalid_request_error

Le code d’appairage est inconnu, expiré, annulé ou déjà consommé. Créez-en un autre. Voir Postes.

pairing_transfer_required

409 invalid_request_error

Ce poste appartient déjà à une organisation. Confirmez le rattachement par POST /v1/workstation-pairing-codes/{id}/confirm-transfer, ou annulez le code.

agent_outdated

426 invalid_request_error

L’agent de poste est trop ancien. Mettez-le à jour : minimum_version dit le minimum. Le code d’appairage reste valable.

claim_invalid

422 invalid_request_error

La facture enfreint au moins une règle et reste un brouillon. violations liste tout ce qui ne va pas, avec rule, message, param et line, l’identifiant de la prestation visée, ou null. Voir Factures.

Authentification

authentication_required

401 authentication_error

Aucune clé n’accompagne la requête. Passez Authorization: Bearer sk_test_….

session_expired

419 authentication_error

La session du tableau de bord a expiré. Rechargez la page. Ce code ne concerne pas une clé d’API.

invalid_api_key

401 authentication_error

Cette clé n’existe pas ou a été révoquée. Voir Clés d’API.

api_key_expired

401 authentication_error

Cette clé a atteint son échéance, souvent la fin du recouvrement après une rotation. Utilisez sa remplaçante.

invalid_credentials

401 authentication_error

Adresse ou mot de passe faux, à la connexion au tableau de bord. Ce code ne concerne pas une clé d’API.

invalid_workstation_token

401 authentication_error

Le jeton du poste est inconnu. L’agent revient à l’appairage.

Permission

permission_denied

403 permission_error

Votre rôle ne permet pas cette action dans le tableau de bord.

insufficient_scope

403 permission_error

La clé est valable, mais elle ne porte pas le droit que la route demande : par exemple events:read ou claims:write. Une écriture n’implique pas la lecture. Créez une clé restreinte avec le droit manquant, ou utilisez une clé secrète.

two_factor_required

403 permission_error

Le tableau de bord demande un second facteur pour ce compte. L’API, elle, ne passe que par les clés.

email_not_verified

403 permission_error

Confirmez votre adresse avant de créer une clé.

live_not_activated

403 permission_error

La production n’est pas ouverte pour cette organisation. Restez en mode test.

test_mode_only

403 permission_error

Cette route ne sert qu’en mode test : prenez une clé sk_test_….

workstation_revoked

403 permission_error

Ce poste a été révoqué. Pour le réutiliser, appairez-le avec un nouveau code.

Débit

rate_limit_exceeded

429 rate_limit_error

Trop de requêtes. Attendez le délai de Retry-After. Voir Conventions.

Idempotence

idempotency_key_reused

409 idempotency_error

Cette clé d’idempotence a déjà servi avec un autre corps. Générez-en une nouvelle. Voir Idempotence.

idempotency_key_in_progress

409 idempotency_error

La première requête tourne encore. Réessayez un instant plus tard, avec la même clé.

Erreur de l’API

engine_unavailable

503 api_error

Le moteur de facturation ne répond pas. Tant qu’il n’est pas raccordé, les écritures de facture répondent ce code en production. Rejouez avec la même clé d’idempotence.

workstation_ca_unavailable

503 api_error

Le certificat du poste n’a pas pu se signer. Réessayez : le code d’appairage n’est pas consommé.

api_error

500 api_error

Erreur de notre côté. Rejouez avec la même clé d’idempotence. Si elle persiste, transmettez request_id au support.

Mis à jour le