---
title: "Vérifier de façon déterministe le contrat de livraison"
method: POST
path: "/api/v1/agent-runs/{id}/delivery/verify"
tags: ["Agent Runs"]
---

# Vérifier de façon déterministe le contrat de livraison

`POST /api/v1/agent-runs/{id}/delivery/verify`

## Request

- Base URL: `https://arcadeops.leadalpes.fr`
- URL: `https://arcadeops.leadalpes.fr/api/v1/agent-runs/{id}/delivery/verify`
- Auth: none declared

Évalue le contrat déclaré contre l'état durable du run, enregistre une `RunEvaluation` versionnée et scelle une version d'Evidence Pack. Aucun signal manquant n'est simulé.

## Path parameters

- `id` string, required

## Response `201`

Créé

- object
  - `runId` string, required
  - `verdict` 'PASS' | 'FAIL' | 'NOT_APPLICABLE', required
  - `coverage` 'authoritative' | 'supporting' | 'none', required
  - `applicableChecks` integer, required
  - `passedChecks` integer, required
  - `failedChecks` integer, required
  - `unevaluated` string[], required
  - `evidenceHash` string, required
  - `evaluationId` string, nullable, required
  - `evidencePackId` string, required
  - `evidencePackVersion` integer, required
  - `evidencePackSha256` string, required
  - `releaseDecision` 'READY' | 'SAFE' | 'BLOCKED' | 'NEEDS_REVIEW' | 'REJECTED', required
  - `truth` object, required
    - `schema` 'arcadeops.delivery-truth.v1', required
    - `runId` string, required
    - `projectId` string, nullable, required
    - `taskId` string, nullable, required
    - `execution` object, required
      - `state` 'PENDING' | 'RUNNING' | 'AWAITING_APPROVAL' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required
      - `reasonCode` 'EXECUTION_PENDING' | 'EXECUTION_RUNNING' | 'EXECUTION_AWAITING_APPROVAL' | 'EXECUTION_FAILED' | 'EXECUTION_CANCELLED' | 'DELIVERY_NOT_STARTED' | 'DELIVERY_MISSING_ARTIFACT' | 'DELIVERY_PARTIAL' | 'DELIVERY_PRODUCED' | 'VERIFICATION_NOT_EVALUATED' | 'VERIFICATION_SIGNAL_UNAVAILABLE' | 'VERIFICATION_COVERAGE_NOT_AUTHORITATIVE' | 'VERIFICATION_PARTIAL' | 'VERIFICATION_FAILED' | 'VERIFICATION_PASSED' | 'EVIDENCE_PACK_MISSING' | 'EVIDENCE_PACK_INCOMPLETE' | 'EVIDENCE_PACK_STALE' | 'EVIDENCE_OBSERVATIONS_CHANGED' | 'EVIDENCE_REVIEW_BINDING_MISSING' | 'EVIDENCE_PACK_SIGNATURE_INVALID' | 'EVIDENCE_PACK_RUN_MISMATCH' | 'POLICY_BLOCKING' | 'AUTHORIZATION_REVOKED' | 'ACCEPTANCE_PENDING' | 'ACCEPTANCE_ACCEPTED' | 'ACCEPTANCE_SELF_APPROVED' | 'ACCEPTANCE_CHANGES_REQUESTED' | 'ACCEPTANCE_REJECTED' | 'ACCEPTANCE_SUSPENDED' | 'ACCEPTANCE_DECISION_RECORDED' | 'ACCEPTANCE_SUPERSEDED_BY_NEW_VERSION' | 'ACCEPTANCE_NOT_APPLICABLE' | 'HISTORICAL_RUN_UNKNOWN', nullable, required
    - `delivery` object, required
      - `state` 'MISSING' | 'PARTIAL' | 'PRODUCED', required
      - `artifactCount` integer, required
      - `missingEvidence` string[], required
      - `reasonCode` 'EXECUTION_PENDING' | 'EXECUTION_RUNNING' | 'EXECUTION_AWAITING_APPROVAL' | 'EXECUTION_FAILED' | 'EXECUTION_CANCELLED' | 'DELIVERY_NOT_STARTED' | 'DELIVERY_MISSING_ARTIFACT' | 'DELIVERY_PARTIAL' | 'DELIVERY_PRODUCED' | 'VERIFICATION_NOT_EVALUATED' | 'VERIFICATION_SIGNAL_UNAVAILABLE' | 'VERIFICATION_COVERAGE_NOT_AUTHORITATIVE' | 'VERIFICATION_PARTIAL' | 'VERIFICATION_FAILED' | 'VERIFICATION_PASSED' | 'EVIDENCE_PACK_MISSING' | 'EVIDENCE_PACK_INCOMPLETE' | 'EVIDENCE_PACK_STALE' | 'EVIDENCE_OBSERVATIONS_CHANGED' | 'EVIDENCE_REVIEW_BINDING_MISSING' | 'EVIDENCE_PACK_SIGNATURE_INVALID' | 'EVIDENCE_PACK_RUN_MISMATCH' | 'POLICY_BLOCKING' | 'AUTHORIZATION_REVOKED' | 'ACCEPTANCE_PENDING' | 'ACCEPTANCE_ACCEPTED' | 'ACCEPTANCE_SELF_APPROVED' | 'ACCEPTANCE_CHANGES_REQUESTED' | 'ACCEPTANCE_REJECTED' | 'ACCEPTANCE_SUSPENDED' | 'ACCEPTANCE_DECISION_RECORDED' | 'ACCEPTANCE_SUPERSEDED_BY_NEW_VERSION' | 'ACCEPTANCE_NOT_APPLICABLE' | 'HISTORICAL_RUN_UNKNOWN', required
    - `verification` object, required
      - `state` 'NOT_EVALUATED' | 'PASS' | 'PARTIAL' | 'FAIL', required
      - `goalStatus` 'pass' | 'partial' | 'fail' | 'blocked' | 'not_evaluated', required
      - `verdictSource` string, nullable, required
      - `deterministicVerdict` string, nullable, required
      - `coverage` string, nullable, required
      - `applicableChecks` integer, nullable, required
      - `passedChecks` integer, nullable, required
      - `failedChecks` integer, nullable, required
      - `notEvaluatedChecks` integer, nullable, required
      - `evidenceHash` string, nullable, required
      - `checks` object[], required
        - `id` string, required
        - `name` string, required
        - `result` string, required
        - `detail` string, required
      - `reasonCode` 'EXECUTION_PENDING' | 'EXECUTION_RUNNING' | 'EXECUTION_AWAITING_APPROVAL' | 'EXECUTION_FAILED' | 'EXECUTION_CANCELLED' | 'DELIVERY_NOT_STARTED' | 'DELIVERY_MISSING_ARTIFACT' | 'DELIVERY_PARTIAL' | 'DELIVERY_PRODUCED' | 'VERIFICATION_NOT_EVALUATED' | 'VERIFICATION_SIGNAL_UNAVAILABLE' | 'VERIFICATION_COVERAGE_NOT_AUTHORITATIVE' | 'VERIFICATION_PARTIAL' | 'VERIFICATION_FAILED' | 'VERIFICATION_PASSED' | 'EVIDENCE_PACK_MISSING' | 'EVIDENCE_PACK_INCOMPLETE' | 'EVIDENCE_PACK_STALE' | 'EVIDENCE_OBSERVATIONS_CHANGED' | 'EVIDENCE_REVIEW_BINDING_MISSING' | 'EVIDENCE_PACK_SIGNATURE_INVALID' | 'EVIDENCE_PACK_RUN_MISMATCH' | 'POLICY_BLOCKING' | 'AUTHORIZATION_REVOKED' | 'ACCEPTANCE_PENDING' | 'ACCEPTANCE_ACCEPTED' | 'ACCEPTANCE_SELF_APPROVED' | 'ACCEPTANCE_CHANGES_REQUESTED' | 'ACCEPTANCE_REJECTED' | 'ACCEPTANCE_SUSPENDED' | 'ACCEPTANCE_DECISION_RECORDED' | 'ACCEPTANCE_SUPERSEDED_BY_NEW_VERSION' | 'ACCEPTANCE_NOT_APPLICABLE' | 'HISTORICAL_RUN_UNKNOWN', required
    - `acceptance` object, required
      - `state` 'NOT_APPLICABLE' | 'PENDING' | 'ACCEPTED' | 'CHANGES_REQUESTED' | 'REJECTED' | 'SUSPENDED', required
      - `decision` 'ACCEPTED' | 'CHANGES_REQUESTED' | 'REJECTED' | 'SUSPENDED', nullable, required
      - `decidedAt` string, nullable, required
      - `actorDigest` string, nullable, required
      - `commentDigest` string, nullable, required
      - `reviewedEvidencePackSha256` string, nullable, required
      - `reviewedEvidencePackVersion` integer, nullable, required
      - `followUpTaskId` string, nullable, required
      - `selfApproved` boolean, required
      - `superseded` boolean, required
      - `reasonCode` 'EXECUTION_PENDING' | 'EXECUTION_RUNNING' | 'EXECUTION_AWAITING_APPROVAL' | 'EXECUTION_FAILED' | 'EXECUTION_CANCELLED' | 'DELIVERY_NOT_STARTED' | 'DELIVERY_MISSING_ARTIFACT' | 'DELIVERY_PARTIAL' | 'DELIVERY_PRODUCED' | 'VERIFICATION_NOT_EVALUATED' | 'VERIFICATION_SIGNAL_UNAVAILABLE' | 'VERIFICATION_COVERAGE_NOT_AUTHORITATIVE' | 'VERIFICATION_PARTIAL' | 'VERIFICATION_FAILED' | 'VERIFICATION_PASSED' | 'EVIDENCE_PACK_MISSING' | 'EVIDENCE_PACK_INCOMPLETE' | 'EVIDENCE_PACK_STALE' | 'EVIDENCE_OBSERVATIONS_CHANGED' | 'EVIDENCE_REVIEW_BINDING_MISSING' | 'EVIDENCE_PACK_SIGNATURE_INVALID' | 'EVIDENCE_PACK_RUN_MISMATCH' | 'POLICY_BLOCKING' | 'AUTHORIZATION_REVOKED' | 'ACCEPTANCE_PENDING' | 'ACCEPTANCE_ACCEPTED' | 'ACCEPTANCE_SELF_APPROVED' | 'ACCEPTANCE_CHANGES_REQUESTED' | 'ACCEPTANCE_REJECTED' | 'ACCEPTANCE_SUSPENDED' | 'ACCEPTANCE_DECISION_RECORDED' | 'ACCEPTANCE_SUPERSEDED_BY_NEW_VERSION' | 'ACCEPTANCE_NOT_APPLICABLE' | 'HISTORICAL_RUN_UNKNOWN', required
    - `evidence` object, required
      - `packId` string, nullable, required
      - `packVersion` integer, nullable, required
      - `packSha256` string, nullable, required
      - `completeness` 'COMPLETE' | 'INCOMPLETE', nullable, required
      - `signatureValid` boolean, nullable, required
      - `missingEvidence` string[], required
      - `certificateId` string, nullable, required
      - `certificateStatus` 'ISSUED' | 'REVOKED', nullable, required
    - `reviewVersionSha256` string, nullable, required
    - `readyForAcceptance` boolean, required
    - `blockingReasons` string[], required
    - `reasonCode` 'EXECUTION_PENDING' | 'EXECUTION_RUNNING' | 'EXECUTION_AWAITING_APPROVAL' | 'EXECUTION_FAILED' | 'EXECUTION_CANCELLED' | 'DELIVERY_NOT_STARTED' | 'DELIVERY_MISSING_ARTIFACT' | 'DELIVERY_PARTIAL' | 'DELIVERY_PRODUCED' | 'VERIFICATION_NOT_EVALUATED' | 'VERIFICATION_SIGNAL_UNAVAILABLE' | 'VERIFICATION_COVERAGE_NOT_AUTHORITATIVE' | 'VERIFICATION_PARTIAL' | 'VERIFICATION_FAILED' | 'VERIFICATION_PASSED' | 'EVIDENCE_PACK_MISSING' | 'EVIDENCE_PACK_INCOMPLETE' | 'EVIDENCE_PACK_STALE' | 'EVIDENCE_OBSERVATIONS_CHANGED' | 'EVIDENCE_REVIEW_BINDING_MISSING' | 'EVIDENCE_PACK_SIGNATURE_INVALID' | 'EVIDENCE_PACK_RUN_MISMATCH' | 'POLICY_BLOCKING' | 'AUTHORIZATION_REVOKED' | 'ACCEPTANCE_PENDING' | 'ACCEPTANCE_ACCEPTED' | 'ACCEPTANCE_SELF_APPROVED' | 'ACCEPTANCE_CHANGES_REQUESTED' | 'ACCEPTANCE_REJECTED' | 'ACCEPTANCE_SUSPENDED' | 'ACCEPTANCE_DECISION_RECORDED' | 'ACCEPTANCE_SUPERSEDED_BY_NEW_VERSION' | 'ACCEPTANCE_NOT_APPLICABLE' | 'HISTORICAL_RUN_UNKNOWN', required
    - `displayStatus` string, required
    - `displayTone` 'neutral' | 'positive' | 'warning' | 'danger', required
    - `nextAction` 'wait' | 'review_and_decide' | 'explain_block' | 'request_verification' | 'rework' | 'none', required

---

[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)
