Cette page répertorie les messages de réponse que chaque point de terminaison documenté de l'API Compliance renvoie, la cause et la correction.
L'API Compliance renvoie les erreurs dans le format d'erreur Anthropic standard : un code de statut non-2xx, un en-tête de réponse request-id et un corps JSON avec un objet error contenant type et message. Incluez la valeur de l'en-tête request-id lorsque vous escaladez au support.
{
"error": {
"type": "authentication_error",
"message": "The API key provided is invalid or has been revoked."
}
}Effectuez la correspondance sur error.type, et non sur la chaîne du message. Les messages sont suffisamment stables pour être copiés dans des runbooks, mais peuvent être reformulés au fil du temps ; les valeurs de type font partie du contrat de l'API. Les points de terminaison de session locale présentent quelques exceptions documentées où des réponses partageant un même type se distinguent par leur message ; chacune est signalée là où elle s'applique.
Le tableau suivant vous indique en un coup d'œil s'il faut réessayer. Chaque section qui suit présente le corps d'erreur exact et la correction.
| Statut | Réessayer ? | Quand |
|---|---|---|
| 400 Bad Request | Non | Corrigez la requête et renvoyez-la. |
| 401 Unauthorized | Non | Corrigez ou faites tourner la clé, puis renvoyez. |
| 403 Forbidden | Non | Ajoutez le scope manquant ou utilisez le bon type de clé, puis renvoyez. |
| 404 Not Found | Généralement non | La ressource a été supprimée ou n'a jamais existé ; retirez-la de votre file d'attente. Exceptions : une session distante encore en statut pending renvoie 404 sur son point de terminaison de messages jusqu'à ce qu'elle démarre ; voir Session distante introuvable. Sur les points de terminaison de session locale, le message Local sessions are not available. (renvoyé à chaque appel, y compris la liste) signifie que les points de terminaison sont actuellement indisponibles pour votre organisation parente, et non qu'une session a disparu ; conservez vos ID en file d'attente et voir Session locale introuvable. |
| 409 Conflict | Non | La requête entre en conflit avec l'état actuel de la ressource ; résolvez le conflit (par exemple en détachant les ressources enfants), puis réessayez. |
| 429 Too Many Requests | Oui, après retry-after | Attendez le nombre de secondes indiqué dans retry-after, puis réessayez ; n'avancez pas votre curseur. |
| 500 Internal Server Error | Dépend de x-should-retry | Vérifiez l'en-tête de réponse x-should-retry avant de réessayer. |
| 502, 503, 504, 529 | Oui, avec backoff | Transitoire ; réessayez avec un backoff exponentiel. Exception : une erreur 503 de session locale dépend des données et peut persister ; voir Sessions locales temporairement indisponibles. |
La requête était syntaxiquement valide mais contenait un paramètre que le serveur a rejeté. Corrigez le paramètre et réessayez.
Type : invalid_request_error
The `created_at.gte` parameter contains an invalid timestamp format. Timestamps must be provided in RFC 3339 format e.g., "2024-03-01T00:00:00Z". Got "2024-01-01".Cause : Une valeur created_at.* ou updated_at.* (.gte, .gt, .lte, .lt) n'a pas pu être analysée comme une date-heure. Le message nomme le paramètre qui a échoué et reproduit la valeur qui a été envoyée.
Correction : Envoyez un horodatage RFC 3339 complet incluant l'heure et le fuseau horaire, par exemple 2024-03-01T00:00:00Z ou 2024-03-01T00:00:00+00:00.
La liste des sessions locales (GET /v1/compliance/apps/sessions/local) renvoie également une erreur 400 invalid_request_error lorsque les deux bornes temporelles sont fournies et que created_at.lt n'est pas strictement postérieur à created_at.gte. Le corps indique :
created_at.lt must be strictly after created_at.gte.Envoyez un created_at.lt postérieur à created_at.gte, ou omettez l'une des bornes.
Type : invalid_request_error
The limit parameter must be between 1 and 1000, inclusive. Got 1500.Cause : Le paramètre de requête limit était en dehors de la plage acceptée. La borne nommée dans le message reflète le maximum pour le point de terminaison spécifique qui a été appelé.
Correction : Envoyez un limit dans la plage acceptée par le point de terminaison. Chaque point de terminaison de liste a sa propre plage limit ; consultez les contraintes de paramètres sur la page correspondante de la référence de l'API Compliance.
Les points de terminaison de transcription de session (GET /v1/compliance/apps/sessions/remote/{session_id}/messages et GET /v1/compliance/apps/sessions/local/{session_id}/messages) valident leurs paramètres de troncature de la même manière : tool_use_input_max_bytes et tool_result_max_bytes acceptent chacun un nombre d'octets positif ou -1 (le maximum du serveur), donc une valeur telle que 0 renvoie la même erreur 400 invalid_request_error.
Type : invalid_request_error
Invalid `after_id`. No activity found for `after_id` "activity_invalid123"Cause : Le curseur after_id ou before_id n'a pas pu être décodé comme un curseur opaque ou analysé comme un ID d'activité.
Correction : Traitez les curseurs de pagination comme des chaînes opaques. Copiez toujours la valeur first_id ou last_id renvoyée par la page précédente ; arrêtez-vous lorsque has_more est false. Ne construisez pas de curseurs à partir d'ID d'objets.
Les points de terminaison d'annuaire, de projet et de session (organisations, utilisateurs, rôles, permissions de rôle, groupes, membres de groupe, projets, pièces jointes de projet, sessions locales et distantes, et messages de session) paginent avec un jeton page opaque plutôt qu'avec after_id et before_id. Le même conseil s'applique : transmettez la valeur next_page de la réponse précédente sans modification, et arrêtez-vous lorsque has_more est false (ou, sur les points de terminaison de session, qui ne renvoient pas de has_more, lorsque next_page est null). Un jeton page mal formé renvoie la même erreur 400 invalid_request_error qu'un after_id ou before_id mal formé.
Les deux points de terminaison de session locale (la liste et le point de terminaison de messages) renvoient l'erreur 400 invalid_request_error suivante pour toute valeur page qu'ils ne peuvent pas décoder, par exemple un jeton qui a été tronqué ou modifié après que vous l'avez stocké, ou un jeton émis par un point de terminaison différent ou sous une organisation parente différente. Sur le point de terminaison de messages de session locale (GET /v1/compliance/apps/sessions/local/{session_id}/messages), chaque curseur page est également lié à la session et à l'order pour lesquels il a été émis, donc un curseur émis pour une session ou un ordre de tri différent renvoie le même corps :
The page parameter is not a valid cursor for this request.Les curseurs sur le point de terminaison de messages expirent également 24 heures après le début du parcours (un passage à travers les pages). Un curseur expiré renvoie :
The page cursor has expired. Restart the walk without a page parameter; results will reflect the current retention boundary.Pour le premier corps, renvoyez la valeur next_page non modifiée de la réponse précédente au point de terminaison et à la session qui l'ont émise. Pour un curseur expiré, redémarrez sans paramètre page ; le nouveau parcours reflète la limite de rétention en vigueur au moment où il démarre, donc les messages qui ont dépassé la période de rétention entre-temps ne sont plus renvoyés (voir Récupérer une transcription de session locale).
L'en-tête x-api-key était manquant ou ne correspondait pas à une clé connue. Une clé valide avec les mauvais scopes renvoie 403 Forbidden à la place.
Type : authentication_error
The API key provided is invalid or has been revoked.Cause : La clé dans x-api-key n'existe pas, a été supprimée ou a été désactivée. Un en-tête x-api-key manquant ou vide renvoie le même corps, vérifiez donc à la fois votre coffre de secrets et le statut de révocation de la clé.
Correction : Confirmez la valeur de la clé, vérifiez qu'elle n'a pas été supprimée dans claude.ai (Compliance Access Keys) ou Claude Console (clés Admin API), et confirmez qu'elle est activée. Voir Configurer l'API Compliance.
La clé dans x-api-key est valide mais ne porte pas le scope requis par le point de terminaison. Le message exact liste les scopes que la clé porte (Got:) et les scopes que le point de terminaison requiert (Needed:), afin que vous puissiez confirmer ce que la clé porte sans revérifier Claude Console ou claude.ai. Les scopes des Compliance Access Keys sont immuables après création, donc chaque correction de scope insuffisant vous indique de créer une nouvelle clé plutôt que de modifier celle existante.
Type : permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_activities']Cause : Une clé sans read:compliance_activities a été utilisée pour appeler GET /v1/compliance/activities. Il existe deux chemins courants vers cette erreur :
sk-ant-api01-...) a été créée sans le scope read:compliance_activities.sk-ant-admin01-...) a été créée alors que l'API Compliance n'était pas activée pour l'organisation. Les clés créées alors que l'API Compliance n'était pas activée ne portent pas le scope ; voir Configurer l'API Compliance.Correction : Les scopes des Compliance Access Keys sont immuables après création. Créez une nouvelle clé qui inclut read:compliance_activities, ou utilisez une clé Admin API de Claude Console. Voir De quelle clé avez-vous besoin ? pour les conditions dans lesquelles une clé Admin API porte ce scope.
Type : permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_org_data']Cause : Une clé sans read:compliance_org_data a été utilisée pour appeler un point de terminaison d'organisations, de rôles, de groupes ou de paramètres effectifs. Il existe deux chemins courants vers cette erreur :
sk-ant-api01-...) a été créée sans le scope read:compliance_org_data.sk-ant-admin01-...) a été utilisée. Les clés Admin API portent uniquement read:compliance_activities et ne peuvent pas lire les métadonnées d'organisation.Correction : Créez une nouvelle Compliance Access Key avec read:compliance_org_data sélectionné. Les clés Admin API ne peuvent pas lire les métadonnées d'organisation ; la Compliance Access Key est requise.
Type : permission_error
Missing required scopes. Got: ['read:compliance_org_settings'] Needed: ['read:compliance_org_data']Cause : Le scope read:compliance_org_settings a été retiré le 30 juin 2026. GET /v1/compliance/organizations/{organization_id}/settings requiert désormais read:compliance_org_data, le même scope que les autres points de terminaison d'organisation, et le scope retiré n'autorise plus rien. Une Compliance Access Key qui porte uniquement read:compliance_org_settings renvoie cette erreur à chaque appel au point de terminaison de paramètres, même si la clé fonctionnait avant le retrait. Le scope retiré ne peut plus être sélectionné ni accordé lors de la création d'une clé.
Correction : Les scopes des Compliance Access Keys sont immuables après création. Créez une nouvelle Compliance Access Key avec read:compliance_org_data sélectionné, mettez à jour votre intégration pour l'utiliser, puis supprimez l'ancienne clé. Une clé qui porte déjà read:compliance_org_data n'est pas affectée par le retrait.
Type : permission_error
Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']Cause : Une clé sans read:compliance_user_data a été utilisée pour appeler un point de terminaison de chats, messages, fichiers, projets, sessions, utilisateurs d'organisation ou membres de groupe. Il existe deux chemins courants vers cette erreur :
sk-ant-api01-...) a été créée sans le scope read:compliance_user_data.sk-ant-admin01-...) a été utilisée. Les clés Admin API portent uniquement read:compliance_activities et ne peuvent pas se voir accorder read:compliance_user_data, elles ne peuvent donc pas appeler les points de terminaison de chat, fichier, projet, pièce jointe de projet, session, utilisateur ou membre de groupe.Correction : Utilisez une Compliance Access Key créée dans claude.ai avec read:compliance_user_data sélectionné. Si la requête devrait vraiment concerner uniquement l'Activity Feed, pointez la clé Admin API vers GET /v1/compliance/activities à la place.
Type : permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['delete:compliance_user_data']Cause : Une Compliance Access Key sans delete:compliance_user_data a été utilisée pour appeler un point de terminaison DELETE sur des chats, fichiers ou projets.
Correction : Créez une nouvelle Compliance Access Key avec delete:compliance_user_data sélectionné. Le scope de suppression est distinct de read:compliance_user_data afin que les clés d'audit en lecture seule ne puissent pas supprimer de contenu.
Le point de terminaison a été résolu mais l'ID de ressource n'existe pas ou a déjà été supprimé. Les suppressions de l'API Compliance sont immédiates et permanentes, donc une erreur 404 sur un ID précédemment connu signifie généralement que le contenu a été supprimé définitivement via un appel de suppression de l'API Compliance ou retiré par une politique de rétention. Une exception est une session distante encore en statut pending, dont le point de terminaison de messages renvoie 404 de manière transitoire jusqu'à ce que la session démarre ; voir Session distante introuvable. Les chaînes de type d'activité citées dans chaque Correction (par exemple, claude_chat_created) sont des valeurs que vous pouvez passer au filtre activity_types[] de l'Activity Feed ; voir Interroger les activités de conformité pour toutes les valeurs prises en charge.
Les sessions locales n'ont pas d'état pending, donc une erreur 404 Local session not found. n'est jamais transitoire ; voir Session locale introuvable pour ses causes et pour la réponse distincte Local sessions are not available., qui ne dépend pas de l'ID de session et peut être temporaire.
Type : not_found_error
Chat claude_chat_01H5CWunD7RpVJ5bHa8RCkja not found.Cause : L'ID de chat dans le chemin ne correspond pas à un chat lisible via l'API Compliance. Le chat a peut-être été supprimé définitivement via un appel précédent à l'API Compliance ou retiré par la politique de rétention de votre organisation, ou il appartient peut-être à une organisation que la clé appelante ne peut pas lire. Les chats qu'un utilisateur a supprimés de manière réversible dans claude.ai ne renvoient pas 404 ; ils restent lisibles avec deleted_at renseigné.
Correction : Confirmez l'ID de chat par rapport à une activité récente claude_chat_created ou claude_chat_viewed. Si l'activité est récente et que la lecture échoue toujours, le chat a été supprimé définitivement (via cette API ou par expiration de la politique de rétention) ou appartient à une organisation hors du périmètre de votre clé.
Type : not_found_error
No file found with provided id, or it has already been deleted.Cause : L'ID de fichier n'existe pas ou a été supprimé. Cette erreur s'applique à la fois aux fichiers joints aux chats (claude_file_...) et aux fichiers de projet.
Correction : Rapprochez avec les activités récentes claude_file_uploaded ou claude_file_deleted. Si le fichier a été supprimé, le binaire a disparu ; l'enregistrement d'activité reste dans le flux pendant la fenêtre de rétention de 6 ans.
Type : not_found_error
No project is found with the provided id.Cause : L'ID de projet n'existe pas ou a été supprimé.
Correction : Rapprochez avec les activités récentes claude_project_created ou claude_project_deleted. L'Activity Feed continue d'exposer les événements du cycle de vie du projet même après la disparition du projet lui-même.
Type : not_found_error
No project document found with provided id, or it has already been deleted.Cause : L'ID de document de projet n'existe pas ou a été supprimé. Cette erreur s'applique aux documents texte de projet (claude_proj_doc_...), et non aux fichiers de projet.
Correction : Utilisez GET /v1/compliance/apps/projects/{project_id}/attachments pour lister les pièces jointes actuelles. Si le document est manquant, il a été supprimé ; récupérez-le via un enregistrement d'activité claude_project_document_uploaded si vous n'avez besoin que des métadonnées.
Type : not_found_error
Remote session not found.Cause : L'ID de session passé à GET /v1/compliance/apps/sessions/remote/{session_id}/messages ne correspond pas à une transcription de session lisible via l'API Compliance. Cela se produit lorsque l'ID de session (cse_...) n'existe pas ou que la session a été supprimée, lorsque la session appartient à une organisation que votre clé ne peut pas lire, ou lorsque le status de la session est encore pending : une session en attente n'a pas encore de transcription, donc le point de terminaison de messages renvoie 404 jusqu'à ce que la session démarre. Un ID de session qui n'est pas un identifiant cse_ bien formé renvoie 400 Bad Request à la place.
Correction : Confirmez l'ID de session et son status par rapport à GET /v1/compliance/apps/sessions/remote ; voir Récupérer les sessions distantes. Si la session est pending, réessayez après qu'elle a quitté ce statut. Si la session n'apparaît plus dans la liste, elle a été supprimée et sa transcription n'est pas récupérable.
Type : not_found_error
Local session not found.Cause : L'ID de session passé à GET /v1/compliance/apps/sessions/local/{session_id} ou GET /v1/compliance/apps/sessions/local/{session_id}/messages ne correspond pas à une session locale lisible via l'API Compliance. Les deux points de terminaison renvoient ce même message, sans distinguer la cause, lorsque l'ID n'est pas une session dans une organisation que votre clé peut lire (y compris les ID qui appartiennent à une autre organisation parente), lorsque la session n'a jamais existé, lorsque la rétention de données nulle est en vigueur pour la session, ou lorsque toute l'activité de la session a dépassé la période de rétention qui s'applique à l'organisation qui l'a exécutée. Contrairement aux sessions distantes, les sessions locales n'ont pas d'état pending, donc la réponse Local session not found. n'a pas de forme transitoire. Un ID de session qui n'est pas un identifiant clls_ bien formé renvoie 400 Bad Request à la place.
Les points de terminaison de session locale, y compris le point de terminaison de liste, renvoient un message 404 différent, Local sessions are not available., lorsque les points de terminaison eux-mêmes sont indisponibles pour votre organisation parente. Cette réponse ne dépend pas de l'ID de session ; aucune clé, aucun scope ni aucun paramètre côté client ne la modifie, et elle peut être temporaire. Les deux réponses portent le type not_found_error ; c'est le texte du message qui les distingue.
Correction : Confirmez l'ID de session par rapport à GET /v1/compliance/apps/sessions/local ; voir Récupérer les sessions locales. Si la session n'apparaît plus dans la liste, son contenu a dépassé la rétention (ou la session n'est plus, pour une autre raison, dans une organisation que votre clé peut lire) et sa transcription n'est pas récupérable ; retirez l'ID de votre file d'attente. Si chaque appel, y compris la liste, renvoie Local sessions are not available., conservez vos ID de session en file d'attente et réessayez lors de votre prochaine exécution planifiée ; si la réponse persiste, contactez votre représentant Anthropic et incluez l'en-tête de réponse request-id.
Type : not_found_error
The "ce86b5f3-7c16-48b3-a9f3-e1d2c4b8a0f1" organization does not exist or the requester is not authorized to access it.Les points de terminaison d'organisation, de rôle et de groupe renvoient une erreur 404 not_found_error dans le format d'erreur standard. Le message d'organisation nomme l'org_uuid ; les messages de rôle et de groupe sont génériques (Role not found., Group not found.). Cela se produit lorsqu'un ID de chemin (org_uuid, role_id ou group_id) n'existe pas ou n'appartient plus à une arborescence que la clé appelante peut lire.
Cause : L'ID dans le chemin ne correspond pas à un enregistrement lisible via l'API Compliance. Les rôles et les groupes peuvent être supprimés, et les organisations peuvent être dissociées de l'arborescence parente.
Correction : Vérifiez l'ID par rapport au point de terminaison de liste correspondant, et rapprochez avec les activités récentes d'organisation, de rôle ou de groupe dans l'Activity Feed.
Type : not_found_error
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchyCause : GET /v1/compliance/organizations/{organization_id}/settings renvoie cette erreur 404 dans trois cas qui partagent intentionnellement le même corps afin que la réponse ne révèle pas si une organisation existe : l'organization_id n'est pas l'une des organisations liées à votre parent, la valeur n'est pas un UUID valide, ou le point de terminaison de paramètres n'est pas encore activé pour votre organisation parente.
Correction : Vérifiez l'ID par rapport à Lister les organisations. Si un ID d'organisation connu comme valide renvoie toujours 404, le point de terminaison de paramètres n'est pas encore activé pour votre organisation parente ; contactez votre représentant Anthropic.
La requête est bien formée et autorisée mais entre en conflit avec l'état actuel de la ressource.
Type : conflict_error
The "claude_proj_01KGp4eZNug9ri4kE35RSppq" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again.Cause : DELETE /v1/compliance/apps/projects/{project_id} a été appelé sur un projet qui a encore des chats attachés.
Correction : Listez les chats du projet avec GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} (le filtre project_ids[] requiert au moins une valeur user_ids[] ; énumérez les ID via Lister les utilisateurs de l'organisation), supprimez chacun avec DELETE /v1/compliance/apps/chats/{claude_chat_id}, puis réessayez la suppression du projet.
Les requêtes à l'API Compliance sont limitées à 600 requêtes par minute par organisation parente. La limite est un budget unique partagé entre toutes les clés sous le parent (Compliance Access Keys et les clés Admin API de toutes les organisations liées) et entre tous les points de terminaison /v1/compliance/* ; les points de terminaison de session distante portent un second budget de requêtes en plus. Pour une organisation Claude Console autonome, qui n'a pas d'organisation parente, le même budget s'applique à l'organisation elle-même et est partagé entre ses clés Admin API. Contactez votre représentant Anthropic si votre intégration nécessite une limite plus élevée.
Une fois votre clé API authentifiée, les réponses de l'API Compliance signalent le budget partagé via les en-têtes de réponse de limite de débit standard afin que votre client puisse ralentir de manière proactive au lieu d'attendre une erreur 429 :
anthropic-ratelimit-requests-limit est le budget de requêtes par minute.anthropic-ratelimit-requests-remaining est le budget restant dans la fenêtre actuelle.anthropic-ratelimit-requests-reset est l'horodatage RFC 3339 auquel la fenêtre se réinitialise et le budget complet est restauré.Une réponse 429 porte également un en-tête retry-after avec le nombre de secondes à attendre avant d'envoyer la prochaine requête. Cette valeur peut inclure une petite marge de sécurité au-delà de anthropic-ratelimit-requests-reset ; respectez retry-after.
HTTP/1.1 429 Too Many Requests
date: Tue, 21 Apr 2026 14:38:02 GMT
retry-after: 25
anthropic-ratelimit-requests-limit: 600
anthropic-ratelimit-requests-remaining: 0
anthropic-ratelimit-requests-reset: 2026-04-21T14:38:25Z{
"error": {
"type": "rate_limit_error",
"message": "Compliance API rate limit of 600 requests per minute per parent organization has been exceeded. Retry after the time indicated by the retry-after header. Quote the request-id response header when contacting Anthropic support."
}
}Cause : Votre organisation parente (ou organisation Claude Console autonome) a envoyé plus de 600 requêtes à /v1/compliance/* dans une fenêtre de 1 minute, toutes clés partageant son budget confondues, ou elle a épuisé le second budget de requêtes des points de terminaison de session distante (décrit plus loin dans cette section).
Correction : Attendez le nombre de secondes indiqué dans l'en-tête retry-after, puis réessayez. Si l'en-tête est absent (par exemple, supprimé par un intermédiaire), revenez à un backoff exponentiel (commencez à 1 seconde, doublez jusqu'à 60 secondes). N'avancez pas votre curseur de pagination sur une erreur 429 : la requête échouée n'a renvoyé aucune donnée, donc le curseur de la dernière page réussie est toujours correct.
Les requêtes qui échouent à l'authentification (une clé manquante ou non reconnue, ou une clé API Claude plutôt qu'une Compliance Access Key ou une clé Admin API) sont rejetées avant le limiteur de débit et ne consomment pas de quota. Une clé valide qui n'a pas le scope requis par le point de terminaison consomme une unité de quota avant que l'erreur 403 ne soit renvoyée.
Les points de terminaison de session distante portent un second budget de requêtes, également associé à votre organisation parente, en plus de la limite partagée. Une erreur 429 de ce budget porte un en-tête retry-after qui est toujours 1 (une attente minimale, pas le temps de réinitialisation réel) ; tout en-tête anthropic-ratelimit-* sur cette réponse décrit la limite partagée plutôt que ce budget, donc appliquez un backoff exponentiel si l'erreur 429 se répète. Les points de terminaison de session locale n'ont pas de second budget et comptent uniquement dans la limite partagée.
Si vous interrogez l'Activity Feed selon un calendrier, budgétisez votre taux de requêtes agrégé (toutes clés, organisations liées et workers concurrents confondus) en dessous de la limite partagée. Surveillez anthropic-ratelimit-requests-remaining pour ralentir avant de l'atteindre. Voir Concevoir votre intégration de conformité pour choisir entre l'interrogation par fenêtre et l'ingestion pilotée par curseur.
Une erreur 500 de l'API Compliance porte un en-tête de réponse x-should-retry: false lorsque l'échec est déterministe. Les SDK Anthropic respectent cet en-tête automatiquement. Si vous utilisez une bibliothèque de nouvelle tentative HTTP générique qui réessaie sur chaque 5xx, supprimez les nouvelles tentatives lorsque x-should-retry est false ; réessayer cette erreur échoue de manière identique à chaque tentative.
Une erreur 500 sans l'en-tête x-should-retry: false est transitoire : réessayez avec un backoff exponentiel (commencez à 1 seconde, doublez jusqu'à 60 secondes). Il en va de même pour les réponses 502, 503, 504 et 529. Une erreur 503 de session locale, décrite ci-après, dépend des données plutôt que d'être transitoire. Voir Erreurs pour la sémantique de nouvelle tentative à l'échelle de la plateforme.
Type : overloaded_error
The local-sessions index is temporarily unavailable. Try again shortly.Captured content is temporarily unavailable. Try again shortly.The local-sessions index cannot currently evaluate retention overrides for this page. Try again later.Cause : Les points de terminaison de session locale renvoient 503 avec l'un de ces corps. Les deux premiers signifient que les listes de sessions, ou le contenu capturé d'une session, sont brièvement indisponibles ; c'est une condition transitoire liée à la charge ou au back-end. Le troisième corps (qui indique for this session au lieu de for this page sur les points de terminaison de récupération et de messages) signifie qu'un paramètre de rétention ou de traitement des données qui s'applique à une ou plusieurs sessions dans la plage demandée n'a pas encore pu être évalué. Cela dépend des données et des paramètres de l'organisation qui a exécuté la session plutôt que de la charge, et cela peut persister pendant une période prolongée. Les trois corps partagent le type overloaded_error, c'est donc l'un des rares cas sur cette page où le texte du message, plutôt que error.type, distingue des conditions qui nécessitent un traitement différent.
Correction : Pour les deux corps Try again shortly., réessayez avec un backoff exponentiel et n'avancez pas votre curseur page, car la requête échouée n'a renvoyé aucune donnée. Pour le corps Try again later., ne maintenez pas un parcours ouvert en attendant qu'il se résolve. Sur le point de terminaison de liste, soit réessayez plus tard en redémarrant sans le paramètre page (un jeton de page de liste de plus de 24 heures est toujours accepté mais est réévalué par rapport à la limite de rétention actuelle, donc un parcours mis en attente peut sauter des sessions), soit réduisez la fenêtre created_at.gte et created_at.lt jusqu'à ce que la requête réussisse et exportez la plage sautée séparément lors d'une exécution ultérieure. Sur les points de terminaison de récupération et de messages, sautez cet ID de session, continuez avec le reste de votre export, et réessayez la session lors d'une exécution ultérieure ; les curseurs de page de messages expirent 24 heures après la première page du parcours, donc redémarrez le parcours de cette session sans page lorsque vous y revenez. Si la condition se reproduit d'une exécution à l'autre, contactez votre représentant Anthropic et incluez l'en-tête de réponse request-id.
Pour les incidents à l'échelle du service, consultez status.anthropic.com.
Questions courantes sur l'accès, les scopes, la rétention et l'intégration.
Le catalogue d'erreurs à l'échelle de la plateforme et la sémantique de nouvelle tentative.
Was this page helpful?