Déclencher une routine via l'API
Démarrez une session de routine Claude Code à la demande en envoyant une requête POST authentifiée.
Claude Code est l'outil de codage agentique d'Anthropic. Claude Code sur le web exécute des sessions Claude Code sur une infrastructure cloud gérée par Anthropic à l'adresse claude.ai/code, et une routine y est une configuration enregistrée : un prompt, un ou plusieurs dépôts et des connecteurs, regroupés de manière à pouvoir s'exécuter sans surveillance selon un calendrier, en réponse à des événements GitHub ou lors d'un appel via HTTP.
Ce point de terminaison est le point d'entrée HTTP. Y envoyer une requête POST démarre une nouvelle exécution d'une routine existante et renvoie l'ID et l'URL de la session résultante. Les appelants typiques sont des systèmes d'alerte, des pipelines CI et des outils internes qui doivent démarrer une session Claude Code par programmation.
L'appel de ce point de terminaison nécessite un compte claude.ai avec un forfait Pro, Max, Team ou Enterprise sur lequel Claude Code sur le web est activé. Authentifiez-vous avec un « bearer token » (jeton porteur) propre à chaque routine, créé dans l'interface web de Claude Code, plutôt qu'avec une clé API Claude.
Différences avec la Claude Platform
Le point de terminaison de déclenchement de routine appartient à la surface produit Claude Code, qui diffère des API et SDK de la Claude Platform sur plusieurs points :
| Aspect | Ce point de terminaison | API de la Claude Platform |
|---|---|---|
| Authentification | Authorization: Bearer avec un jeton propre à la routine (sk-ant-oat01-...) créé sur claude.ai/code/routines | x-api-key avec une clé API Claude provenant de la Claude Console |
| Portée du jeton | Une seule routine ; aucun accès en lecture | Niveau espace de travail |
| Prise en charge SDK | Aucune | Disponible dans tous les SDK clients |
| Facturation | Utilisation de l'abonnement Claude Code sur claude.ai | Utilisation de la Claude Platform |
| Espace de noms du chemin | /v1/claude_code/... | /v1/... |
| Stabilité | Expérimental ; nécessite anthropic-beta: experimental-cc-routine-2026-04-01 | Stable ou bêta standard |
Avant de commencer
Pour appeler ce point de terminaison, vous avez besoin :
- D'une routine créée sur claude.ai/code/routines.
- D'un jeton porteur généré pour cette routine : ouvrez la routine en mode édition, cliquez sur Add another trigger sous Select a trigger, choisissez API, puis cliquez sur Generate token dans la fenêtre modale. Le jeton n'est affiché qu'une seule fois et ne peut pas être récupéré ultérieurement.
Consultez Ajouter un déclencheur API dans la documentation Claude Code pour la procédure de configuration complète.
Déclencher une routine
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireChaque requête doit inclure l'en-tête anthropic-beta: experimental-cc-routine-2026-04-01. Les requêtes qui ne le contiennent pas renvoient 400 invalid_request_error.
L'interface web de Claude Code fournit l'URL complète en même temps que le jeton lorsque vous ajoutez un déclencheur API ; la plupart des intégrations stockent donc les deux en tant que secrets et appellent directement le point de terminaison. Les exemples suivants montrent un appel shell et une étape GitHub Actions qui déclenche la routine en cas d'échec de la 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 requête renvoie une réponse dès que la session est créée. Elle ne diffuse pas la sortie de la session en streaming et n'attend pas que la session se termine.
En-têtes
| Nom | Obligatoire | Description |
|---|---|---|
Authorization | Oui | Bearer <token>. Le jeton propre à la routine créé dans l'interface web de Claude Code, préfixé par sk-ant-oat01-. |
anthropic-beta | Oui | Doit inclure experimental-cc-routine-2026-04-01. |
anthropic-version | Oui | La version de l'API, par exemple 2023-06-01. |
Content-Type | Lorsqu'un corps est présent | application/json. |
Paramètres de chemin
| Nom | Type | Description |
|---|---|---|
routine_id | string | L'identifiant de la routine. Malgré le nom du paramètre, la valeur est préfixée par trig_ plutôt que par routine_. Inclus dans l'URL affichée par la fenêtre modale lorsque vous ajoutez un déclencheur API. |
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
text | string | Non | Contexte initial pour cette exécution, tel que le corps d'une alerte, une ligne de journal en échec ou un diff git. La valeur est du texte libre et n'est pas analysée ; si vous envoyez du JSON ou une autre charge utile structurée, la routine la reçoit sous forme de chaîne littérale. Transmis à la routine en complément de son prompt enregistré. Maximum 65 536 caractères. |
Le corps est facultatif. Les champs inconnus dans le corps sont ignorés.
Réponse
Une requête réussie renvoie 200 OK avec les détails de la nouvelle session :
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}| Champ | Type | Description |
|---|---|---|
type | string | Toujours routine_fire. |
claude_code_session_id | string | L'ID de la session Claude Code créée pour cette exécution. |
claude_code_session_url | string | Un lien vers la session sur claude.ai. Ouvrez-le dans un navigateur pour suivre l'exécution, examiner les modifications ou poursuivre la conversation. |
Erreurs
Les erreurs utilisent l'enveloppe d'erreur standard d'Anthropic :
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| Statut HTTP | Type d'erreur | Cause |
|---|---|---|
| 400 | invalid_request_error | En-tête anthropic-beta manquant ou invalide, text dépasse 65 536 caractères, ou la routine est en pause (voir Modifier et contrôler les routines). |
| 401 | authentication_error | Aucun jeton porteur dans l'en-tête Authorization, ou le jeton ne correspond pas à cette routine. |
| 403 | permission_error | Le compte ou l'organisation n'a pas accès à ce point de terminaison. |
| 404 | not_found_error | La routine n'existe pas. |
| 429 | rate_limit_error | La limite d'exécutions de routines ou la limite d'utilisation du compte a été atteinte. La réponse inclut un en-tête Retry-After indiquant quand la fenêtre se réinitialise. |
| 500 | api_error | Une erreur serveur inattendue. Réessayez avec un backoff exponentiel ; si l'erreur persiste, contactez le support en indiquant l'ID de la requête. |
| 503 | overloaded_error | Le service est temporairement surchargé. Réessayez après un court délai. La Claude Platform renvoie 529 pour ce type d'erreur ; ce point de terminaison renvoie 503. |
Authentification
Le jeton porteur est limité à une seule routine. Un jeton compromis ne peut déclencher que cette routine ; il n'accorde aucun accès en lecture, aucun accès aux autres routines et aucun accès aux données du compte.
Générez et révoquez les jetons depuis les paramètres du déclencheur API de la routine sur claude.ai/code/routines. Il n'existe pas d'API publique pour la gestion des jetons. La génération d'un nouveau jeton révoque le précédent.
Idempotence
Chaque requête réussie crée une nouvelle session. Il n'y a pas de clé d'idempotence. Si un appelant webhook effectue de nouvelles tentatives, le point de terminaison crée plusieurs sessions.
Limites de débit
Les exécutions de routines sont décomptées d'une allocation quotidienne par compte qui varie selon le forfait, et les sessions résultantes consomment la même utilisation de l'abonnement Claude Code que les sessions interactives. Lorsque l'une ou l'autre limite est atteinte, le point de terminaison renvoie 429 rate_limit_error avec un en-tête Retry-After. Les organisations ayant activé l'utilisation supplémentaire continuent au-delà de l'allocation incluse avec un dépassement facturé à l'usage.
Consultez vos exécutions quotidiennes restantes sur claude.ai/code/routines. Pour savoir comment l'utilisation des routines interagit avec les limites d'abonnement et la facturation de l'utilisation supplémentaire, consultez Utilisation et limites dans la documentation Claude Code.
Prise en charge SDK
Ce point de terminaison ne figure pas dans les SDK Anthropic. Son modèle de jeton diffère de l'authentification par clé API, et les appelants typiques tels que les tâches CI et les webhooks d'alerte envoient la requête directement.
Voir aussi
- Automatiser le travail avec les routines dans la documentation Claude Code
- En-têtes bêta
- Erreurs
Was this page helpful?