Questa è un'API sperimentale. Le strutture di richiesta e risposta, i limiti di velocità e la semantica dei token possono cambiare. Le modifiche non retrocompatibili vengono rilasciate dietro nuove versioni datate dell'header beta, e le due versioni precedenti dell'header continuano a funzionare in modo che i chiamanti abbiano tempo per migrare.
Claude Code è lo strumento di coding agentico di Anthropic. Claude Code on the web esegue sessioni di Claude Code su infrastruttura cloud gestita da Anthropic all'indirizzo claude.ai/code, e una routine è una configurazione salvata in quel contesto: un prompt, uno o più repository e connettori, confezionati in modo da poter essere eseguiti senza supervisione secondo una pianificazione, in risposta a eventi GitHub o quando chiamati tramite HTTP.
Questo endpoint è il punto di ingresso HTTP. Inviare una POST ad esso avvia una nuova esecuzione di una routine esistente e restituisce l'ID e l'URL della sessione risultante. I chiamanti tipici sono sistemi di alerting, pipeline CI e strumenti interni che devono avviare una sessione di Claude Code in modo programmatico.
Chiamare questo endpoint richiede un account claude.ai con un piano Pro, Max, Team o Enterprise con Claude Code on the web abilitato. Autenticati con un bearer token specifico per routine creato nell'interfaccia web di Claude Code anziché con una chiave API di Claude.
L'endpoint di attivazione della routine appartiene alla superficie di prodotto di Claude Code, che differisce dalle API e dagli SDK della Claude Platform in alcuni aspetti:
| Aspetto | Questo endpoint | API della Claude Platform |
|---|---|---|
| Autenticazione | Authorization: Bearer con un token specifico per routine (sk-ant-oat01-...) creato su claude.ai/code/routines | x-api-key con una chiave API di Claude da Claude Console |
| Ambito del token | Solo una routine; nessun accesso in lettura | A livello di workspace |
| Supporto SDK | Nessuno | Disponibile in tutti gli SDK client |
| Fatturazione | Utilizzo dell'abbonamento Claude Code su claude.ai | Utilizzo della Claude Platform |
| Namespace del percorso | /v1/claude_code/... | /v1/... |
| Stabilità | Sperimentale; richiede anthropic-beta: experimental-cc-routine-2026-04-01 | Stabile o beta standard |
Per chiamare questo endpoint, hai bisogno di:
Consulta Add an API trigger nella documentazione di Claude Code per la procedura completa di configurazione.
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireOgni richiesta deve includere l'header anthropic-beta: experimental-cc-routine-2026-04-01. Le richieste senza di esso restituiscono 400 invalid_request_error.
L'interfaccia web di Claude Code fornisce l'URL completo insieme al token quando aggiungi un trigger API, quindi la maggior parte delle integrazioni memorizza entrambi come secret e chiama l'endpoint direttamente. Gli esempi seguenti mostrano una chiamata da shell e uno step di GitHub Actions che attiva la routine in caso di fallimento della CI.
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'- if: failure()
env:
ROUTINE_FIRE_URL: ${{ secrets.ROUTINE_FIRE_URL }}
ROUTINE_FIRE_TOKEN: ${{ secrets.ROUTINE_FIRE_TOKEN }}
run: |
curl -X POST "$ROUTINE_FIRE_URL" \
-H "Authorization: Bearer $ROUTINE_FIRE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"La richiesta ritorna una volta che la sessione è stata creata. Non trasmette in streaming l'output della sessione né attende il completamento della sessione.
| Nome | Obbligatorio | Descrizione |
|---|---|---|
Authorization | Sì | Bearer <token>. Il token specifico per routine creato nell'interfaccia web di Claude Code, con prefisso sk-ant-oat01-. |
anthropic-beta | Sì | Deve includere experimental-cc-routine-2026-04-01. |
anthropic-version | Sì | La versione dell'API, ad esempio 2023-06-01. |
Content-Type | Quando è presente il body | application/json. |
| Nome | Tipo | Descrizione |
|---|---|---|
routine_id | string | L'identificatore della routine. Nonostante il nome del parametro, il valore ha il prefisso trig_ anziché routine_. Incluso nell'URL che la finestra modale mostra quando aggiungi un trigger API. |
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
text | string | No | Contesto iniziale per questa esecuzione, come il corpo di un alert, una riga di log con errore o un git diff. Il valore è testo libero e non viene analizzato; se invii JSON o un altro payload strutturato, la routine lo riceve come stringa letterale. Passato alla routine insieme al suo prompt salvato. Massimo 65.536 caratteri. |
Il body è opzionale. I campi sconosciuti nel body vengono ignorati.
Una richiesta riuscita restituisce 200 OK con i dettagli della nuova sessione:
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}| Campo | Tipo | Descrizione |
|---|---|---|
type | string | Sempre routine_fire. |
claude_code_session_id | string | L'ID della sessione di Claude Code creata per questa esecuzione. |
claude_code_session_url | string | Un link alla sessione su claude.ai. Aprilo in un browser per osservare l'esecuzione, rivedere le modifiche o continuare la conversazione. |
Gli errori utilizzano l'envelope di errore standard di Anthropic:
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| Stato HTTP | Tipo di errore | Causa |
|---|---|---|
| 400 | invalid_request_error | Header anthropic-beta mancante o non valido, text supera i 65.536 caratteri, oppure la routine è in pausa. |
| 401 | authentication_error | Nessun bearer token nell'header Authorization, oppure il token non corrisponde a questa routine. |
| 403 | permission_error | L'account o l'organizzazione non ha accesso a questo endpoint. |
| 404 | not_found_error | La routine non esiste. |
| 429 | rate_limit_error | È stato raggiunto il limite di esecuzioni della routine o il limite di utilizzo dell'account. La risposta include un header Retry-After che indica quando la finestra si reimposta. |
| 500 | api_error | Un errore imprevisto del server. |
| 503 | overloaded_error | Il servizio è temporaneamente sovraccarico. Riprova dopo un breve ritardo. La Claude Platform restituisce 529 per questo tipo di errore; questo endpoint restituisce 503. |
Il bearer token è limitato a una singola routine. Un token compromesso può solo attivare quella routine; non concede accesso in lettura, nessun accesso ad altre routine e nessun accesso ai dati dell'account.
Genera e revoca i token dalle impostazioni del trigger API della routine su claude.ai/code/routines. Non esiste un'API pubblica per la gestione dei token. Generare un nuovo token revoca quello precedente.
Ogni richiesta riuscita crea una nuova sessione. Non esiste una chiave di idempotenza. Se un chiamante webhook riprova, l'endpoint crea più sessioni.
Le esecuzioni delle routine vengono conteggiate rispetto a una quota giornaliera per account che varia in base al piano, e le sessioni risultanti consumano lo stesso utilizzo dell'abbonamento Claude Code delle sessioni interattive. Quando uno dei due limiti viene raggiunto, l'endpoint restituisce 429 rate_limit_error con un header Retry-After. Le organizzazioni con l'utilizzo extra abilitato continuano oltre la quota inclusa con addebito a consumo per l'eccedenza.
Le esecuzioni giornaliere rimanenti sono mostrate su claude.ai/code/routines. Per sapere come l'utilizzo delle routine interagisce con i limiti dell'abbonamento e la fatturazione dell'utilizzo extra, consulta Usage and limits nella documentazione di Claude Code.
Questo endpoint non è presente negli SDK di Anthropic. Il suo modello di token differisce dall'autenticazione tramite chiave API, e i chiamanti tipici come i job CI e i webhook di alerting inviano la richiesta direttamente.
Was this page helpful?