Create or revise a Mission Control delivery contract

PUT/v1/projects/{projectId}/delivery-plan

Validates a closed project-delivery schema, fingerprints it, and stores a deterministic build-to-delivery graph. A successfully provisioned plan is immutable.

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
NameLocationTypeRequiredDescription
projectIdpathstringYesProject ID
Query parameters
None.
Header parameters
NameLocationTypeRequiredDescription
Idempotency-KeyheaderstringNo

Body schema

Content type: application/json · Required

FieldTypeRequiredDescription
contractobjectYes
contract.schemaVersioncomputer_agents_project_delivery_contract_v3No
contract.modeassisted | autonomousNo
contract.goalstringYes
contract.validationAssetsobject[]No
contract.validationAssets[].idstringYesUnique identifier.
contract.validationAssets[].namestringYesHuman-readable name.
contract.validationAssets[].uristringYes
contract.validationAssets[].kindvalidation_set | training_set | specification | source_document | otherYes
contract.validationAssets[].sha256stringNo
contract.agentsobjectYes
contract.agents.executionAgentIdstringNo
contract.agents.targetAgentIdstringYes
contract.agents.fineTunerAgentIdstringNo
contract.agents.reviewerUserIdstringNo
contract.topologyobjectYes
contract.topology.resourcesobject[]Yes
contract.topology.resources[].keystringYes
contract.topology.resources[].kindfunctionYes
contract.topology.resources[].lifecyclemanaged | existingNo
contract.topology.resources[].resourceIdstringNo
contract.topology.resources[].versionIdstringNo
contract.topology.resources[].deploymentRevisionstringNo
contract.topology.resources[].namestringYesHuman-readable name.
contract.topology.resources[].descriptionstringNoHuman-readable description.
contract.topology.resources[].runtimenodejs22 | python312No
contract.topology.resources[].regionstringNo
contract.topology.resources[].authModepublic | privateNo
contract.topology.resources[].sourcePathstringNoWorkspace-relative file path.
contract.topology.connectionsobject[]Yes
contract.topology.connections[].idstringYesUnique identifier.
contract.topology.connections[].sourcestringYes
contract.topology.connections[].targetstringYes
contract.topology.connections[].typedepends_on | invokes | triggers | reads | writes | uses_secrets | runs_in | uses_mcpYes
contract.topology.connections[].metadataobjectNoFree-form metadata object.
contract.servicesobjectYes
contract.services.testsobjectYes
contract.services.tests.enabledtrueNo
contract.services.tests.namestringYesHuman-readable name.
contract.services.tests.descriptionstringNoHuman-readable description.
contract.services.tests.definitionobjectYes
contract.services.tests.definition.schemaVersioncomputer_agents_test_plan_v1Yes
contract.services.tests.definition.setupobjectYes
contract.services.tests.definition.setup.commandstringYes
contract.services.tests.definition.setup.workingDirectorystringYes
contract.services.tests.definition.setup.timeoutMsintegerYes
contract.services.tests.definition.setup.envobjectYes
contract.services.tests.definition.setup.secretRefsstring[]Yes
contract.services.tests.definition.casesobject[]Yes
contract.services.tests.definition.cases[].idstringYesUnique identifier.
contract.services.tests.definition.cases[].namestringYesHuman-readable name.
contract.services.tests.definition.cases[].descriptionstringYesHuman-readable description.
contract.services.tests.definition.cases[].kindcommand | contract | integration | browser | agent | security | customYes
contract.services.tests.definition.cases[].commandstringYes
contract.services.tests.definition.cases[].workingDirectorystringYes
contract.services.tests.definition.cases[].timeoutMsintegerYes
contract.services.tests.definition.cases[].retriesintegerYes
contract.services.tests.definition.cases[].envobjectYes
contract.services.tests.definition.cases[].secretRefsstring[]Yes
contract.services.tests.definition.cases[].requestobjectYesKind-specific structured request. Secrets must be referenced through `secretRefs`.
contract.services.tests.definition.cases[].assertionsobject[]Yes
contract.services.tests.definition.cases[].agentIdstringYesAgent ID.
contract.services.tests.definition.cases[].enabledbooleanYes
contract.services.tests.definition.cases[].tagsstring[]Yes
contract.services.tests.definition.teardownobjectYes
contract.services.tests.definition.teardown.commandstringYes
contract.services.tests.definition.teardown.workingDirectorystringYes
contract.services.tests.definition.teardown.timeoutMsintegerYes
contract.services.tests.definition.teardown.envobjectYes
contract.services.tests.definition.teardown.secretRefsstring[]Yes
contract.services.tests.definition.concurrencyintegerYes
contract.services.tests.definition.stopOnFailurebooleanYes
contract.services.tests.definition.retryPolicyobjectYes
contract.services.tests.definition.retryPolicy.maxAttemptsintegerYes
contract.services.tests.definition.retryPolicy.backoffMsintegerYes
contract.services.tests.definition.evidencePolicyobjectYes
contract.services.tests.definition.evidencePolicy.retainLogsbooleanYes
contract.services.tests.definition.evidencePolicy.retainScreenshotsbooleanYes
contract.services.tests.definition.evidencePolicy.retainTracesbooleanYes
contract.services.tests.definition.evidencePolicy.retainArtifactsbooleanYes
contract.services.tests.definition.evidencePolicy.redactSecretsbooleanYes
contract.services.evaluationobjectYes
contract.services.evaluation.enabledtrueNo
contract.services.evaluation.namestringYesHuman-readable name.
contract.services.evaluation.descriptionstringNoHuman-readable description.
contract.services.evaluation.casesobject[]No
contract.services.evaluation.cases[].idstringYesUnique identifier.
contract.services.evaluation.cases[].inputstringYes
contract.services.evaluation.cases[].expectedOutputstringYes
contract.services.evaluation.cases[].evaluationGuidancestringYes
contract.services.evaluation.cases[].optimizationRoletrain | validation | holdoutNo
contract.services.evaluation.cases[].metadataobjectNoFree-form metadata object.
contract.services.evaluation.sourceobjectNo
contract.services.evaluation.source.typeexisting_evaluation_versionYes
contract.services.evaluation.source.evaluationIdstringYes
contract.services.evaluation.source.versionIdstringYes
contract.services.evaluation.source.datasetAssetIdstringYes
contract.services.evaluation.targetobjectNo
contract.services.evaluation.target.kindagentYes
contract.services.evaluation.target.agentIdstringNoAgent ID.
contract.services.evaluation.evaluatorobjectNo
contract.services.evaluation.evaluator.typeexactYes
contract.services.evaluation.passThresholdnumberNo
contract.services.workflowAcceptanceobjectNo
contract.services.workflowAcceptance.enabledtrueNo
contract.services.workflowAcceptance.namestringYesHuman-readable name.
contract.services.workflowAcceptance.descriptionstringNoHuman-readable description.
contract.services.workflowAcceptance.casesobject[]No
contract.services.workflowAcceptance.cases[].idstringYesUnique identifier.
contract.services.workflowAcceptance.cases[].inputstringYes
contract.services.workflowAcceptance.cases[].expectedOutputstringYes
contract.services.workflowAcceptance.cases[].evaluationGuidancestringYes
contract.services.workflowAcceptance.cases[].optimizationRoletrain | validation | holdoutNo
contract.services.workflowAcceptance.cases[].metadataobjectNoFree-form metadata object.
contract.services.workflowAcceptance.sourceobjectNo
contract.services.workflowAcceptance.source.typeexisting_evaluation_versionYes
contract.services.workflowAcceptance.source.evaluationIdstringYes
contract.services.workflowAcceptance.source.versionIdstringYes
contract.services.workflowAcceptance.source.datasetAssetIdstringYes
contract.services.workflowAcceptance.targetobjectNo
contract.services.workflowAcceptance.target.kindagentYes
contract.services.workflowAcceptance.target.agentIdstringNoAgent ID.
contract.services.workflowAcceptance.evaluatorobjectNo
contract.services.workflowAcceptance.evaluator.typeexactYes
contract.services.workflowAcceptance.passThresholdnumberNo
contract.services.optimizationobjectYes
contract.services.optimization.enabledbooleanNo
contract.services.optimization.namestringYesHuman-readable name.
contract.services.optimization.instructionsstringYes
contract.services.optimization.maximumIterationsintegerNo
contract.services.optimization.minimumImprovementnumberNo
contract.services.optimization.maximumRegressionnumberNo
contract.services.optimization.minimumPairedCasesintegerNo
contract.services.optimization.minimumPairedCoveragenumberNo
contract.services.optimization.maximumDurationMinutesintegerNo
contract.services.optimization.maximumTransientRetriesintegerNo
contract.services.optimization.plateauIterationsintegerNo
contract.services.optimization.publicationModemanual | auto_on_targetNo
contract.services.optimization.publishBestOnLimitbooleanNo
contract.services.assuranceobjectYes
contract.services.assurance.enabledtrueNo
contract.services.assurance.namestringYesHuman-readable name.
contract.services.assurance.descriptionstringNoHuman-readable description.
contract.services.assurance.approvalModenone | manualNo
contract.services.assurance.maximumEvidenceAgeHoursnumberNo
contract.services.guardrailsobjectNo
contract.services.guardrails.enabledbooleanNo
contract.services.guardrails.policiesobject[]No
contract.services.guardrails.policies[].idstringYesUnique identifier.
contract.services.guardrails.policies[].namestringYesHuman-readable name.
contract.services.guardrails.policies[].descriptionstringNoHuman-readable description.
contract.services.guardrails.policies[].promptsobject[]Yes
contract.services.guardrails.policies[].prompts[].idstringNoUnique identifier.
contract.services.guardrails.policies[].prompts[].titlestringYesDisplay title.
contract.services.guardrails.policies[].prompts[].promptstringYes
contract.services.guardrails.policies[].prompts[].metadataobjectNoFree-form metadata object.
contract.services.guardrails.policies[].policyobjectYes
contract.services.guardrails.policies[].policy.schemaVersioncomputer_agents_guardrail_policy_v1Yes
contract.services.guardrails.policies[].policy.rulesobject[]Yes
contract.services.guardrails.policies[].policy.rules[].idstringYesUnique identifier.
contract.services.guardrails.policies[].policy.rules[].matchobjectYes
contract.services.guardrails.policies[].policy.rules[].match.actionClassesstring[]No
contract.services.guardrails.policies[].policy.rules[].match.operationsstring[]No
contract.services.guardrails.policies[].policy.rules[].match.targetKindsstring[]No
contract.services.guardrails.policies[].policy.rules[].match.dataClassificationspublic | internal | confidential | restricted | secret[]No
contract.services.guardrails.policies[].policy.rules[].outcomeask | denyYesGuardrails are restriction-only and cannot grant access.
contract.services.guardrails.policies[].policy.rules[].minimumRing1 | 2 | 3No
contract.services.guardrails.policies[].policy.rules[].severityinfo | warning | high | criticalYes
contract.services.guardrails.policies[].policy.rules[].recommendedControldeny_effect | park | pause | cancel | quarantineYes
contract.services.guardrails.policies[].policy.rules[].obligationshuman_approval | security_review | redact_output | verify_target | require_reversible_plan[]Yes
contract.services.guardrails.policies[].appliesToexecution_agent | target_agent | fine_tuner_agent[]Yes
contract.acceptanceobjectYes
contract.acceptance.minimumAverageScorenumberYes
contract.acceptance.minimumPassRatenumberYes
contract.acceptance.requireAllTestsPassingtrueNo
contract.acceptance.requirePublishedOptimizationCandidatebooleanNo
contract.budgetobjectYes
contract.budget.maximumTotalCostUsdnumberYes
contract.repairPolicyobjectNoOptional 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.
contract.repairPolicy.enabledbooleanNo
contract.repairPolicy.maximumAttemptsintegerNo
contract.repairPolicy.repairableStagestest | evaluate | acceptance_evaluate[]No
contract.repairPolicy.requireChangedResourceRevisiontrueNo
idempotencyKeystringNo

What the API returns

Each response code below includes the documented payload shape for the ACP API.

200Existing or revised delivery planapplication/json
FieldTypeRequiredDescription
deliveryPlanobjectYes
deliveryPlan.idstringYesUnique identifier.
deliveryPlan.projectIdstringYesProject ID.
deliveryPlan.userIdstringYesUser ID.
deliveryPlan.organizationIdstringNo
deliveryPlan.createdByUserIdstringNo
deliveryPlan.schemaVersioncomputer_agents_project_delivery_contract_v3Yes
deliveryPlan.contractobjectYes
deliveryPlan.contract.schemaVersioncomputer_agents_project_delivery_contract_v3No
deliveryPlan.contract.modeassisted | autonomousNo
deliveryPlan.contract.goalstringYes
deliveryPlan.contract.validationAssetsobject[]No
deliveryPlan.contract.validationAssets[].idstringYesUnique identifier.
deliveryPlan.contract.validationAssets[].namestringYesHuman-readable name.
deliveryPlan.contract.validationAssets[].uristringYes
deliveryPlan.contract.validationAssets[].kindvalidation_set | training_set | specification | source_document | otherYes
deliveryPlan.contract.validationAssets[].sha256stringNo
deliveryPlan.contract.agentsobjectYes
deliveryPlan.contract.agents.executionAgentIdstringNo
deliveryPlan.contract.agents.targetAgentIdstringYes
deliveryPlan.contract.agents.fineTunerAgentIdstringNo
deliveryPlan.contract.agents.reviewerUserIdstringNo
deliveryPlan.contract.topologyobjectYes
deliveryPlan.contract.topology.resourcesobject[]Yes
deliveryPlan.contract.topology.resources[].keystringYes
deliveryPlan.contract.topology.resources[].kindfunctionYes
deliveryPlan.contract.topology.resources[].lifecyclemanaged | existingNo
deliveryPlan.contract.topology.resources[].resourceIdstringNo
deliveryPlan.contract.topology.resources[].versionIdstringNo
deliveryPlan.contract.topology.resources[].deploymentRevisionstringNo
deliveryPlan.contract.topology.resources[].namestringYesHuman-readable name.
deliveryPlan.contract.topology.resources[].descriptionstringNoHuman-readable description.
deliveryPlan.contract.topology.resources[].runtimenodejs22 | python312No
deliveryPlan.contract.topology.resources[].regionstringNo
deliveryPlan.contract.topology.resources[].authModepublic | privateNo
deliveryPlan.contract.topology.resources[].sourcePathstringNoWorkspace-relative file path.
deliveryPlan.contract.topology.connectionsobject[]Yes
deliveryPlan.contract.topology.connections[].idstringYesUnique identifier.
deliveryPlan.contract.topology.connections[].sourcestringYes
deliveryPlan.contract.topology.connections[].targetstringYes
deliveryPlan.contract.topology.connections[].typedepends_on | invokes | triggers | reads | writes | uses_secrets | runs_in | uses_mcpYes
deliveryPlan.contract.topology.connections[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.servicesobjectYes
deliveryPlan.contract.services.testsobjectYes
deliveryPlan.contract.services.tests.enabledtrueNo
deliveryPlan.contract.services.tests.namestringYesHuman-readable name.
deliveryPlan.contract.services.tests.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.tests.definitionobjectYes
deliveryPlan.contract.services.tests.definition.schemaVersioncomputer_agents_test_plan_v1Yes
deliveryPlan.contract.services.tests.definition.setupobjectYes
deliveryPlan.contract.services.tests.definition.setup.commandstringYes
deliveryPlan.contract.services.tests.definition.setup.workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.setup.timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.setup.envobjectYes
deliveryPlan.contract.services.tests.definition.setup.secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.casesobject[]Yes
deliveryPlan.contract.services.tests.definition.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.tests.definition.cases[].namestringYesHuman-readable name.
deliveryPlan.contract.services.tests.definition.cases[].descriptionstringYesHuman-readable description.
deliveryPlan.contract.services.tests.definition.cases[].kindcommand | contract | integration | browser | agent | security | customYes
deliveryPlan.contract.services.tests.definition.cases[].commandstringYes
deliveryPlan.contract.services.tests.definition.cases[].workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.cases[].timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.cases[].retriesintegerYes
deliveryPlan.contract.services.tests.definition.cases[].envobjectYes
deliveryPlan.contract.services.tests.definition.cases[].secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.cases[].requestobjectYesKind-specific structured request. Secrets must be referenced through `secretRefs`.
deliveryPlan.contract.services.tests.definition.cases[].assertionsobject[]Yes
deliveryPlan.contract.services.tests.definition.cases[].agentIdstringYesAgent ID.
deliveryPlan.contract.services.tests.definition.cases[].enabledbooleanYes
deliveryPlan.contract.services.tests.definition.cases[].tagsstring[]Yes
deliveryPlan.contract.services.tests.definition.teardownobjectYes
deliveryPlan.contract.services.tests.definition.teardown.commandstringYes
deliveryPlan.contract.services.tests.definition.teardown.workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.teardown.timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.teardown.envobjectYes
deliveryPlan.contract.services.tests.definition.teardown.secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.concurrencyintegerYes
deliveryPlan.contract.services.tests.definition.stopOnFailurebooleanYes
deliveryPlan.contract.services.tests.definition.retryPolicyobjectYes
deliveryPlan.contract.services.tests.definition.retryPolicy.maxAttemptsintegerYes
deliveryPlan.contract.services.tests.definition.retryPolicy.backoffMsintegerYes
deliveryPlan.contract.services.tests.definition.evidencePolicyobjectYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainLogsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainScreenshotsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainTracesbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainArtifactsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.redactSecretsbooleanYes
deliveryPlan.contract.services.evaluationobjectYes
deliveryPlan.contract.services.evaluation.enabledtrueNo
deliveryPlan.contract.services.evaluation.namestringYesHuman-readable name.
deliveryPlan.contract.services.evaluation.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.evaluation.casesobject[]No
deliveryPlan.contract.services.evaluation.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.evaluation.cases[].inputstringYes
deliveryPlan.contract.services.evaluation.cases[].expectedOutputstringYes
deliveryPlan.contract.services.evaluation.cases[].evaluationGuidancestringYes
deliveryPlan.contract.services.evaluation.cases[].optimizationRoletrain | validation | holdoutNo
deliveryPlan.contract.services.evaluation.cases[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.evaluation.sourceobjectNo
deliveryPlan.contract.services.evaluation.source.typeexisting_evaluation_versionYes
deliveryPlan.contract.services.evaluation.source.evaluationIdstringYes
deliveryPlan.contract.services.evaluation.source.versionIdstringYes
deliveryPlan.contract.services.evaluation.source.datasetAssetIdstringYes
deliveryPlan.contract.services.evaluation.targetobjectNo
deliveryPlan.contract.services.evaluation.target.kindagentYes
deliveryPlan.contract.services.evaluation.target.agentIdstringNoAgent ID.
deliveryPlan.contract.services.evaluation.evaluatorobjectNo
deliveryPlan.contract.services.evaluation.evaluator.typeexactYes
deliveryPlan.contract.services.evaluation.passThresholdnumberNo
deliveryPlan.contract.services.workflowAcceptanceobjectNo
deliveryPlan.contract.services.workflowAcceptance.enabledtrueNo
deliveryPlan.contract.services.workflowAcceptance.namestringYesHuman-readable name.
deliveryPlan.contract.services.workflowAcceptance.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.workflowAcceptance.casesobject[]No
deliveryPlan.contract.services.workflowAcceptance.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.workflowAcceptance.cases[].inputstringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].expectedOutputstringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].evaluationGuidancestringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].optimizationRoletrain | validation | holdoutNo
deliveryPlan.contract.services.workflowAcceptance.cases[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.workflowAcceptance.sourceobjectNo
deliveryPlan.contract.services.workflowAcceptance.source.typeexisting_evaluation_versionYes
deliveryPlan.contract.services.workflowAcceptance.source.evaluationIdstringYes
deliveryPlan.contract.services.workflowAcceptance.source.versionIdstringYes
deliveryPlan.contract.services.workflowAcceptance.source.datasetAssetIdstringYes
deliveryPlan.contract.services.workflowAcceptance.targetobjectNo
deliveryPlan.contract.services.workflowAcceptance.target.kindagentYes
deliveryPlan.contract.services.workflowAcceptance.target.agentIdstringNoAgent ID.
deliveryPlan.contract.services.workflowAcceptance.evaluatorobjectNo
deliveryPlan.contract.services.workflowAcceptance.evaluator.typeexactYes
deliveryPlan.contract.services.workflowAcceptance.passThresholdnumberNo
deliveryPlan.contract.services.optimizationobjectYes
deliveryPlan.contract.services.optimization.enabledbooleanNo
deliveryPlan.contract.services.optimization.namestringYesHuman-readable name.
deliveryPlan.contract.services.optimization.instructionsstringYes
deliveryPlan.contract.services.optimization.maximumIterationsintegerNo
deliveryPlan.contract.services.optimization.minimumImprovementnumberNo
deliveryPlan.contract.services.optimization.maximumRegressionnumberNo
deliveryPlan.contract.services.optimization.minimumPairedCasesintegerNo
deliveryPlan.contract.services.optimization.minimumPairedCoveragenumberNo
deliveryPlan.contract.services.optimization.maximumDurationMinutesintegerNo
deliveryPlan.contract.services.optimization.maximumTransientRetriesintegerNo
deliveryPlan.contract.services.optimization.plateauIterationsintegerNo
deliveryPlan.contract.services.optimization.publicationModemanual | auto_on_targetNo
deliveryPlan.contract.services.optimization.publishBestOnLimitbooleanNo
deliveryPlan.contract.services.assuranceobjectYes
deliveryPlan.contract.services.assurance.enabledtrueNo
deliveryPlan.contract.services.assurance.namestringYesHuman-readable name.
deliveryPlan.contract.services.assurance.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.assurance.approvalModenone | manualNo
deliveryPlan.contract.services.assurance.maximumEvidenceAgeHoursnumberNo
deliveryPlan.contract.services.guardrailsobjectNo
deliveryPlan.contract.services.guardrails.enabledbooleanNo
deliveryPlan.contract.services.guardrails.policiesobject[]No
deliveryPlan.contract.services.guardrails.policies[].idstringYesUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].namestringYesHuman-readable name.
deliveryPlan.contract.services.guardrails.policies[].descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.guardrails.policies[].promptsobject[]Yes
deliveryPlan.contract.services.guardrails.policies[].prompts[].idstringNoUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].prompts[].titlestringYesDisplay title.
deliveryPlan.contract.services.guardrails.policies[].prompts[].promptstringYes
deliveryPlan.contract.services.guardrails.policies[].prompts[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.guardrails.policies[].policyobjectYes
deliveryPlan.contract.services.guardrails.policies[].policy.schemaVersioncomputer_agents_guardrail_policy_v1Yes
deliveryPlan.contract.services.guardrails.policies[].policy.rulesobject[]Yes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].idstringYesUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].matchobjectYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.actionClassesstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.operationsstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.targetKindsstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.dataClassificationspublic | internal | confidential | restricted | secret[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].outcomeask | denyYesGuardrails are restriction-only and cannot grant access.
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].minimumRing1 | 2 | 3No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].severityinfo | warning | high | criticalYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].recommendedControldeny_effect | park | pause | cancel | quarantineYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].obligationshuman_approval | security_review | redact_output | verify_target | require_reversible_plan[]Yes
deliveryPlan.contract.services.guardrails.policies[].appliesToexecution_agent | target_agent | fine_tuner_agent[]Yes
deliveryPlan.contract.acceptanceobjectYes
deliveryPlan.contract.acceptance.minimumAverageScorenumberYes
deliveryPlan.contract.acceptance.minimumPassRatenumberYes
deliveryPlan.contract.acceptance.requireAllTestsPassingtrueNo
deliveryPlan.contract.acceptance.requirePublishedOptimizationCandidatebooleanNo
deliveryPlan.contract.budgetobjectYes
deliveryPlan.contract.budget.maximumTotalCostUsdnumberYes
deliveryPlan.contract.repairPolicyobjectNoOptional 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.enabledbooleanNo
deliveryPlan.contract.repairPolicy.maximumAttemptsintegerNo
deliveryPlan.contract.repairPolicy.repairableStagestest | evaluate | acceptance_evaluate[]No
deliveryPlan.contract.repairPolicy.requireChangedResourceRevisiontrueNo
deliveryPlan.contractFingerprintstringYes
deliveryPlan.graphobjectYes
deliveryPlan.graph.schemaVersioncomputer_agents_project_delivery_graph_v1 | computer_agents_project_delivery_graph_v2Yes
deliveryPlan.graph.contractFingerprintstringYes
deliveryPlan.graph.nodesobject[]Yes
deliveryPlan.graph.nodes[].idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryPlan.graph.nodes[].titlestringYesDisplay title.
deliveryPlan.graph.nodes[].stateplanned | blocked | skippedYes
deliveryPlan.graph.nodes[].dependsOnbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver[]Yes
deliveryPlan.graph.nodes[].resourceTypesstring[]Yes
deliveryPlan.graph.nodes[].taskIdstringNo
deliveryPlan.graph.nodes[].resourceIdsstring[]No
deliveryPlan.graph.edgesobject[]Yes
deliveryPlan.graph.edges[].sourcestringYes
deliveryPlan.graph.edges[].targetstringYes
deliveryPlan.bindingsobjectYes
deliveryPlan.statusdraft | provisioning | ready | failed | archivedYesCurrent lifecycle status.
deliveryPlan.revisionintegerYes
deliveryPlan.idempotencyKeystringNo
deliveryPlan.errorstringNo
deliveryPlan.provisionedAtstringNo
deliveryPlan.createdAtstringYesISO 8601 timestamp.
deliveryPlan.updatedAtstringYesISO 8601 timestamp.
deliveryPlan.eventsobject[]No
deliveryPlan.events[].idstringYesUnique identifier.
deliveryPlan.events[].typestringYes
deliveryPlan.events[].actorUserIdstringYes
deliveryPlan.events[].payloadobjectYes
deliveryPlan.events[].createdAtstringYesISO 8601 timestamp.
201Delivery plan createdapplication/json
FieldTypeRequiredDescription
deliveryPlanobjectYes
deliveryPlan.idstringYesUnique identifier.
deliveryPlan.projectIdstringYesProject ID.
deliveryPlan.userIdstringYesUser ID.
deliveryPlan.organizationIdstringNo
deliveryPlan.createdByUserIdstringNo
deliveryPlan.schemaVersioncomputer_agents_project_delivery_contract_v3Yes
deliveryPlan.contractobjectYes
deliveryPlan.contract.schemaVersioncomputer_agents_project_delivery_contract_v3No
deliveryPlan.contract.modeassisted | autonomousNo
deliveryPlan.contract.goalstringYes
deliveryPlan.contract.validationAssetsobject[]No
deliveryPlan.contract.validationAssets[].idstringYesUnique identifier.
deliveryPlan.contract.validationAssets[].namestringYesHuman-readable name.
deliveryPlan.contract.validationAssets[].uristringYes
deliveryPlan.contract.validationAssets[].kindvalidation_set | training_set | specification | source_document | otherYes
deliveryPlan.contract.validationAssets[].sha256stringNo
deliveryPlan.contract.agentsobjectYes
deliveryPlan.contract.agents.executionAgentIdstringNo
deliveryPlan.contract.agents.targetAgentIdstringYes
deliveryPlan.contract.agents.fineTunerAgentIdstringNo
deliveryPlan.contract.agents.reviewerUserIdstringNo
deliveryPlan.contract.topologyobjectYes
deliveryPlan.contract.topology.resourcesobject[]Yes
deliveryPlan.contract.topology.resources[].keystringYes
deliveryPlan.contract.topology.resources[].kindfunctionYes
deliveryPlan.contract.topology.resources[].lifecyclemanaged | existingNo
deliveryPlan.contract.topology.resources[].resourceIdstringNo
deliveryPlan.contract.topology.resources[].versionIdstringNo
deliveryPlan.contract.topology.resources[].deploymentRevisionstringNo
deliveryPlan.contract.topology.resources[].namestringYesHuman-readable name.
deliveryPlan.contract.topology.resources[].descriptionstringNoHuman-readable description.
deliveryPlan.contract.topology.resources[].runtimenodejs22 | python312No
deliveryPlan.contract.topology.resources[].regionstringNo
deliveryPlan.contract.topology.resources[].authModepublic | privateNo
deliveryPlan.contract.topology.resources[].sourcePathstringNoWorkspace-relative file path.
deliveryPlan.contract.topology.connectionsobject[]Yes
deliveryPlan.contract.topology.connections[].idstringYesUnique identifier.
deliveryPlan.contract.topology.connections[].sourcestringYes
deliveryPlan.contract.topology.connections[].targetstringYes
deliveryPlan.contract.topology.connections[].typedepends_on | invokes | triggers | reads | writes | uses_secrets | runs_in | uses_mcpYes
deliveryPlan.contract.topology.connections[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.servicesobjectYes
deliveryPlan.contract.services.testsobjectYes
deliveryPlan.contract.services.tests.enabledtrueNo
deliveryPlan.contract.services.tests.namestringYesHuman-readable name.
deliveryPlan.contract.services.tests.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.tests.definitionobjectYes
deliveryPlan.contract.services.tests.definition.schemaVersioncomputer_agents_test_plan_v1Yes
deliveryPlan.contract.services.tests.definition.setupobjectYes
deliveryPlan.contract.services.tests.definition.setup.commandstringYes
deliveryPlan.contract.services.tests.definition.setup.workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.setup.timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.setup.envobjectYes
deliveryPlan.contract.services.tests.definition.setup.secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.casesobject[]Yes
deliveryPlan.contract.services.tests.definition.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.tests.definition.cases[].namestringYesHuman-readable name.
deliveryPlan.contract.services.tests.definition.cases[].descriptionstringYesHuman-readable description.
deliveryPlan.contract.services.tests.definition.cases[].kindcommand | contract | integration | browser | agent | security | customYes
deliveryPlan.contract.services.tests.definition.cases[].commandstringYes
deliveryPlan.contract.services.tests.definition.cases[].workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.cases[].timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.cases[].retriesintegerYes
deliveryPlan.contract.services.tests.definition.cases[].envobjectYes
deliveryPlan.contract.services.tests.definition.cases[].secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.cases[].requestobjectYesKind-specific structured request. Secrets must be referenced through `secretRefs`.
deliveryPlan.contract.services.tests.definition.cases[].assertionsobject[]Yes
deliveryPlan.contract.services.tests.definition.cases[].agentIdstringYesAgent ID.
deliveryPlan.contract.services.tests.definition.cases[].enabledbooleanYes
deliveryPlan.contract.services.tests.definition.cases[].tagsstring[]Yes
deliveryPlan.contract.services.tests.definition.teardownobjectYes
deliveryPlan.contract.services.tests.definition.teardown.commandstringYes
deliveryPlan.contract.services.tests.definition.teardown.workingDirectorystringYes
deliveryPlan.contract.services.tests.definition.teardown.timeoutMsintegerYes
deliveryPlan.contract.services.tests.definition.teardown.envobjectYes
deliveryPlan.contract.services.tests.definition.teardown.secretRefsstring[]Yes
deliveryPlan.contract.services.tests.definition.concurrencyintegerYes
deliveryPlan.contract.services.tests.definition.stopOnFailurebooleanYes
deliveryPlan.contract.services.tests.definition.retryPolicyobjectYes
deliveryPlan.contract.services.tests.definition.retryPolicy.maxAttemptsintegerYes
deliveryPlan.contract.services.tests.definition.retryPolicy.backoffMsintegerYes
deliveryPlan.contract.services.tests.definition.evidencePolicyobjectYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainLogsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainScreenshotsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainTracesbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.retainArtifactsbooleanYes
deliveryPlan.contract.services.tests.definition.evidencePolicy.redactSecretsbooleanYes
deliveryPlan.contract.services.evaluationobjectYes
deliveryPlan.contract.services.evaluation.enabledtrueNo
deliveryPlan.contract.services.evaluation.namestringYesHuman-readable name.
deliveryPlan.contract.services.evaluation.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.evaluation.casesobject[]No
deliveryPlan.contract.services.evaluation.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.evaluation.cases[].inputstringYes
deliveryPlan.contract.services.evaluation.cases[].expectedOutputstringYes
deliveryPlan.contract.services.evaluation.cases[].evaluationGuidancestringYes
deliveryPlan.contract.services.evaluation.cases[].optimizationRoletrain | validation | holdoutNo
deliveryPlan.contract.services.evaluation.cases[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.evaluation.sourceobjectNo
deliveryPlan.contract.services.evaluation.source.typeexisting_evaluation_versionYes
deliveryPlan.contract.services.evaluation.source.evaluationIdstringYes
deliveryPlan.contract.services.evaluation.source.versionIdstringYes
deliveryPlan.contract.services.evaluation.source.datasetAssetIdstringYes
deliveryPlan.contract.services.evaluation.targetobjectNo
deliveryPlan.contract.services.evaluation.target.kindagentYes
deliveryPlan.contract.services.evaluation.target.agentIdstringNoAgent ID.
deliveryPlan.contract.services.evaluation.evaluatorobjectNo
deliveryPlan.contract.services.evaluation.evaluator.typeexactYes
deliveryPlan.contract.services.evaluation.passThresholdnumberNo
deliveryPlan.contract.services.workflowAcceptanceobjectNo
deliveryPlan.contract.services.workflowAcceptance.enabledtrueNo
deliveryPlan.contract.services.workflowAcceptance.namestringYesHuman-readable name.
deliveryPlan.contract.services.workflowAcceptance.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.workflowAcceptance.casesobject[]No
deliveryPlan.contract.services.workflowAcceptance.cases[].idstringYesUnique identifier.
deliveryPlan.contract.services.workflowAcceptance.cases[].inputstringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].expectedOutputstringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].evaluationGuidancestringYes
deliveryPlan.contract.services.workflowAcceptance.cases[].optimizationRoletrain | validation | holdoutNo
deliveryPlan.contract.services.workflowAcceptance.cases[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.workflowAcceptance.sourceobjectNo
deliveryPlan.contract.services.workflowAcceptance.source.typeexisting_evaluation_versionYes
deliveryPlan.contract.services.workflowAcceptance.source.evaluationIdstringYes
deliveryPlan.contract.services.workflowAcceptance.source.versionIdstringYes
deliveryPlan.contract.services.workflowAcceptance.source.datasetAssetIdstringYes
deliveryPlan.contract.services.workflowAcceptance.targetobjectNo
deliveryPlan.contract.services.workflowAcceptance.target.kindagentYes
deliveryPlan.contract.services.workflowAcceptance.target.agentIdstringNoAgent ID.
deliveryPlan.contract.services.workflowAcceptance.evaluatorobjectNo
deliveryPlan.contract.services.workflowAcceptance.evaluator.typeexactYes
deliveryPlan.contract.services.workflowAcceptance.passThresholdnumberNo
deliveryPlan.contract.services.optimizationobjectYes
deliveryPlan.contract.services.optimization.enabledbooleanNo
deliveryPlan.contract.services.optimization.namestringYesHuman-readable name.
deliveryPlan.contract.services.optimization.instructionsstringYes
deliveryPlan.contract.services.optimization.maximumIterationsintegerNo
deliveryPlan.contract.services.optimization.minimumImprovementnumberNo
deliveryPlan.contract.services.optimization.maximumRegressionnumberNo
deliveryPlan.contract.services.optimization.minimumPairedCasesintegerNo
deliveryPlan.contract.services.optimization.minimumPairedCoveragenumberNo
deliveryPlan.contract.services.optimization.maximumDurationMinutesintegerNo
deliveryPlan.contract.services.optimization.maximumTransientRetriesintegerNo
deliveryPlan.contract.services.optimization.plateauIterationsintegerNo
deliveryPlan.contract.services.optimization.publicationModemanual | auto_on_targetNo
deliveryPlan.contract.services.optimization.publishBestOnLimitbooleanNo
deliveryPlan.contract.services.assuranceobjectYes
deliveryPlan.contract.services.assurance.enabledtrueNo
deliveryPlan.contract.services.assurance.namestringYesHuman-readable name.
deliveryPlan.contract.services.assurance.descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.assurance.approvalModenone | manualNo
deliveryPlan.contract.services.assurance.maximumEvidenceAgeHoursnumberNo
deliveryPlan.contract.services.guardrailsobjectNo
deliveryPlan.contract.services.guardrails.enabledbooleanNo
deliveryPlan.contract.services.guardrails.policiesobject[]No
deliveryPlan.contract.services.guardrails.policies[].idstringYesUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].namestringYesHuman-readable name.
deliveryPlan.contract.services.guardrails.policies[].descriptionstringNoHuman-readable description.
deliveryPlan.contract.services.guardrails.policies[].promptsobject[]Yes
deliveryPlan.contract.services.guardrails.policies[].prompts[].idstringNoUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].prompts[].titlestringYesDisplay title.
deliveryPlan.contract.services.guardrails.policies[].prompts[].promptstringYes
deliveryPlan.contract.services.guardrails.policies[].prompts[].metadataobjectNoFree-form metadata object.
deliveryPlan.contract.services.guardrails.policies[].policyobjectYes
deliveryPlan.contract.services.guardrails.policies[].policy.schemaVersioncomputer_agents_guardrail_policy_v1Yes
deliveryPlan.contract.services.guardrails.policies[].policy.rulesobject[]Yes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].idstringYesUnique identifier.
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].matchobjectYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.actionClassesstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.operationsstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.targetKindsstring[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].match.dataClassificationspublic | internal | confidential | restricted | secret[]No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].outcomeask | denyYesGuardrails are restriction-only and cannot grant access.
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].minimumRing1 | 2 | 3No
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].severityinfo | warning | high | criticalYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].recommendedControldeny_effect | park | pause | cancel | quarantineYes
deliveryPlan.contract.services.guardrails.policies[].policy.rules[].obligationshuman_approval | security_review | redact_output | verify_target | require_reversible_plan[]Yes
deliveryPlan.contract.services.guardrails.policies[].appliesToexecution_agent | target_agent | fine_tuner_agent[]Yes
deliveryPlan.contract.acceptanceobjectYes
deliveryPlan.contract.acceptance.minimumAverageScorenumberYes
deliveryPlan.contract.acceptance.minimumPassRatenumberYes
deliveryPlan.contract.acceptance.requireAllTestsPassingtrueNo
deliveryPlan.contract.acceptance.requirePublishedOptimizationCandidatebooleanNo
deliveryPlan.contract.budgetobjectYes
deliveryPlan.contract.budget.maximumTotalCostUsdnumberYes
deliveryPlan.contract.repairPolicyobjectNoOptional 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.enabledbooleanNo
deliveryPlan.contract.repairPolicy.maximumAttemptsintegerNo
deliveryPlan.contract.repairPolicy.repairableStagestest | evaluate | acceptance_evaluate[]No
deliveryPlan.contract.repairPolicy.requireChangedResourceRevisiontrueNo
deliveryPlan.contractFingerprintstringYes
deliveryPlan.graphobjectYes
deliveryPlan.graph.schemaVersioncomputer_agents_project_delivery_graph_v1 | computer_agents_project_delivery_graph_v2Yes
deliveryPlan.graph.contractFingerprintstringYes
deliveryPlan.graph.nodesobject[]Yes
deliveryPlan.graph.nodes[].idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryPlan.graph.nodes[].titlestringYesDisplay title.
deliveryPlan.graph.nodes[].stateplanned | blocked | skippedYes
deliveryPlan.graph.nodes[].dependsOnbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliver[]Yes
deliveryPlan.graph.nodes[].resourceTypesstring[]Yes
deliveryPlan.graph.nodes[].taskIdstringNo
deliveryPlan.graph.nodes[].resourceIdsstring[]No
deliveryPlan.graph.edgesobject[]Yes
deliveryPlan.graph.edges[].sourcestringYes
deliveryPlan.graph.edges[].targetstringYes
deliveryPlan.bindingsobjectYes
deliveryPlan.statusdraft | provisioning | ready | failed | archivedYesCurrent lifecycle status.
deliveryPlan.revisionintegerYes
deliveryPlan.idempotencyKeystringNo
deliveryPlan.errorstringNo
deliveryPlan.provisionedAtstringNo
deliveryPlan.createdAtstringYesISO 8601 timestamp.
deliveryPlan.updatedAtstringYesISO 8601 timestamp.
deliveryPlan.eventsobject[]No
deliveryPlan.events[].idstringYesUnique identifier.
deliveryPlan.events[].typestringYes
deliveryPlan.events[].actorUserIdstringYes
deliveryPlan.events[].payloadobjectYes
deliveryPlan.events[].createdAtstringYesISO 8601 timestamp.
400Invalid closed-schema delivery contract
None.
409Idempotency conflict or immutable provisioned plan
None.
Create or revise a Mission Control delivery contract
Loading...
Response 200
Loading...
See the ACP quickstart and SDK flow