Questa pagina elenca i messaggi di risposta restituiti da ciascun endpoint documentato della Compliance API, la causa e la soluzione.
La Compliance API restituisce gli errori nel formato di errore standard di Anthropic: un codice di stato non-2xx, un header di risposta request-id e un corpo JSON con un oggetto error contenente type e message. Includi il valore dell'header request-id quando inoltri la segnalazione al supporto.
{
"error": {
"type": "authentication_error",
"message": "The API key provided is invalid or has been revoked."
}
}Effettua il matching su error.type, non sulla stringa del messaggio. I messaggi sono abbastanza stabili da poter essere copiati nei runbook, ma potrebbero essere riformulati nel tempo; i valori di type fanno parte del contratto dell'API. Gli endpoint delle sessioni locali presentano alcune eccezioni documentate in cui risposte che condividono lo stesso type si distinguono per il messaggio; ciascuna è segnalata dove applicabile.
La tabella seguente indica a colpo d'occhio se ritentare. Ogni sezione successiva mostra il corpo dell'errore testuale e la soluzione.
| Stato | Ritentare? | Quando |
|---|---|---|
| 400 Bad Request | No | Correggi la richiesta e reinviala. |
| 401 Unauthorized | No | Correggi o ruota la chiave, poi reinvia. |
| 403 Forbidden | No | Aggiungi lo scope mancante o usa il tipo di chiave corretto, poi reinvia. |
| 404 Not Found | Di solito no | La risorsa è stata eliminata o non è mai esistita; rimuovila dalla tua coda. Eccezioni: una sessione remota ancora in stato pending restituisce 404 sul suo endpoint dei messaggi finché non inizia; vedi Sessione remota non trovata. Sugli endpoint delle sessioni locali, il messaggio Local sessions are not available. (restituito su ogni chiamata, inclusa la lista) significa che gli endpoint non sono attualmente disponibili per la tua organizzazione padre, non che una sessione è scomparsa; conserva gli ID in coda e vedi Sessione locale non trovata. |
| 409 Conflict | No | La richiesta è in conflitto con lo stato attuale della risorsa; risolvi il conflitto (ad esempio scollegando le risorse figlie), poi ritenta. |
| 429 Too Many Requests | Sì, dopo retry-after | Attendi i secondi indicati in retry-after, poi ritenta; non avanzare il cursore. |
| 500 Internal Server Error | Dipende da x-should-retry | Controlla l'header di risposta x-should-retry prima di ritentare. |
| 502, 503, 504, 529 | Sì, con backoff | Transitorio; ritenta con backoff esponenziale. Eccezione: un 503 delle sessioni locali dipende dai dati e può persistere; vedi Sessioni locali temporaneamente non disponibili. |
La richiesta era sintatticamente valida ma conteneva un parametro che il server ha rifiutato. Correggi il parametro e ritenta.
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".Causa: Un valore created_at.* o updated_at.* (.gte, .gt, .lte, .lt) non è stato interpretato come datetime. Il messaggio indica il parametro che ha fallito e riporta il valore inviato.
Soluzione: Invia un timestamp RFC 3339 completo che includa ora e fuso orario, ad esempio 2024-03-01T00:00:00Z o 2024-03-01T00:00:00+00:00.
La lista delle sessioni locali (GET /v1/compliance/apps/sessions/local) restituisce anch'essa un 400 invalid_request_error quando vengono forniti entrambi i limiti temporali e created_at.lt non è strettamente successivo a created_at.gte. Il corpo riporta:
created_at.lt must be strictly after created_at.gte.Invia un created_at.lt successivo a created_at.gte, oppure ometti uno dei due limiti.
Type: invalid_request_error
The limit parameter must be between 1 and 1000, inclusive. Got 1500.Causa: Il parametro di query limit era al di fuori dell'intervallo accettato. Il limite indicato nel messaggio riflette il massimo per lo specifico endpoint chiamato.
Soluzione: Invia un limit all'interno dell'intervallo accettato dall'endpoint. Ogni endpoint di lista ha il proprio intervallo di limit; consulta i vincoli dei parametri nella corrispondente pagina di riferimento della Compliance API.
Gli endpoint di trascrizione delle sessioni (GET /v1/compliance/apps/sessions/remote/{session_id}/messages e GET /v1/compliance/apps/sessions/local/{session_id}/messages) validano i loro parametri di troncamento allo stesso modo: tool_use_input_max_bytes e tool_result_max_bytes accettano ciascuno un conteggio di byte positivo o -1 (il massimo del server), quindi un valore come 0 restituisce lo stesso 400 invalid_request_error.
Type: invalid_request_error
Invalid `after_id`. No activity found for `after_id` "activity_invalid123"Causa: Il cursore after_id o before_id non è stato decodificato come cursore opaco né interpretato come ID di attività.
Soluzione: Tratta i cursori di paginazione come stringhe opache. Copia sempre il valore first_id o last_id restituito dalla pagina precedente; fermati quando has_more è false. Non costruire cursori a partire dagli ID degli oggetti.
Gli endpoint di directory, progetti e sessioni (organizzazioni, utenti, ruoli, permessi dei ruoli, gruppi, membri dei gruppi, progetti, allegati dei progetti, sessioni locali e remote e messaggi delle sessioni) paginano con un token page opaco anziché con after_id e before_id. Vale lo stesso consiglio: passa il valore next_page della risposta precedente senza modificarlo e fermati quando has_more è false (oppure, sugli endpoint delle sessioni, che non restituiscono has_more, quando next_page è null). Un token page malformato restituisce lo stesso 400 invalid_request_error di un after_id o before_id malformato.
Entrambi gli endpoint delle sessioni locali (la lista e l'endpoint dei messaggi) restituiscono il seguente 400 invalid_request_error per qualsiasi valore page che non riescono a decodificare, ad esempio un token troncato o alterato dopo averlo memorizzato, oppure uno emesso da un endpoint diverso o sotto un'organizzazione padre diversa. Sull'endpoint dei messaggi delle sessioni locali (GET /v1/compliance/apps/sessions/local/{session_id}/messages), ogni cursore page è inoltre vincolato alla sessione e all'order per cui è stato emesso, quindi un cursore emesso per una sessione o un ordinamento diverso restituisce lo stesso corpo:
The page parameter is not a valid cursor for this request.I cursori sull'endpoint dei messaggi scadono inoltre 24 ore dopo l'inizio del walk (un passaggio attraverso le pagine). Un cursore scaduto restituisce:
The page cursor has expired. Restart the walk without a page parameter; results will reflect the current retention boundary.Per il primo corpo, reinvia il valore next_page non modificato della risposta precedente all'endpoint e alla sessione che lo hanno emesso. Per un cursore scaduto, riavvia senza il parametro page; il nuovo walk riflette il limite di retention in vigore al momento dell'avvio, quindi i messaggi che nel frattempo sono usciti dal periodo di retention non vengono più restituiti (vedi Recuperare la trascrizione di una sessione locale).
L'header x-api-key era mancante o non corrispondeva a una chiave nota. Una chiave valida con gli scope errati restituisce invece 403 Forbidden.
Type: authentication_error
The API key provided is invalid or has been revoked.Causa: La chiave in x-api-key non esiste, è stata eliminata o è stata disabilitata. Un header x-api-key mancante o vuoto restituisce lo stesso corpo, quindi controlla sia il tuo archivio dei segreti sia lo stato di revoca della chiave.
Soluzione: Verifica il valore della chiave, controlla che non sia stata eliminata in claude.ai (Compliance Access Keys) o in Claude Console (chiavi Admin API) e conferma che sia abilitata. Vedi Configurare la Compliance API.
La chiave in x-api-key è valida ma non possiede lo scope richiesto dall'endpoint. Il messaggio testuale elenca gli scope che la chiave possiede (Got:) e gli scope che l'endpoint richiede (Needed:), così puoi confermare cosa possiede la chiave senza ricontrollare Claude Console o claude.ai. Gli scope delle Compliance Access Key sono immutabili dopo la creazione, quindi ogni soluzione per scope insufficiente ti indirizza a creare una nuova chiave anziché modificare quella esistente.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_activities']Causa: Una chiave senza read:compliance_activities è stata usata per chiamare GET /v1/compliance/activities. Ci sono due percorsi comuni che portano a questo errore:
sk-ant-api01-...) è stata creata senza lo scope read:compliance_activities.sk-ant-admin01-...) è stata creata mentre la Compliance API non era abilitata per l'organizzazione. Le chiavi create mentre la Compliance API non era abilitata non possiedono lo scope; vedi Configurare la Compliance API.Soluzione: Gli scope delle Compliance Access Key sono immutabili dopo la creazione. Crea una nuova chiave che includa read:compliance_activities, oppure usa una chiave Admin API di Claude Console. Vedi Quale chiave ti serve? per le condizioni in cui una chiave Admin API possiede questo scope.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_org_data']Causa: Una chiave senza read:compliance_org_data è stata usata per chiamare un endpoint di organizzazioni, ruoli, gruppi o impostazioni effettive. Ci sono due percorsi comuni che portano a questo errore:
sk-ant-api01-...) è stata creata senza lo scope read:compliance_org_data.sk-ant-admin01-...). Le chiavi Admin API possiedono solo read:compliance_activities e non possono leggere i metadati dell'organizzazione.Soluzione: Crea una nuova Compliance Access Key con read:compliance_org_data selezionato. Le chiavi Admin API non possono leggere i metadati dell'organizzazione; è richiesta la Compliance Access Key.
Type: permission_error
Missing required scopes. Got: ['read:compliance_org_settings'] Needed: ['read:compliance_org_data']Causa: Lo scope read:compliance_org_settings è stato ritirato il 30 giugno 2026. GET /v1/compliance/organizations/{organization_id}/settings ora richiede read:compliance_org_data, lo stesso scope degli altri endpoint dell'organizzazione, e lo scope ritirato non autorizza più nulla. Una Compliance Access Key che possiede solo read:compliance_org_settings restituisce questo errore su ogni chiamata all'endpoint delle impostazioni, anche se la chiave funzionava prima del ritiro. Lo scope ritirato non può più essere selezionato o concesso durante la creazione di una chiave.
Soluzione: Gli scope delle Compliance Access Key sono immutabili dopo la creazione. Crea una nuova Compliance Access Key con read:compliance_org_data selezionato, aggiorna la tua integrazione per usarla, poi elimina la vecchia chiave. Una chiave che possiede già read:compliance_org_data non è interessata dal ritiro.
Type: permission_error
Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']Causa: Una chiave senza read:compliance_user_data è stata usata per chiamare un endpoint di chat, messaggi, file, progetti, sessioni, utenti dell'organizzazione o membri dei gruppi. Ci sono due percorsi comuni che portano a questo errore:
sk-ant-api01-...) è stata creata senza lo scope read:compliance_user_data.sk-ant-admin01-...). Le chiavi Admin API possiedono solo read:compliance_activities e non possono ricevere read:compliance_user_data, quindi non possono chiamare gli endpoint di chat, file, progetti, allegati dei progetti, sessioni, utenti o membri dei gruppi.Soluzione: Usa una Compliance Access Key creata in claude.ai con read:compliance_user_data selezionato. Se la richiesta dovrebbe davvero riguardare solo l'Activity Feed, indirizza invece la chiave Admin API a GET /v1/compliance/activities.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['delete:compliance_user_data']Causa: Una Compliance Access Key senza delete:compliance_user_data è stata usata per chiamare un endpoint DELETE su chat, file o progetti.
Soluzione: Crea una nuova Compliance Access Key con delete:compliance_user_data selezionato. Lo scope di eliminazione è separato da read:compliance_user_data in modo che le chiavi di audit in sola lettura non possano eliminare contenuti.
L'endpoint è stato risolto ma l'ID della risorsa non esiste o è già stato eliminato. Le eliminazioni della Compliance API sono immediate e permanenti, quindi un 404 su un ID precedentemente noto di solito significa che il contenuto è stato eliminato definitivamente tramite una chiamata di eliminazione della Compliance API o rimosso da una policy di retention. Un'eccezione è una sessione remota ancora in stato pending, il cui endpoint dei messaggi restituisce 404 in modo transitorio finché la sessione non inizia; vedi Sessione remota non trovata. Le stringhe di tipo attività citate in ogni Soluzione (ad esempio claude_chat_created) sono valori che puoi passare al filtro activity_types[] dell'Activity Feed; vedi Interrogare le attività di compliance per tutti i valori supportati.
Le sessioni locali non hanno uno stato pending, quindi un 404 Local session not found. non è mai transitorio; vedi Sessione locale non trovata per le sue cause e per la risposta separata Local sessions are not available., che non dipende dall'ID della sessione e può essere temporanea.
Type: not_found_error
Chat claude_chat_01H5CWunD7RpVJ5bHa8RCkja not found.Causa: L'ID della chat nel percorso non corrisponde a una chat leggibile tramite la Compliance API. La chat potrebbe essere stata eliminata definitivamente tramite una precedente chiamata alla Compliance API o rimossa dalla policy di retention della tua organizzazione, oppure potrebbe appartenere a un'organizzazione che la chiave chiamante non può leggere. Le chat che un utente ha eliminato in modo soft in claude.ai non restituiscono 404; rimangono leggibili con deleted_at popolato.
Soluzione: Verifica l'ID della chat rispetto a un'attività recente claude_chat_created o claude_chat_viewed. Se l'attività è recente e la lettura continua a fallire, la chat è stata eliminata definitivamente (tramite questa API o per scadenza della policy di retention) o appartiene a un'organizzazione al di fuori dello scope della tua chiave.
Type: not_found_error
No file found with provided id, or it has already been deleted.Causa: L'ID del file non esiste o è stato eliminato. Questo errore si applica sia ai file allegati alle chat (claude_file_...) sia ai file di progetto.
Soluzione: Riconcilia rispetto alle attività recenti claude_file_uploaded o claude_file_deleted. Se il file è stato eliminato, il binario è scomparso; il record dell'attività rimane nel feed per la finestra di retention di 6 anni.
Type: not_found_error
No project is found with the provided id.Causa: L'ID del progetto non esiste o è stato eliminato.
Soluzione: Riconcilia rispetto alle attività recenti claude_project_created o claude_project_deleted. L'Activity Feed continua a esporre gli eventi del ciclo di vita del progetto anche dopo che il progetto stesso è scomparso.
Type: not_found_error
No project document found with provided id, or it has already been deleted.Causa: L'ID del documento di progetto non esiste o è stato eliminato. Questo errore si applica ai documenti di progetto testuali (claude_proj_doc_...), non ai file di progetto.
Soluzione: Usa GET /v1/compliance/apps/projects/{project_id}/attachments per elencare gli allegati attuali. Se il documento manca, è stato eliminato; recuperalo tramite un record di attività claude_project_document_uploaded se ti servono solo i metadati.
Type: not_found_error
Remote session not found.Causa: L'ID della sessione passato a GET /v1/compliance/apps/sessions/remote/{session_id}/messages non corrisponde a una trascrizione di sessione leggibile tramite la Compliance API. Questo si verifica quando l'ID della sessione (cse_...) non esiste o la sessione è stata eliminata, quando la sessione appartiene a un'organizzazione che la tua chiave non può leggere, o quando lo status della sessione è ancora pending: una sessione pending non ha ancora una trascrizione, quindi l'endpoint dei messaggi restituisce 404 finché la sessione non inizia. Un ID di sessione che non è un identificatore cse_ ben formato restituisce invece 400 Bad Request.
Soluzione: Verifica l'ID della sessione e il suo status rispetto a GET /v1/compliance/apps/sessions/remote; vedi Recuperare le sessioni remote. Se la sessione è pending, ritenta dopo che ha lasciato quello stato. Se la sessione non appare più nella lista, è stata eliminata e la sua trascrizione non è recuperabile.
Type: not_found_error
Local session not found.Causa: L'ID della sessione passato a GET /v1/compliance/apps/sessions/local/{session_id} o GET /v1/compliance/apps/sessions/local/{session_id}/messages non corrisponde a una sessione locale leggibile tramite la Compliance API. Entrambi gli endpoint restituiscono questo unico messaggio, senza distinguere la causa, quando l'ID non è una sessione in un'organizzazione che la tua chiave può leggere (inclusi gli ID che appartengono a un'altra organizzazione padre), quando la sessione non è mai esistita, quando la zero data retention è in vigore per la sessione, o quando tutta l'attività della sessione ha superato il periodo di retention che si applica all'organizzazione che l'ha eseguita. A differenza delle sessioni remote, le sessioni locali non hanno uno stato pending, quindi la risposta Local session not found. non ha una forma transitoria. Un ID di sessione che non è un identificatore clls_ ben formato restituisce invece 400 Bad Request.
Gli endpoint delle sessioni locali, incluso l'endpoint di lista, restituiscono un messaggio 404 diverso, Local sessions are not available., mentre gli endpoint stessi non sono disponibili per la tua organizzazione padre. Quella risposta non dipende dall'ID della sessione; nessuna chiave, scope o impostazione lato cliente la modifica, e può essere temporanea. Entrambe le risposte hanno il type not_found_error; è il testo del messaggio a distinguerle.
Soluzione: Verifica l'ID della sessione rispetto a GET /v1/compliance/apps/sessions/local; vedi Recuperare le sessioni locali. Se la sessione non appare più nella lista, il suo contenuto ha superato la retention (o la sessione non è più in un'organizzazione che la tua chiave può leggere) e la sua trascrizione non è recuperabile; rimuovi l'ID dalla tua coda. Se ogni chiamata, inclusa la lista, restituisce Local sessions are not available., conserva gli ID di sessione in coda e ritenta alla prossima esecuzione pianificata; se la risposta persiste, contatta il tuo referente Anthropic e includi l'header di risposta 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.Gli endpoint di organizzazione, ruolo e gruppo restituiscono un 404 not_found_error nel formato di errore standard. Il messaggio dell'organizzazione indica l'org_uuid; i messaggi di ruolo e gruppo sono generici (Role not found., Group not found.). Questo si verifica quando un ID nel percorso (org_uuid, role_id o group_id) non esiste o non appartiene più a un albero che la chiave chiamante può leggere.
Causa: L'ID nel percorso non corrisponde a un record leggibile tramite la Compliance API. Ruoli e gruppi possono essere eliminati, e le organizzazioni possono essere scollegate dall'albero padre.
Soluzione: Verifica l'ID rispetto al corrispondente endpoint di lista e riconcilia rispetto alle attività recenti di organizzazione, ruolo o gruppo nell'Activity Feed.
Type: not_found_error
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchyCausa: GET /v1/compliance/organizations/{organization_id}/settings restituisce questo 404 in tre casi che condividono intenzionalmente lo stesso corpo in modo che la risposta non riveli se un'organizzazione esiste: l'organization_id non è una delle organizzazioni collegate al tuo padre, il valore non è un UUID valido, o l'endpoint delle impostazioni non è ancora abilitato per la tua organizzazione padre.
Soluzione: Verifica l'ID rispetto a Elenca organizzazioni. Se un ID di organizzazione noto e valido restituisce ancora 404, l'endpoint delle impostazioni non è ancora abilitato per la tua organizzazione padre; contatta il tuo referente Anthropic.
La richiesta è ben formata e autorizzata ma è in conflitto con lo stato attuale della risorsa.
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.Causa: DELETE /v1/compliance/apps/projects/{project_id} è stato chiamato su un progetto che ha ancora chat allegate.
Soluzione: Elenca le chat del progetto con GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} (il filtro project_ids[] richiede almeno un valore user_ids[]; enumera gli ID tramite Elenca utenti dell'organizzazione), elimina ciascuna con DELETE /v1/compliance/apps/chats/{claude_chat_id}, poi ritenta l'eliminazione del progetto.
Le richieste alla Compliance API sono limitate a 600 richieste al minuto per organizzazione padre. Il limite è un unico budget condiviso tra tutte le chiavi sotto il padre (Compliance Access Key e le chiavi Admin API di tutte le organizzazioni collegate) e tra tutti gli endpoint /v1/compliance/*; gli endpoint delle sessioni remote hanno un secondo budget di richieste aggiuntivo. Per un'organizzazione Claude Console autonoma, che non ha un'organizzazione padre, lo stesso budget si applica all'organizzazione stessa ed è condiviso tra le sue chiavi Admin API. Contatta il tuo referente Anthropic se la tua integrazione necessita di un limite più alto.
Una volta che la tua chiave API si autentica, le risposte della Compliance API riportano il budget condiviso tramite gli header di risposta del limite di velocità standard, così il tuo client può rallentare proattivamente invece di attendere un 429:
anthropic-ratelimit-requests-limit è il budget di richieste al minuto.anthropic-ratelimit-requests-remaining è il budget rimanente nella finestra corrente.anthropic-ratelimit-requests-reset è il timestamp RFC 3339 in cui la finestra si resetta e il budget completo viene ripristinato.Una risposta 429 include anche un header retry-after con il numero di secondi da attendere prima di inviare la richiesta successiva. Questo valore potrebbe includere un piccolo margine di sicurezza oltre anthropic-ratelimit-requests-reset; rispetta 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."
}
}Causa: La tua organizzazione padre (o organizzazione Claude Console autonoma) ha inviato più di 600 richieste a /v1/compliance/* in una finestra di 1 minuto, attraverso tutte le chiavi che condividono il suo budget, oppure ha esaurito il secondo budget di richieste degli endpoint delle sessioni remote (descritto più avanti in questa sezione).
Soluzione: Attendi il numero di secondi indicato nell'header retry-after, poi ritenta. Se l'header è assente (ad esempio rimosso da un intermediario), ricorri al backoff esponenziale (inizia da 1 secondo, raddoppia fino a 60 secondi). Non avanzare il cursore di paginazione su un 429: la richiesta fallita non ha restituito dati, quindi il cursore dell'ultima pagina riuscita è ancora corretto.
Le richieste che falliscono l'autenticazione (una chiave mancante o non riconosciuta, oppure una chiave API di Claude anziché una Compliance Access Key o una chiave Admin API) vengono rifiutate prima del rate limiter e non consumano quota. Una chiave valida che non possiede lo scope richiesto dall'endpoint consuma un'unità di quota prima che venga restituito il 403.
Gli endpoint delle sessioni remote hanno un secondo budget di richieste, anch'esso associato alla tua organizzazione padre, in aggiunta al limite condiviso. Un 429 da quel budget include un header retry-after che è sempre 1 (un'attesa minima, non il tempo effettivo di reset); eventuali header anthropic-ratelimit-* su quella risposta descrivono il limite condiviso anziché questo budget, quindi applica un backoff esponenziale se il 429 si ripete. Gli endpoint delle sessioni locali non hanno un secondo budget e contano solo rispetto al limite condiviso.
Se interroghi l'Activity Feed secondo una pianificazione, mantieni il tuo tasso di richieste aggregato (attraverso tutte le chiavi, organizzazioni collegate e worker concorrenti) al di sotto del limite condiviso. Monitora anthropic-ratelimit-requests-remaining per rallentare prima di raggiungerlo. Vedi Progettare la tua integrazione di compliance per scegliere tra polling a finestra e ingestione guidata da cursore.
Un 500 dalla Compliance API include un header di risposta x-should-retry: false quando il fallimento è deterministico. Gli SDK di Anthropic rispettano questo header automaticamente. Se usi una libreria di retry HTTP generica che ritenta su ogni 5xx, sopprimi i retry quando x-should-retry è false; ritentare questo errore fallisce in modo identico a ogni tentativo.
Un 500 senza l'header x-should-retry: false è transitorio: ritenta con backoff esponenziale (inizia da 1 secondo, raddoppia fino a 60 secondi). Lo stesso vale per le risposte 502, 503, 504 e 529. Un 503 delle sessioni locali, descritto di seguito, dipende dai dati anziché essere transitorio. Vedi Errori per la semantica di retry a livello di piattaforma.
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.Causa: Gli endpoint delle sessioni locali restituiscono 503 con uno di questi corpi. I primi due significano che gli elenchi delle sessioni, o il contenuto catturato di una sessione, sono brevemente non disponibili; si tratta di una condizione transitoria legata al carico o al back end. Il terzo corpo (che riporta for this session invece di for this page sugli endpoint di recupero e dei messaggi) significa che un'impostazione di retention o di gestione dei dati che si applica a una o più sessioni nell'intervallo richiesto non è ancora stata valutata. Ciò dipende dai dati e dalle impostazioni dell'organizzazione che ha eseguito la sessione anziché dal carico, e può persistere per un periodo prolungato. Tutti e tre i corpi condividono il type overloaded_error, quindi questo è uno dei pochi casi in questa pagina in cui il testo del messaggio, anziché error.type, distingue condizioni che richiedono una gestione diversa.
Soluzione: Per i due corpi Try again shortly., ritenta con backoff esponenziale e non avanzare il cursore page, perché la richiesta fallita non ha restituito dati. Per il corpo Try again later., non tenere aperto un walk in attesa che si risolva. Sull'endpoint di lista, ritenta più tardi riavviando senza il parametro page (un token di pagina della lista più vecchio di 24 ore è ancora accettato ma viene rivalutato rispetto al limite di retention corrente, quindi un walk parcheggiato può saltare sessioni), oppure restringi la finestra created_at.gte e created_at.lt finché la richiesta non riesce ed esporta l'intervallo saltato separatamente in un'esecuzione successiva. Sugli endpoint di recupero e dei messaggi, salta quell'ID di sessione, continua con il resto dell'esportazione e ritenta la sessione in un'esecuzione successiva; i cursori di pagina dei messaggi scadono 24 ore dopo la prima pagina del walk, quindi riavvia il walk di quella sessione senza page quando ci ritorni. Se la condizione si ripresenta tra le esecuzioni, contatta il tuo referente Anthropic e includi l'header di risposta request-id.
Per incidenti a livello di servizio, controlla status.anthropic.com.
Domande comuni su accesso, scope, retention e integrazione.
Il catalogo degli errori a livello di piattaforma e la semantica di retry.
Was this page helpful?