---
title: "Autoriser une exécution Codex externe pour une Mission"
method: POST
path: "/api/v1/missions/{id}/external-executions"
tags: ["AI Workforce", "Runs externes"]
---

# Autoriser une exécution Codex externe pour une Mission

`POST /api/v1/missions/{id}/external-executions`

## Request

- Base URL: `https://arcadeops.leadalpes.fr`
- URL: `https://arcadeops.leadalpes.fr/api/v1/missions/{id}/external-executions`
- Auth: none declared. Required headers: `Idempotency-Key`

Crée et réclame atomiquement un AgentRun lié à la Mission, réserve son budget et émet un grant signé, tenanté, borné et à durée de vie courte. L'en-tête Idempotency-Key est obligatoire.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- ExternalExecutionAuthorizationRequest
  - `agentId` string
  - `scopes` string[], required
  - `allowedTools` string[], required
  - `budget` object, required
    - `maxCostMicros` string, required
    - `maxTokens` integer, required
  - `repository` object, nullable
    - `repository` string, required
    - `branch` string, required
    - `baseCommit` string, required
  - `provider` string, required
  - `model` string, required
  - `client` string, required
  - `protocol` 'arcadeops.external-execution.v1', required
  - `ttlSeconds` integer, required

## Response `201`

Exécution externe autorisée et budget réservé

- ExternalExecutionAuthorizationResponse
  - `externalExecutionId` string, required
  - `runId` string, required
  - `grantToken` string, required
  - `tokenType` 'Bearer', required
  - `expiresAt` string, date-time, required
  - `eventEndpoint` string, uri, required
  - `attestation` object, required
    - `provider` 'github-actions', required
    - `audience` string, required
    - `endpoint` string, uri, required
    - `workflowRef` string, required
    - `challenge` string, uuid, required
  - `providerReceipt` object, required
    - `schema` 'arcadeops.provider-usage-receipt.v1', required
    - `audience` 'arcadeops:provider-usage-receipt', required
    - `clientReferenceDigest` string, required
  - `protocol` 'arcadeops.external-execution.v1', required
  - `scopes` string[], required

## Other responses

- `400`: Contrat, Mission ou Idempotency-Key invalide
- `401`: Authentification requise
- `403`: Droits RUN_INGEST insuffisants
- `404`: Mission absente ou inaccessible dans cette organisation
- `409`: Mission déjà réclamée, budget refusé ou clé en conflit
- `429`: Limite de requêtes atteinte
- `503`: Secret de signature ou service de budget indisponible

---

[API](https://skmtc.dev/leadalpes/apis/arcadeops-api.md) · [All operations](https://skmtc.dev/leadalpes/apis/arcadeops-api/llms.txt) · [OpenAPI document](https://skmtc.dev/leadalpes/apis/arcadeops-api/revisions/f10422ec7412?raw)
