---
title: Déclencher une routine via l'API
url: https://platform.claude.com/docs/fr/api/claude-code/routines-fire
description: Démarrez une session de routine Claude Code à la demande en envoyant une requête POST authentifiée.
---

<Warning>
  Il s'agit d'une API expérimentale. Les formats de requête et de réponse, les « rate limits » (limites de débit) et la sémantique des jetons peuvent changer.
</Warning>

[Claude Code](https://code.claude.com/docs) est l'outil de codage agentique d'Anthropic. [Claude Code sur le web](https://code.claude.com/docs/fr/claude-code-on-the-web) exécute des sessions Claude Code sur une infrastructure cloud gérée par Anthropic à l'adresse claude.ai/code, et une [routine](https://code.claude.com/docs/fr/routines) 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](https://code.claude.com/docs/fr/claude-code-on-the-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](https://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 de l'espace de travail                                                                           |
| Prise en charge des SDK    | Aucune                                                                                                                                             | Disponible dans tous les [SDK clients](https://platform.claude.com/docs/fr/cli-sdks-libraries/overview) |
| Facturation                | Utilisation de l'abonnement Claude Code sur claude.ai                                                                                              | Utilisation de la Claude Platform                                                                       |
| Espace de noms des chemins | `/v1/claude_code/...`                                                                                                                              | `/v1/...`                                                                                               |
| Stabilité                  | Expérimental                                                                                                                                       | Stable ou bêta standard                                                                                 |

## Avant de commencer

Pour appeler ce point de terminaison, vous avez besoin :

1. D'une routine créée sur [claude.ai/code/routines](https://claude.ai/code/routines).
2. 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](https://code.claude.com/docs/fr/routines#add-an-api-trigger) dans la documentation Claude Code pour la procédure de configuration complète.

## Déclencher une routine

```http
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fire
```

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.

```bash cURL
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 "Content-Type: application/json" \
  -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
```

```yaml GitHub Actions
- 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 "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                 | Requis                      | 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-version` | Oui                         | La [version de l'API](https://platform.claude.com/docs/fr/api/versioning). `2023-06-01` est la seule valeur acceptée. |
| `Content-Type`      | Lorsqu'un corps est présent | `application/json`.                                                                                                   |

Les intégrations plus anciennes qui envoient un en-tête `anthropic-beta: experimental-cc-routine-2026-04-01` ne sont pas affectées : le point de terminaison accepte les requêtes avec ou sans cet en-tête.

### 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 :

```json
{
  "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](https://platform.claude.com/docs/fr/api/errors) standard d'Anthropic :

```json
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "<string>"
  }
}
```

| Statut HTTP | Type d'erreur           | Cause                                                                                                                                                                                                                                          |
| ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400         | `invalid_request_error` | En-tête `anthropic-version` manquant ou non pris en charge, `text` dépasse 65 536 caractères, ou la routine est en pause (consultez [Modifier et contrôler les routines](https://code.claude.com/docs/fr/routines#edit-and-control-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`      | Une limite horaire de déclenchements pour la routine ou pour le 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 « exponential backoff » (délai d'attente 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](https://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 déclenchements via l'API sont limités par heure. Chaque routine accepte jusqu'à 30 déclenchements par heure, partagés entre les déclenchements via l'API, le bouton **Run now** de l'interface web et les réarmements ponctuels. Chaque compte peut effectuer jusqu'à 100 déclenchements via l'API par heure sur l'ensemble de ses routines. Les sessions résultantes consomment l'utilisation de l'abonnement Claude Code de la même manière que les sessions interactives. Lorsqu'une limite est atteinte, le point de terminaison renvoie `429 rate_limit_error` avec un en-tête `Retry-After`.

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](https://code.claude.com/docs/fr/routines#usage-and-limits) dans la documentation de 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](https://code.claude.com/docs/fr/routines) dans la documentation de Claude Code
* [Erreurs](https://platform.claude.com/docs/fr/api/errors)
