Une session est une instance d'agent en cours d'exécution dans un environnement. Chaque session fait référence à un agent et à un environnement (tous deux créés séparément), et maintient l'historique des conversations à travers plusieurs interactions.
Toutes les requêtes API Managed Agents nécessitent l'en-tête bêta managed-agents-2026-04-01. Le SDK définit automatiquement l'en-tête bêta.
Une session nécessite un identifiant agent et un identifiant environment. Les agents sont des ressources versionnées ; passer l'identifiant agent sous forme de chaîne démarre la session avec la dernière version de l'agent.
Was this page helpful?
session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": "$AGENT_ID",
"environment_id": "$ENVIRONMENT_ID"
}
EOF
)
SESSION_ID=$(jq -r '.id' <<< "$session")Pour épingler une session à une version spécifique de l'agent, passez un objet. Cela vous permet de contrôler exactement quelle version s'exécute et de gérer les déploiements progressifs de nouvelles versions de manière indépendante.
pinned_session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": {"type": "agent", "id": "$AGENT_ID", "version": 1},
"environment_id": "$ENVIRONMENT_ID"
}
EOF
)
PINNED_SESSION_ID=$(jq -r '.id' <<< "$pinned_session")L'agent définit le comportement de Claude au sein de la session, notamment le modèle, le prompt système, les outils et les serveurs MCP. Consultez Configuration de l'agent pour plus de détails.
Si votre agent utilise des outils MCP nécessitant une authentification, passez vault_ids lors de la création de la session pour référencer un coffre contenant des identifiants OAuth stockés. Anthropic gère le renouvellement des jetons en votre nom. Consultez S'authentifier avec les coffres pour savoir comment créer des coffres et enregistrer des identifiants.
vault_session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": "$AGENT_ID",
"environment_id": "$ENVIRONMENT_ID",
"vault_ids": ["$VAULT_ID"]
}
EOF
)
VAULT_SESSION_ID=$(jq -r '.id' <<< "$vault_session")La création d'une session provisionne l'environnement et l'agent, mais ne démarre aucun travail. Pour déléguer une tâche, envoyez des événements à la session en utilisant un événement utilisateur. La session agit comme une machine à états qui suit la progression tandis que les événements pilotent l'exécution réelle.
curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID/events" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<'EOF'
{
"events": [
{
"type": "user.message",
"content": [{"type": "text", "text": "List the files in the working directory."}]
}
]
}
EOFConsultez Événements et streaming pour savoir comment diffuser les réponses de l'agent et gérer les confirmations d'outils.
Les sessions progressent à travers ces statuts :
| Statut | Description |
|---|---|
idle | L'agent attend une entrée, notamment des messages utilisateur ou des confirmations d'outils. Les sessions démarrent en état idle. |
running | L'agent est en cours d'exécution active |
rescheduling | Une erreur transitoire s'est produite, nouvelle tentative automatique |
terminated | La session s'est terminée en raison d'une erreur irrécupérable |
retrieved=$(curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01")
echo "Status: $(jq -r '.status' <<< "$retrieved")"curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
| jq -r '.data[] | "\(.id): \(.status)"'Archivez une session pour empêcher l'envoi de nouveaux événements tout en préservant son historique :
curl -fsSL -X POST "https://api.anthropic.com/v1/sessions/$SESSION_ID/archive" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"Supprimez une session pour effacer définitivement son enregistrement, ses événements et le conteneur associé. Une session en état running ne peut pas être supprimée ; envoyez un événement d'interruption si vous devez la supprimer immédiatement.
Les fichiers, les magasins de mémoire, les environnements et les agents sont des ressources indépendantes et ne sont pas affectés par la suppression d'une session.
curl -fsSL -X DELETE "https://api.anthropic.com/v1/sessions/$SESSION_ID" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"