Reconcile an autonomous delivery execution

POST/v1/projects/{projectId}/delivery-plan/execution/reconcile

Requests an immediate idempotent reconciliation. Clients cannot select or bypass stages; the supervisor derives the next transition from verified evidence.

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.

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.

200Reconciled executionapplication/json
FieldTypeRequiredDescription
deliveryExecutionobjectYes
deliveryExecution.idstringYesUnique identifier.
deliveryExecution.deliveryPlanIdstringYes
deliveryExecution.projectIdstringYesProject ID.
deliveryExecution.userIdstringYesUser ID.
deliveryExecution.organizationIdstringNo
deliveryExecution.createdByUserIdstringNo
deliveryExecution.planRevisionintegerNo
deliveryExecution.schemaVersioncomputer_agents_project_delivery_execution_v1 | computer_agents_project_delivery_execution_v2Yes
deliveryExecution.statusqueued | running | blocked | failed | passed | cancelledYesCurrent lifecycle status.
deliveryExecution.currentStagebuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYes
deliveryExecution.stagesobjectYes
deliveryExecution.stages.buildobjectYes
deliveryExecution.stages.build.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.build.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.build.retryCountintegerYes
deliveryExecution.stages.build.taskIdstringYes
deliveryExecution.stages.build.resourceIdsstring[]Yes
deliveryExecution.stages.build.evidenceobjectYes
deliveryExecution.stages.build.errorstringYes
deliveryExecution.stages.build.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.build.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.testobjectYes
deliveryExecution.stages.test.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.test.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.test.retryCountintegerYes
deliveryExecution.stages.test.taskIdstringYes
deliveryExecution.stages.test.resourceIdsstring[]Yes
deliveryExecution.stages.test.evidenceobjectYes
deliveryExecution.stages.test.errorstringYes
deliveryExecution.stages.test.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.test.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.evaluateobjectYes
deliveryExecution.stages.evaluate.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.evaluate.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.evaluate.retryCountintegerYes
deliveryExecution.stages.evaluate.taskIdstringYes
deliveryExecution.stages.evaluate.resourceIdsstring[]Yes
deliveryExecution.stages.evaluate.evidenceobjectYes
deliveryExecution.stages.evaluate.errorstringYes
deliveryExecution.stages.evaluate.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.evaluate.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.optimizeobjectYes
deliveryExecution.stages.optimize.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.optimize.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.optimize.retryCountintegerYes
deliveryExecution.stages.optimize.taskIdstringYes
deliveryExecution.stages.optimize.resourceIdsstring[]Yes
deliveryExecution.stages.optimize.evidenceobjectYes
deliveryExecution.stages.optimize.errorstringYes
deliveryExecution.stages.optimize.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.optimize.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.re_evaluateobjectYes
deliveryExecution.stages.re_evaluate.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.re_evaluate.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.re_evaluate.retryCountintegerYes
deliveryExecution.stages.re_evaluate.taskIdstringYes
deliveryExecution.stages.re_evaluate.resourceIdsstring[]Yes
deliveryExecution.stages.re_evaluate.evidenceobjectYes
deliveryExecution.stages.re_evaluate.errorstringYes
deliveryExecution.stages.re_evaluate.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.re_evaluate.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.acceptance_evaluateobjectYes
deliveryExecution.stages.acceptance_evaluate.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.acceptance_evaluate.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.acceptance_evaluate.retryCountintegerYes
deliveryExecution.stages.acceptance_evaluate.taskIdstringYes
deliveryExecution.stages.acceptance_evaluate.resourceIdsstring[]Yes
deliveryExecution.stages.acceptance_evaluate.evidenceobjectYes
deliveryExecution.stages.acceptance_evaluate.errorstringYes
deliveryExecution.stages.acceptance_evaluate.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.acceptance_evaluate.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.assureobjectYes
deliveryExecution.stages.assure.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.assure.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.assure.retryCountintegerYes
deliveryExecution.stages.assure.taskIdstringYes
deliveryExecution.stages.assure.resourceIdsstring[]Yes
deliveryExecution.stages.assure.evidenceobjectYes
deliveryExecution.stages.assure.errorstringYes
deliveryExecution.stages.assure.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.assure.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.releaseobjectYes
deliveryExecution.stages.release.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.release.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.release.retryCountintegerYes
deliveryExecution.stages.release.taskIdstringYes
deliveryExecution.stages.release.resourceIdsstring[]Yes
deliveryExecution.stages.release.evidenceobjectYes
deliveryExecution.stages.release.errorstringYes
deliveryExecution.stages.release.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.release.completedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.deliverobjectYes
deliveryExecution.stages.deliver.idbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYesUnique identifier.
deliveryExecution.stages.deliver.statuspending | running | blocked | passed | failed | skippedYesCurrent lifecycle status.
deliveryExecution.stages.deliver.retryCountintegerYes
deliveryExecution.stages.deliver.taskIdstringYes
deliveryExecution.stages.deliver.resourceIdsstring[]Yes
deliveryExecution.stages.deliver.evidenceobjectYes
deliveryExecution.stages.deliver.errorstringYes
deliveryExecution.stages.deliver.startedAtstringYesISO 8601 timestamp.
deliveryExecution.stages.deliver.completedAtstringYesISO 8601 timestamp.
deliveryExecution.bindingsobjectYes
deliveryExecution.bindings.repairAttemptCountintegerNo
deliveryExecution.bindings.repairStatusqueued | running | passed | failed | exhaustedNo
deliveryExecution.bindings.repairEpisodeobjectNo
deliveryExecution.bindings.repairEpisode.schemaVersioncomputer_agents_project_delivery_repair_episode_v1Yes
deliveryExecution.bindings.repairEpisode.idstringYesUnique identifier.
deliveryExecution.bindings.repairEpisode.sourceStagetest | evaluate | acceptance_evaluateYes
deliveryExecution.bindings.repairEpisode.repairAttemptintegerYes
deliveryExecution.bindings.repairEpisode.maximumAttemptsintegerYes
deliveryExecution.bindings.repairEpisode.repairTaskIdstringYes
deliveryExecution.bindings.repairEpisode.testPlanIdstringYes
deliveryExecution.bindings.repairEpisode.testPlanVersionIdstringYes
deliveryExecution.bindings.repairEpisode.failedRunIdstringYes
deliveryExecution.bindings.repairEpisode.failedRunStatusstringYes
deliveryExecution.bindings.repairEpisode.failedCommitShastringYes
deliveryExecution.bindings.repairEpisode.failureMessagestringYes
deliveryExecution.bindings.repairEpisode.evidenceFingerprintstringYes
deliveryExecution.bindings.repairEpisode.resultSetFingerprintstringYes
deliveryExecution.bindings.repairEpisode.artifactSetFingerprintstringYes
deliveryExecution.bindings.repairEpisode.reportFingerprintstringNo
deliveryExecution.bindings.repairEpisode.evaluationIdstringNo
deliveryExecution.bindings.repairEpisode.evaluationVersionIdstringNo
deliveryExecution.bindings.repairEpisode.failedTargetTypestringNo
deliveryExecution.bindings.repairEpisode.failedTargetIdstringNo
deliveryExecution.bindings.repairEpisode.failedTargetVersionIdstringNo
deliveryExecution.bindings.repairEpisode.failedTargetFingerprintstringNo
deliveryExecution.bindings.repairEpisode.averageScorenumberNo
deliveryExecution.bindings.repairEpisode.passRatenumberNo
deliveryExecution.bindings.repairEpisode.minimumAverageScorenumberNo
deliveryExecution.bindings.repairEpisode.minimumPassRatenumberNo
deliveryExecution.bindings.repairEpisode.diagnosticFingerprintstringYes
deliveryExecution.bindings.repairEpisode.failedCasesobject[]Yes
deliveryExecution.bindings.repairEpisode.failedCases[].caseIdstringYes
deliveryExecution.bindings.repairEpisode.failedCases[].statusfailed | errorYesCurrent lifecycle status.
deliveryExecution.bindings.repairEpisode.failedCases[].messagestringYesMessage text.
deliveryExecution.bindings.repairEpisode.failedCases[].scorenumberNo
deliveryExecution.bindings.repairEpisode.artifactsobject[]Yes
deliveryExecution.bindings.repairEpisode.artifacts[].idstringYesUnique identifier.
deliveryExecution.bindings.repairEpisode.artifacts[].namestringYesHuman-readable name.
deliveryExecution.bindings.repairEpisode.artifacts[].uristringYes
deliveryExecution.bindings.repairEpisode.artifacts[].sha256stringYes
deliveryExecution.bindings.repairEpisode.previousReleaseFingerprintstringYes
deliveryExecution.bindings.repairEpisode.previousResourceVersionIdsobjectYes
deliveryExecution.bindings.repairEpisode.previousResourceRevisionsobjectYes
deliveryExecution.bindings.repairEpisode.allowedResourceKeysstring[]Yes
deliveryExecution.bindings.repairEpisode.requireChangedResourceRevisiontrueYes
deliveryExecution.bindings.repairEpisode.createdAtstringYesISO 8601 timestamp.
deliveryExecution.bindings.releaseAuthorizationIdstringNo
deliveryExecution.bindings.releaseAuthorizationEvidenceFingerprintstringNo
deliveryExecution.bindings.releaseAuthorizationReleaseFingerprintstringNo
deliveryExecution.costUsdnumberYes
deliveryExecution.budgetUsdnumberYes
deliveryExecution.executionAttemptintegerYes
deliveryExecution.nextReconcileAtstringYes
deliveryExecution.lastErrorstringYes
deliveryExecution.startedAtstringYesISO 8601 timestamp.
deliveryExecution.completedAtstringYesISO 8601 timestamp.
deliveryExecution.createdAtstringYesISO 8601 timestamp.
deliveryExecution.updatedAtstringYesISO 8601 timestamp.
deliveryExecution.eventsobject[]No
deliveryExecution.events[].idstringYesUnique identifier.
deliveryExecution.events[].typestringYes
deliveryExecution.events[].stageIdbuild | test | evaluate | optimize | re_evaluate | acceptance_evaluate | assure | release | deliverYes
deliveryExecution.events[].actorUserIdstringYes
deliveryExecution.events[].payloadobjectYes
deliveryExecution.events[].createdAtstringYesISO 8601 timestamp.
404Resource not foundapplication/json
FieldTypeRequiredDescription
errorstringNo
Reconcile an autonomous delivery execution
Loading...
Response 200
Loading...
See the ACP quickstart and SDK flow