Provision a Mission Control delivery graph
POST
/v1/projects/{projectId}/delivery-plan/provisionAtomically creates and binds the project Function, Metronome workflow, published Test Plan, published Evaluation, planned Agent Optimization job, published Assurance Policy, and dependency-linked delivery tickets. Repeated calls are idempotent.
How to call this endpoint
Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.
Path, query, and header parameters
These parameters control which ACP object the endpoint acts on and how the request is processed.
Path parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| projectId | path | string | Yes | Project ID |
Query parameters
None.
Body schema
This endpoint does not require a request body.
None.
What the API returns
Each response code below includes the documented payload shape for the ACP API.
200Delivery resources were already provisionedapplication/json
| Field | Type | Required | Description |
|---|---|---|---|
| deliveryPlan | object | Yes | — |
| deliveryPlan.id | string | Yes | Unique identifier. |
| deliveryPlan.projectId | string | Yes | Project ID. |
| deliveryPlan.userId | string | Yes | User ID. |
| deliveryPlan.organizationId | string | No | — |
| deliveryPlan.createdByUserId | string | No | — |
| deliveryPlan.schemaVersion | computer_agents_project_delivery_contract_v3 | Yes | — |
| deliveryPlan.contract | object | Yes | — |
| deliveryPlan.contract.schemaVersion | computer_agents_project_delivery_contract_v3 | No | — |
| deliveryPlan.contract.mode | assisted | autonomous | No | — |
| deliveryPlan.contract.goal | string | Yes | — |
| deliveryPlan.contract.validationAssets | object[] | No | — |
| deliveryPlan.contract.validationAssets[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.validationAssets[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.validationAssets[].uri | string | Yes | — |
| deliveryPlan.contract.validationAssets[].kind | validation_set | training_set | specification | source_document | other | Yes | — |
| deliveryPlan.contract.validationAssets[].sha256 | string | No | — |
| deliveryPlan.contract.agents | object | Yes | — |
| deliveryPlan.contract.agents.executionAgentId | string | No | — |
| deliveryPlan.contract.agents.targetAgentId | string | Yes | — |
| deliveryPlan.contract.agents.fineTunerAgentId | string | No | — |
| deliveryPlan.contract.agents.reviewerUserId | string | No | — |
| deliveryPlan.contract.topology | object | Yes | — |
| deliveryPlan.contract.topology.resources | object[] | Yes | — |
| deliveryPlan.contract.topology.resources[].key | string | Yes | — |
| deliveryPlan.contract.topology.resources[].kind | function | Yes | — |
| deliveryPlan.contract.topology.resources[].lifecycle | managed | existing | No | — |
| deliveryPlan.contract.topology.resources[].resourceId | string | No | — |
| deliveryPlan.contract.topology.resources[].versionId | string | No | — |
| deliveryPlan.contract.topology.resources[].deploymentRevision | string | No | — |
| deliveryPlan.contract.topology.resources[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.topology.resources[].description | string | No | Human-readable description. |
| deliveryPlan.contract.topology.resources[].runtime | nodejs22 | python312 | No | — |
| deliveryPlan.contract.topology.resources[].region | string | No | — |
| deliveryPlan.contract.topology.resources[].authMode | public | private | No | — |
| deliveryPlan.contract.topology.resources[].sourcePath | string | No | Workspace-relative file path. |
| deliveryPlan.contract.topology.connections | object[] | Yes | — |
| deliveryPlan.contract.topology.connections[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.topology.connections[].source | string | Yes | — |
| deliveryPlan.contract.topology.connections[].target | string | Yes | — |
| deliveryPlan.contract.topology.connections[].type | depends_on | invokes | triggers | reads | writes | uses_secrets | runs_in | uses_mcp | Yes | — |
| deliveryPlan.contract.topology.connections[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services | object | Yes | — |
| deliveryPlan.contract.services.tests | object | Yes | — |
| deliveryPlan.contract.services.tests.enabled | true | No | — |
| deliveryPlan.contract.services.tests.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.tests.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.tests.definition | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.schemaVersion | computer_agents_test_plan_v1 | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases | object[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.tests.definition.cases[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.tests.definition.cases[].description | string | Yes | Human-readable description. |
| deliveryPlan.contract.services.tests.definition.cases[].kind | command | contract | integration | browser | agent | security | custom | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].retries | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].request | object | Yes | Kind-specific structured request. Secrets must be referenced through `secretRefs`. |
| deliveryPlan.contract.services.tests.definition.cases[].assertions | object[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].agentId | string | Yes | Agent ID. |
| deliveryPlan.contract.services.tests.definition.cases[].enabled | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].tags | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.concurrency | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.stopOnFailure | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy.maxAttempts | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy.backoffMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainLogs | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainScreenshots | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainTraces | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainArtifacts | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.redactSecrets | boolean | Yes | — |
| deliveryPlan.contract.services.evaluation | object | Yes | — |
| deliveryPlan.contract.services.evaluation.enabled | true | No | — |
| deliveryPlan.contract.services.evaluation.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.evaluation.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.evaluation.cases | object[] | No | — |
| deliveryPlan.contract.services.evaluation.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.evaluation.cases[].input | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].expectedOutput | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].evaluationGuidance | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].optimizationRole | train | validation | holdout | No | — |
| deliveryPlan.contract.services.evaluation.cases[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.evaluation.source | object | No | — |
| deliveryPlan.contract.services.evaluation.source.type | existing_evaluation_version | Yes | — |
| deliveryPlan.contract.services.evaluation.source.evaluationId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.source.versionId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.source.datasetAssetId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.target | object | No | — |
| deliveryPlan.contract.services.evaluation.target.kind | agent | Yes | — |
| deliveryPlan.contract.services.evaluation.target.agentId | string | No | Agent ID. |
| deliveryPlan.contract.services.evaluation.evaluator | object | No | — |
| deliveryPlan.contract.services.evaluation.evaluator.type | exact | Yes | — |
| deliveryPlan.contract.services.evaluation.passThreshold | number | No | — |
| deliveryPlan.contract.services.workflowAcceptance | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.enabled | true | No | — |
| deliveryPlan.contract.services.workflowAcceptance.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.workflowAcceptance.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.workflowAcceptance.cases | object[] | No | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.workflowAcceptance.cases[].input | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].expectedOutput | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].evaluationGuidance | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].optimizationRole | train | validation | holdout | No | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.workflowAcceptance.source | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.source.type | existing_evaluation_version | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.evaluationId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.versionId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.datasetAssetId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.target | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.target.kind | agent | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.target.agentId | string | No | Agent ID. |
| deliveryPlan.contract.services.workflowAcceptance.evaluator | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.evaluator.type | exact | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.passThreshold | number | No | — |
| deliveryPlan.contract.services.optimization | object | Yes | — |
| deliveryPlan.contract.services.optimization.enabled | boolean | No | — |
| deliveryPlan.contract.services.optimization.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.optimization.instructions | string | Yes | — |
| deliveryPlan.contract.services.optimization.maximumIterations | integer | No | — |
| deliveryPlan.contract.services.optimization.minimumImprovement | number | No | — |
| deliveryPlan.contract.services.optimization.maximumRegression | number | No | — |
| deliveryPlan.contract.services.optimization.minimumPairedCases | integer | No | — |
| deliveryPlan.contract.services.optimization.minimumPairedCoverage | number | No | — |
| deliveryPlan.contract.services.optimization.maximumDurationMinutes | integer | No | — |
| deliveryPlan.contract.services.optimization.maximumTransientRetries | integer | No | — |
| deliveryPlan.contract.services.optimization.plateauIterations | integer | No | — |
| deliveryPlan.contract.services.optimization.publicationMode | manual | auto_on_target | No | — |
| deliveryPlan.contract.services.optimization.publishBestOnLimit | boolean | No | — |
| deliveryPlan.contract.services.assurance | object | Yes | — |
| deliveryPlan.contract.services.assurance.enabled | true | No | — |
| deliveryPlan.contract.services.assurance.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.assurance.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.assurance.approvalMode | none | manual | No | — |
| deliveryPlan.contract.services.assurance.maximumEvidenceAgeHours | number | No | — |
| deliveryPlan.contract.services.guardrails | object | No | — |
| deliveryPlan.contract.services.guardrails.enabled | boolean | No | — |
| deliveryPlan.contract.services.guardrails.policies | object[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.guardrails.policies[].description | string | No | Human-readable description. |
| deliveryPlan.contract.services.guardrails.policies[].prompts | object[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].id | string | No | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].title | string | Yes | Display title. |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].prompt | string | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.guardrails.policies[].policy | object | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.schemaVersion | computer_agents_guardrail_policy_v1 | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules | object[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match | object | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.actionClasses | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.operations | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.targetKinds | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.dataClassifications | public | internal | confidential | restricted | secret[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].outcome | ask | deny | Yes | Guardrails are restriction-only and cannot grant access. |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].minimumRing | 1 | 2 | 3 | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].severity | info | warning | high | critical | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].recommendedControl | deny_effect | park | pause | cancel | quarantine | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].obligations | human_approval | security_review | redact_output | verify_target | require_reversible_plan[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].appliesTo | execution_agent | target_agent | fine_tuner_agent[] | Yes | — |
| deliveryPlan.contract.acceptance | object | Yes | — |
| deliveryPlan.contract.acceptance.minimumAverageScore | number | Yes | — |
| deliveryPlan.contract.acceptance.minimumPassRate | number | Yes | — |
| deliveryPlan.contract.acceptance.requireAllTestsPassing | true | No | — |
| deliveryPlan.contract.acceptance.requirePublishedOptimizationCandidate | boolean | No | — |
| deliveryPlan.contract.budget | object | Yes | — |
| deliveryPlan.contract.budget.maximumTotalCostUsd | number | Yes | — |
| deliveryPlan.contract.repairPolicy | object | No | Optional bounded repair policy. Only trusted failed Test evidence or fully verified completed Evaluation evidence that missed a configured quality threshold can trigger repair. Pinned gates are rerun and a target-scoped changed resource revision is mandatory. |
| deliveryPlan.contract.repairPolicy.enabled | boolean | No | — |
| deliveryPlan.contract.repairPolicy.maximumAttempts | integer | No | — |
| deliveryPlan.contract.repairPolicy.repairableStages | test | evaluate | acceptance_evaluate[] | No | — |
| deliveryPlan.contract.repairPolicy.requireChangedResourceRevision | true | No | — |
| deliveryPlan.contractFingerprint | string | Yes | — |
| deliveryPlan.graph | object | Yes | — |
| deliveryPlan.graph.schemaVersion | computer_agents_project_delivery_graph_v1 | computer_agents_project_delivery_graph_v2 | Yes | — |
| deliveryPlan.graph.contractFingerprint | string | Yes | — |
| deliveryPlan.graph.nodes | object[] | Yes | — |
| deliveryPlan.graph.nodes[].id | build | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver | Yes | Unique identifier. |
| deliveryPlan.graph.nodes[].title | string | Yes | Display title. |
| deliveryPlan.graph.nodes[].state | planned | blocked | skipped | Yes | — |
| deliveryPlan.graph.nodes[].dependsOn | build | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver[] | Yes | — |
| deliveryPlan.graph.nodes[].resourceTypes | string[] | Yes | — |
| deliveryPlan.graph.nodes[].taskId | string | No | — |
| deliveryPlan.graph.nodes[].resourceIds | string[] | No | — |
| deliveryPlan.graph.edges | object[] | Yes | — |
| deliveryPlan.graph.edges[].source | string | Yes | — |
| deliveryPlan.graph.edges[].target | string | Yes | — |
| deliveryPlan.bindings | object | Yes | — |
| deliveryPlan.status | draft | provisioning | ready | failed | archived | Yes | Current lifecycle status. |
| deliveryPlan.revision | integer | Yes | — |
| deliveryPlan.idempotencyKey | string | No | — |
| deliveryPlan.error | string | No | — |
| deliveryPlan.provisionedAt | string | No | — |
| deliveryPlan.createdAt | string | Yes | ISO 8601 timestamp. |
| deliveryPlan.updatedAt | string | Yes | ISO 8601 timestamp. |
| deliveryPlan.events | object[] | No | — |
| deliveryPlan.events[].id | string | Yes | Unique identifier. |
| deliveryPlan.events[].type | string | Yes | — |
| deliveryPlan.events[].actorUserId | string | Yes | — |
| deliveryPlan.events[].payload | object | Yes | — |
| deliveryPlan.events[].createdAt | string | Yes | ISO 8601 timestamp. |
201Delivery resources provisioned atomicallyapplication/json
| Field | Type | Required | Description |
|---|---|---|---|
| deliveryPlan | object | Yes | — |
| deliveryPlan.id | string | Yes | Unique identifier. |
| deliveryPlan.projectId | string | Yes | Project ID. |
| deliveryPlan.userId | string | Yes | User ID. |
| deliveryPlan.organizationId | string | No | — |
| deliveryPlan.createdByUserId | string | No | — |
| deliveryPlan.schemaVersion | computer_agents_project_delivery_contract_v3 | Yes | — |
| deliveryPlan.contract | object | Yes | — |
| deliveryPlan.contract.schemaVersion | computer_agents_project_delivery_contract_v3 | No | — |
| deliveryPlan.contract.mode | assisted | autonomous | No | — |
| deliveryPlan.contract.goal | string | Yes | — |
| deliveryPlan.contract.validationAssets | object[] | No | — |
| deliveryPlan.contract.validationAssets[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.validationAssets[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.validationAssets[].uri | string | Yes | — |
| deliveryPlan.contract.validationAssets[].kind | validation_set | training_set | specification | source_document | other | Yes | — |
| deliveryPlan.contract.validationAssets[].sha256 | string | No | — |
| deliveryPlan.contract.agents | object | Yes | — |
| deliveryPlan.contract.agents.executionAgentId | string | No | — |
| deliveryPlan.contract.agents.targetAgentId | string | Yes | — |
| deliveryPlan.contract.agents.fineTunerAgentId | string | No | — |
| deliveryPlan.contract.agents.reviewerUserId | string | No | — |
| deliveryPlan.contract.topology | object | Yes | — |
| deliveryPlan.contract.topology.resources | object[] | Yes | — |
| deliveryPlan.contract.topology.resources[].key | string | Yes | — |
| deliveryPlan.contract.topology.resources[].kind | function | Yes | — |
| deliveryPlan.contract.topology.resources[].lifecycle | managed | existing | No | — |
| deliveryPlan.contract.topology.resources[].resourceId | string | No | — |
| deliveryPlan.contract.topology.resources[].versionId | string | No | — |
| deliveryPlan.contract.topology.resources[].deploymentRevision | string | No | — |
| deliveryPlan.contract.topology.resources[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.topology.resources[].description | string | No | Human-readable description. |
| deliveryPlan.contract.topology.resources[].runtime | nodejs22 | python312 | No | — |
| deliveryPlan.contract.topology.resources[].region | string | No | — |
| deliveryPlan.contract.topology.resources[].authMode | public | private | No | — |
| deliveryPlan.contract.topology.resources[].sourcePath | string | No | Workspace-relative file path. |
| deliveryPlan.contract.topology.connections | object[] | Yes | — |
| deliveryPlan.contract.topology.connections[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.topology.connections[].source | string | Yes | — |
| deliveryPlan.contract.topology.connections[].target | string | Yes | — |
| deliveryPlan.contract.topology.connections[].type | depends_on | invokes | triggers | reads | writes | uses_secrets | runs_in | uses_mcp | Yes | — |
| deliveryPlan.contract.topology.connections[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services | object | Yes | — |
| deliveryPlan.contract.services.tests | object | Yes | — |
| deliveryPlan.contract.services.tests.enabled | true | No | — |
| deliveryPlan.contract.services.tests.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.tests.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.tests.definition | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.schemaVersion | computer_agents_test_plan_v1 | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.setup.secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases | object[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.tests.definition.cases[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.tests.definition.cases[].description | string | Yes | Human-readable description. |
| deliveryPlan.contract.services.tests.definition.cases[].kind | command | contract | integration | browser | agent | security | custom | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].retries | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].request | object | Yes | Kind-specific structured request. Secrets must be referenced through `secretRefs`. |
| deliveryPlan.contract.services.tests.definition.cases[].assertions | object[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].agentId | string | Yes | Agent ID. |
| deliveryPlan.contract.services.tests.definition.cases[].enabled | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.cases[].tags | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.command | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.workingDirectory | string | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.timeoutMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.env | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.teardown.secretRefs | string[] | Yes | — |
| deliveryPlan.contract.services.tests.definition.concurrency | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.stopOnFailure | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy.maxAttempts | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.retryPolicy.backoffMs | integer | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy | object | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainLogs | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainScreenshots | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainTraces | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.retainArtifacts | boolean | Yes | — |
| deliveryPlan.contract.services.tests.definition.evidencePolicy.redactSecrets | boolean | Yes | — |
| deliveryPlan.contract.services.evaluation | object | Yes | — |
| deliveryPlan.contract.services.evaluation.enabled | true | No | — |
| deliveryPlan.contract.services.evaluation.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.evaluation.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.evaluation.cases | object[] | No | — |
| deliveryPlan.contract.services.evaluation.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.evaluation.cases[].input | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].expectedOutput | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].evaluationGuidance | string | Yes | — |
| deliveryPlan.contract.services.evaluation.cases[].optimizationRole | train | validation | holdout | No | — |
| deliveryPlan.contract.services.evaluation.cases[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.evaluation.source | object | No | — |
| deliveryPlan.contract.services.evaluation.source.type | existing_evaluation_version | Yes | — |
| deliveryPlan.contract.services.evaluation.source.evaluationId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.source.versionId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.source.datasetAssetId | string | Yes | — |
| deliveryPlan.contract.services.evaluation.target | object | No | — |
| deliveryPlan.contract.services.evaluation.target.kind | agent | Yes | — |
| deliveryPlan.contract.services.evaluation.target.agentId | string | No | Agent ID. |
| deliveryPlan.contract.services.evaluation.evaluator | object | No | — |
| deliveryPlan.contract.services.evaluation.evaluator.type | exact | Yes | — |
| deliveryPlan.contract.services.evaluation.passThreshold | number | No | — |
| deliveryPlan.contract.services.workflowAcceptance | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.enabled | true | No | — |
| deliveryPlan.contract.services.workflowAcceptance.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.workflowAcceptance.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.workflowAcceptance.cases | object[] | No | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.workflowAcceptance.cases[].input | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].expectedOutput | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].evaluationGuidance | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].optimizationRole | train | validation | holdout | No | — |
| deliveryPlan.contract.services.workflowAcceptance.cases[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.workflowAcceptance.source | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.source.type | existing_evaluation_version | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.evaluationId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.versionId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.source.datasetAssetId | string | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.target | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.target.kind | agent | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.target.agentId | string | No | Agent ID. |
| deliveryPlan.contract.services.workflowAcceptance.evaluator | object | No | — |
| deliveryPlan.contract.services.workflowAcceptance.evaluator.type | exact | Yes | — |
| deliveryPlan.contract.services.workflowAcceptance.passThreshold | number | No | — |
| deliveryPlan.contract.services.optimization | object | Yes | — |
| deliveryPlan.contract.services.optimization.enabled | boolean | No | — |
| deliveryPlan.contract.services.optimization.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.optimization.instructions | string | Yes | — |
| deliveryPlan.contract.services.optimization.maximumIterations | integer | No | — |
| deliveryPlan.contract.services.optimization.minimumImprovement | number | No | — |
| deliveryPlan.contract.services.optimization.maximumRegression | number | No | — |
| deliveryPlan.contract.services.optimization.minimumPairedCases | integer | No | — |
| deliveryPlan.contract.services.optimization.minimumPairedCoverage | number | No | — |
| deliveryPlan.contract.services.optimization.maximumDurationMinutes | integer | No | — |
| deliveryPlan.contract.services.optimization.maximumTransientRetries | integer | No | — |
| deliveryPlan.contract.services.optimization.plateauIterations | integer | No | — |
| deliveryPlan.contract.services.optimization.publicationMode | manual | auto_on_target | No | — |
| deliveryPlan.contract.services.optimization.publishBestOnLimit | boolean | No | — |
| deliveryPlan.contract.services.assurance | object | Yes | — |
| deliveryPlan.contract.services.assurance.enabled | true | No | — |
| deliveryPlan.contract.services.assurance.name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.assurance.description | string | No | Human-readable description. |
| deliveryPlan.contract.services.assurance.approvalMode | none | manual | No | — |
| deliveryPlan.contract.services.assurance.maximumEvidenceAgeHours | number | No | — |
| deliveryPlan.contract.services.guardrails | object | No | — |
| deliveryPlan.contract.services.guardrails.enabled | boolean | No | — |
| deliveryPlan.contract.services.guardrails.policies | object[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].name | string | Yes | Human-readable name. |
| deliveryPlan.contract.services.guardrails.policies[].description | string | No | Human-readable description. |
| deliveryPlan.contract.services.guardrails.policies[].prompts | object[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].id | string | No | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].title | string | Yes | Display title. |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].prompt | string | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].prompts[].metadata | object | No | Free-form metadata object. |
| deliveryPlan.contract.services.guardrails.policies[].policy | object | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.schemaVersion | computer_agents_guardrail_policy_v1 | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules | object[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].id | string | Yes | Unique identifier. |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match | object | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.actionClasses | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.operations | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.targetKinds | string[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.dataClassifications | public | internal | confidential | restricted | secret[] | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].outcome | ask | deny | Yes | Guardrails are restriction-only and cannot grant access. |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].minimumRing | 1 | 2 | 3 | No | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].severity | info | warning | high | critical | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].recommendedControl | deny_effect | park | pause | cancel | quarantine | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].policy.rules[].obligations | human_approval | security_review | redact_output | verify_target | require_reversible_plan[] | Yes | — |
| deliveryPlan.contract.services.guardrails.policies[].appliesTo | execution_agent | target_agent | fine_tuner_agent[] | Yes | — |
| deliveryPlan.contract.acceptance | object | Yes | — |
| deliveryPlan.contract.acceptance.minimumAverageScore | number | Yes | — |
| deliveryPlan.contract.acceptance.minimumPassRate | number | Yes | — |
| deliveryPlan.contract.acceptance.requireAllTestsPassing | true | No | — |
| deliveryPlan.contract.acceptance.requirePublishedOptimizationCandidate | boolean | No | — |
| deliveryPlan.contract.budget | object | Yes | — |
| deliveryPlan.contract.budget.maximumTotalCostUsd | number | Yes | — |
| deliveryPlan.contract.repairPolicy | object | No | Optional bounded repair policy. Only trusted failed Test evidence or fully verified completed Evaluation evidence that missed a configured quality threshold can trigger repair. Pinned gates are rerun and a target-scoped changed resource revision is mandatory. |
| deliveryPlan.contract.repairPolicy.enabled | boolean | No | — |
| deliveryPlan.contract.repairPolicy.maximumAttempts | integer | No | — |
| deliveryPlan.contract.repairPolicy.repairableStages | test | evaluate | acceptance_evaluate[] | No | — |
| deliveryPlan.contract.repairPolicy.requireChangedResourceRevision | true | No | — |
| deliveryPlan.contractFingerprint | string | Yes | — |
| deliveryPlan.graph | object | Yes | — |
| deliveryPlan.graph.schemaVersion | computer_agents_project_delivery_graph_v1 | computer_agents_project_delivery_graph_v2 | Yes | — |
| deliveryPlan.graph.contractFingerprint | string | Yes | — |
| deliveryPlan.graph.nodes | object[] | Yes | — |
| deliveryPlan.graph.nodes[].id | build | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver | Yes | Unique identifier. |
| deliveryPlan.graph.nodes[].title | string | Yes | Display title. |
| deliveryPlan.graph.nodes[].state | planned | blocked | skipped | Yes | — |
| deliveryPlan.graph.nodes[].dependsOn | build | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver[] | Yes | — |
| deliveryPlan.graph.nodes[].resourceTypes | string[] | Yes | — |
| deliveryPlan.graph.nodes[].taskId | string | No | — |
| deliveryPlan.graph.nodes[].resourceIds | string[] | No | — |
| deliveryPlan.graph.edges | object[] | Yes | — |
| deliveryPlan.graph.edges[].source | string | Yes | — |
| deliveryPlan.graph.edges[].target | string | Yes | — |
| deliveryPlan.bindings | object | Yes | — |
| deliveryPlan.status | draft | provisioning | ready | failed | archived | Yes | Current lifecycle status. |
| deliveryPlan.revision | integer | Yes | — |
| deliveryPlan.idempotencyKey | string | No | — |
| deliveryPlan.error | string | No | — |
| deliveryPlan.provisionedAt | string | No | — |
| deliveryPlan.createdAt | string | Yes | ISO 8601 timestamp. |
| deliveryPlan.updatedAt | string | Yes | ISO 8601 timestamp. |
| deliveryPlan.events | object[] | No | — |
| deliveryPlan.events[].id | string | Yes | Unique identifier. |
| deliveryPlan.events[].type | string | Yes | — |
| deliveryPlan.events[].actorUserId | string | Yes | — |
| deliveryPlan.events[].payload | object | Yes | — |
| deliveryPlan.events[].createdAt | string | Yes | ISO 8601 timestamp. |
402One of the required organization plan entitlements is unavailable
None.
404Resource not foundapplication/json
| Field | Type | Required | Description |
|---|---|---|---|
| error | string | No | — |
409Delivery plan cannot be provisioned in its current state
None.
Provision a Mission Control delivery graph
Loading...
Response 200
Loading...