Erreurs de l'API

Toute erreur a le même format. Le champ doc de chaque réponse pointe vers l'ancre du code sur cette page.

{ "error": { "code": "<code>", "message": "<message en français>", "doc": "<origine>/docs/erreurs#<code>" } }

Retour à la documentation

missing_api_key — 401

Clé API manquante

Cause. La requête n'a pas d'en-tête Authorization.

Correction. Envoyez Authorization: Bearer <clé>. Pour essayer, la clé de démonstration publique est dans le quickstart.

Exemple réel : Requête sans en-tête Authorization

{
  "error": {
    "code": "missing_api_key",
    "message": "Clé API manquante : envoyez Authorization: Bearer <clé>",
    "doc": "https://data.eazy-media.fr/docs/erreurs#missing_api_key"
  }
}

invalid_api_key — 401

Clé API invalide

Cause. L'en-tête est présent mais la clé est mal formée, inconnue, révoquée, ou c'est une clé ez_test_ utilisée en production.

Correction. Vérifiez la clé copiée en entier (sans espace) et son état dans votre tableau de bord ; créez-en une nouvelle si elle est révoquée.

Exemple réel : Clé inconnue

{
  "error": {
    "code": "invalid_api_key",
    "message": "Clé API invalide ou révoquée",
    "doc": "https://data.eazy-media.fr/docs/erreurs#invalid_api_key"
  }
}

quota_exceeded — 429

Quota atteint

Cause. Le quota de votre clé est épuisé. La clé de démonstration est limitée à 100 appels par jour et par adresse IP.

Correction. Attendez la remise à zéro : date (secondes Unix) dans X-RateLimit-Reset, délai en secondes dans Retry-After. GET /v1/me donne le quota restant.

Exemple réel : Quota atteint

{
  "error": {
    "code": "quota_exceeded",
    "message": "Quota atteint : il se remet à zéro à la date X-RateLimit-Reset",
    "doc": "https://data.eazy-media.fr/docs/erreurs#quota_exceeded"
  }
}

invalid_parameter — 400

Paramètre ou corps refusé

Cause. Un paramètre de requête, le corps JSON ou l'en-tête Content-Type ne respecte pas la description de l'endpoint. Une seule erreur est renvoyée, et son message commence par le nom du paramètre fautif.

Correction. Lisez le message : il nomme le paramètre et dit la règle. Les valeurs reçues ne sont jamais recopiées dans le message.

Paramètre inconnu ou répété

Un paramètre inconnu ou répété est refusé en 400 : <nom> : paramètre inconnu ou <nom> : paramètre répété. Les paramètres de suivi (utm_source…) sont aussi refusés. Un nom de plus de 40 caractères est tronqué à 40 puis …. Dans le corps d'un POST, un champ inconnu donne <nom> : champ inconnu.

Nom de paramètre vide

Un nom de paramètre vide (?=1) donne le message : paramètre inconnu (une espace puis deux-points, sans nom) ; un nom réduit à une espace (?%20=1) donne deux espaces avant les deux-points. C'est le comportement actuel : le message n'écrit pas « nom vide ».

Corps du POST /v1/irve/conformite

content-type doit être application/json ; corps est trop gros (100000 octets au plus) ; ids doit contenir de 1 à 1000 identifiants.

Exemple réel : Valeur hors bornes

{
  "error": {
    "code": "invalid_parameter",
    "message": "rayon_m doit être entre 1 et 50000",
    "doc": "https://data.eazy-media.fr/docs/erreurs#invalid_parameter"
  }
}

Exemple réel : Paramètre inconnu

{
  "error": {
    "code": "invalid_parameter",
    "message": "puissance_min : paramètre inconnu",
    "doc": "https://data.eazy-media.fr/docs/erreurs#invalid_parameter"
  }
}

not_found — 404

Ressource introuvable

Cause. L'URL ne correspond à aucun endpoint. Sans clé, une URL non publique répond d'abord 401 missing_api_key.

Correction. Comparez avec la référence (/docs) ou avec GET /v1/openapi.json. Une barre finale est redirigée en 308 vers l'URL sans barre.

Exemple réel : URL inconnue, avec une clé valide

{
  "error": {
    "code": "not_found",
    "message": "Ressource introuvable",
    "doc": "https://data.eazy-media.fr/docs/erreurs#not_found"
  }
}

method_not_allowed — 405

Méthode non autorisée

Cause. L'API est en lecture seule : seuls GET, HEAD et OPTIONS sont acceptés, plus POST sur /v1/irve/conformite.

Correction. Utilisez une méthode listée dans l'en-tête Allow de la réponse.

Exemple réel : POST sur /v1/irve/bornes

{
  "error": {
    "code": "method_not_allowed",
    "message": "Méthode POST non autorisée",
    "doc": "https://data.eazy-media.fr/docs/erreurs#method_not_allowed"
  }
}

internal — 500

Erreur interne

Cause. Une panne côté Eazy API. Elle n'a pas de cause côté client.

Correction. Réessayez avec une attente croissante ; si elle persiste, signalez-la en indiquant l'heure et l'URL appelée.

Exemple réel : Panne du serveur

{
  "error": {
    "code": "internal",
    "message": "Erreur interne du serveur",
    "doc": "https://data.eazy-media.fr/docs/erreurs#internal"
  }
}