Aller au contenu

Erreurs

Le format Problem Details et chaque code que l’API peut renvoyer.

Format des erreurs

Chaque erreur est un objet Problem Details (RFC 9457) servi en application/problem+json. Fiez-vous à status et à code ; detail est un texte anglais qui peut changer.

Format des erreurs
MembreDescription
typeToujours about:blank.
titleIntitulé HTTP standard, en anglais.
statusCode HTTP.
codeCode stable, lisible par une machine.
detailExplication en anglais, pour le développement.
request_idIdentifiant de la requête, aussi dans l’en-tête X-Request-Id. Citez-le quand vous signalez un problème.
errorsPour validation_failed seulement : les messages par paramètre.

Exemple

{
  "type": "about:blank",
  "title": "Unauthorized",
  "status": 401,
  "code": "invalid_api_key",
  "detail": "The API key is invalid or has been revoked.",
  "request_id": "…"
}

Codes d’erreur

Codes d’erreur
StatutCodeSignificationQue faire
401missing_api_keyAucune clé dans l’en-tête Authorization.Envoyez Authorization: Bearer suivi de la clé.
401invalid_api_keyClé inconnue, mal formée, expirée ou révoquée, ou projet inactif.Vérifiez la clé dans la console ou créez-en une autre.
403insufficient_scopeLa clé n’a pas l’accès exigé par cette route.Créez une clé avec cet accès.
404not_foundRoute inconnue, ou paramètre de chemin hors règles.Vérifiez le chemin et la méthode.
404place_not_foundAucun lieu avec cette référence dans le catalogue.Relancez une recherche : les références changent entre catalogues.
405method_not_allowedMéthode HTTP non acceptée.Utilisez GET.
422validation_failedUn paramètre manque ou ne respecte pas ses règles.Corrigez les paramètres listés dans errors.
429rate_limitedLimite de débit du projet atteinte.Attendez le nombre de secondes indiqué par Retry-After.
500internal_errorErreur inattendue du service.Réessayez plus tard avec un délai croissant ; citez le request_id.
503service_unavailableL’accès sandbox n’est pas encore ouvert aux clés de projet.Attendez l’ouverture de votre accès, sans réessayer en boucle.
503locality_catalog_unavailableCatalogue de localités indisponible.Réessayez plus tard.
503locality_catalog_invalidCatalogue de localités refusé par ses contrôles d’intégrité.Réessayez plus tard.
503locality_catalog_unsearchableLe catalogue ne contient aucune localité consultable.Réessayez plus tard.
503place_catalog_unavailableCatalogue de lieux indisponible.Réessayez plus tard.
503place_catalog_invalidCatalogue de lieux refusé par ses contrôles d’intégrité.Réessayez plus tard.

Réessayer sans aggraver

  • Ne renvoyez jamais une requête refusée en 4xx sans la modifier, sauf après 429.
  • Après 429, attendez les secondes indiquées par Retry-After.
  • Après une erreur 5xx, réessayez avec un délai croissant et un nombre limité de tentatives.