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>" } }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"
}
}