Dies ist eine experimentelle API. Request- und Response-Formate, Ratenlimits und Token-Semantik können sich ändern. Breaking Changes werden hinter neuen datierten Beta-Header-Versionen ausgeliefert, und die beiden vorherigen Header-Versionen funktionieren weiterhin, damit Aufrufer Zeit für die Migration haben.
Claude Code ist Anthropics agentisches Coding-Tool. Claude Code on the web führt Claude Code-Sessions auf von Anthropic verwalteter Cloud-Infrastruktur unter claude.ai/code aus, und eine Routine ist dort eine gespeicherte Konfiguration: ein Prompt, ein oder mehrere Repositories und Connectors, so verpackt, dass sie unbeaufsichtigt nach einem Zeitplan, als Reaktion auf GitHub-Events oder bei einem Aufruf über HTTP ausgeführt werden kann.
Dieser Endpunkt ist der HTTP-Einstiegspunkt. Ein POST an ihn startet einen neuen Durchlauf einer bestehenden Routine und gibt die resultierende Session-ID und URL zurück. Typische Aufrufer sind Alerting-Systeme, CI-Pipelines und interne Tools, die eine Claude Code-Session programmatisch starten müssen.
Der Aufruf dieses Endpunkts erfordert ein claude.ai-Konto mit einem Pro-, Max-, Team- oder Enterprise-Plan, bei dem Claude Code on the web aktiviert ist. Authentifiziere dich mit einem routinenspezifischen Bearer-Token, das in der Claude Code-Web-UI erstellt wurde, und nicht mit einem Claude-API-Key.
Der Routine-Fire-Endpunkt gehört zur Claude Code-Produktoberfläche, die sich in einigen Punkten von den Claude Platform-APIs und -SDKs unterscheidet:
| Aspekt | Dieser Endpunkt | Claude Platform-APIs |
|---|---|---|
| Authentifizierung | Authorization: Bearer mit einem routinenspezifischen Token (sk-ant-oat01-...), erstellt unter claude.ai/code/routines | x-api-key mit einem Claude-API-Key aus der Claude Console |
| Token-Geltungsbereich | Nur eine Routine; kein Lesezugriff | Workspace-Ebene |
| SDK-Unterstützung | Keine | Verfügbar in allen Client-SDKs |
| Abrechnung | Claude Code-Abonnementnutzung auf claude.ai | Claude Platform-Nutzung |
| Pfad-Namespace | /v1/claude_code/... | /v1/... |
| Stabilität | Experimentell; erfordert anthropic-beta: experimental-cc-routine-2026-04-01 | Stabil oder Standard-Beta |
Um diesen Endpunkt aufzurufen, benötigst du:
Siehe Add an API trigger in der Claude Code-Dokumentation für die vollständige Einrichtungsanleitung.
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireJede Anfrage muss den Header anthropic-beta: experimental-cc-routine-2026-04-01 enthalten. Anfragen ohne diesen Header geben 400 invalid_request_error zurück.
Die Claude Code-Web-UI stellt die vollständige URL zusammen mit dem Token bereit, wenn du einen API-Trigger hinzufügst, sodass die meisten Integrationen beides als Secrets speichern und den Endpunkt direkt aufrufen. Die folgenden Beispiele zeigen einen Shell-Aufruf und einen GitHub-Actions-Step, der die Routine bei einem CI-Fehler auslöst.
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\"}"Die Anfrage kehrt zurück, sobald die Session erstellt wurde. Sie streamt keine Session-Ausgabe und wartet nicht auf den Abschluss der Session.
| Name | Erforderlich | Beschreibung |
|---|---|---|
Authorization | Ja | Bearer <token>. Das routinenspezifische Token, das in der Claude Code-Web-UI erstellt wurde, mit dem Präfix sk-ant-oat01-. |
anthropic-beta | Ja | Muss experimental-cc-routine-2026-04-01 enthalten. |
anthropic-version | Ja | Die API-Version, zum Beispiel 2023-06-01. |
Content-Type | Wenn ein Body vorhanden ist | application/json. |
| Name | Typ | Beschreibung |
|---|---|---|
routine_id | string | Der Bezeichner der Routine. Trotz des Parameternamens hat der Wert das Präfix trig_ und nicht routine_. Enthalten in der URL, die das Modal anzeigt, wenn du einen API-Trigger hinzufügst. |
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
text | string | Nein | Anfänglicher Kontext für diesen Durchlauf, etwa ein Alert-Body, eine fehlerhafte Log-Zeile oder ein Git-Diff. Der Wert ist Freitext und wird nicht geparst; wenn du JSON oder eine andere strukturierte Payload sendest, erhält die Routine diese als literalen String. Wird zusammen mit dem gespeicherten Prompt an die Routine übergeben. Maximal 65.536 Zeichen. |
Der Body ist optional. Unbekannte Felder im Body werden ignoriert.
Eine erfolgreiche Anfrage gibt 200 OK mit den Details der neuen Session zurück:
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}| Feld | Typ | Beschreibung |
|---|---|---|
type | string | Immer routine_fire. |
claude_code_session_id | string | Die ID der Claude Code-Session, die für diesen Durchlauf erstellt wurde. |
claude_code_session_url | string | Ein Link zur Session auf claude.ai. Öffne ihn in einem Browser, um den Durchlauf zu beobachten, Änderungen zu überprüfen oder die Konversation fortzusetzen. |
Fehler verwenden das standardmäßige Anthropic-Error-Envelope:
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| HTTP-Status | Fehlertyp | Ursache |
|---|---|---|
| 400 | invalid_request_error | Fehlender oder ungültiger anthropic-beta-Header, text überschreitet 65.536 Zeichen, oder die Routine ist pausiert. |
| 401 | authentication_error | Kein Bearer-Token im Authorization-Header, oder das Token passt nicht zu dieser Routine. |
| 403 | permission_error | Das Konto oder die Organisation hat keinen Zugriff auf diesen Endpunkt. |
| 404 | not_found_error | Die Routine existiert nicht. |
| 429 | rate_limit_error | Das Routine-Durchlauflimit oder Nutzungslimit des Kontos wurde erreicht. Die Response enthält einen Retry-After-Header, der angibt, wann das Zeitfenster zurückgesetzt wird. |
| 500 | api_error | Ein unerwarteter Serverfehler. |
| 503 | overloaded_error | Der Dienst ist vorübergehend überlastet. Versuche es nach einer kurzen Verzögerung erneut. Die Claude Platform gibt für diesen Fehlertyp 529 zurück; dieser Endpunkt gibt 503 zurück. |
Das Bearer-Token ist auf eine einzelne Routine beschränkt. Ein kompromittiertes Token kann nur diese Routine auslösen; es gewährt keinen Lesezugriff, keinen Zugriff auf andere Routinen und keinen Zugriff auf Kontodaten.
Generiere und widerrufe Tokens in den API-Trigger-Einstellungen der Routine unter claude.ai/code/routines. Es gibt keine öffentliche API für die Token-Verwaltung. Das Generieren eines neuen Tokens widerruft das vorherige.
Jede erfolgreiche Anfrage erstellt eine neue Session. Es gibt keinen Idempotenz-Key. Wenn ein Webhook-Aufrufer einen Retry durchführt, erstellt der Endpunkt mehrere Sessions.
Routine-Durchläufe werden auf ein tägliches Kontingent pro Konto angerechnet, das je nach Plan variiert, und die resultierenden Sessions verbrauchen dieselbe Claude Code-Abonnementnutzung wie interaktive Sessions. Wenn eines der beiden Limits erreicht ist, gibt der Endpunkt 429 rate_limit_error mit einem Retry-After-Header zurück. Organisationen mit aktivierter zusätzlicher Nutzung überschreiten das enthaltene Kontingent mit nutzungsbasierter Abrechnung.
Deine verbleibenden täglichen Durchläufe werden unter claude.ai/code/routines angezeigt. Wie die Routine-Nutzung mit Abonnementlimits und der Abrechnung zusätzlicher Nutzung zusammenhängt, erfährst du unter Usage and limits in der Claude Code-Dokumentation.
Dieser Endpunkt ist nicht in den Anthropic-SDKs enthalten. Sein Token-Modell unterscheidet sich von der API-Key-Authentifizierung, und typische Aufrufer wie CI-Jobs und Alerting-Webhooks senden die Anfrage direkt.
Was this page helpful?