Accept a Function optimization candidate

POST/v1/optimization-candidates/functions/{resourceId}/{candidateId}/accept

Re-verifies the exact worker-attested candidate Evaluation and a passed Assurance decision over that same evidence, then appends an immutable acceptance proof. This operation does not publish or deploy the Function.

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
resourceIdpathstringYes
candidateIdpathstringYes
Query parameters
None.

Body schema

Content type: application/json · Required

FieldTypeRequiredDescription
evaluationRunIdstringYes
assuranceRunIdstringYes

What the API returns

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

200Idempotent replay of the same accepted evidenceapplication/json
FieldTypeRequiredDescription
objectoptimization_candidate.acceptanceYes
candidateobjectYes
candidate.idstringYesUnique identifier.
candidate.objectoptimization_candidateYes
candidate.targetKindfunction | metronomeYes
candidate.targetResourceIdstringYes
candidate.baseVersionIdstringYes
candidate.baseFingerprintstringYes
candidate.candidateVersionIdstringYes
candidate.candidateFingerprintstringYes
candidate.objectiveFingerprintstringYes
candidate.proposalFingerprintstringYes
candidate.idempotencyKeystringYes
candidate.statusmaterialized | validated | accepted | rejected | published | supersededYesCurrent lifecycle status.
candidate.proposalobjectYes
candidate.proposal.schemaVersioncomputer_agents_optimization_candidate_v1Yes
candidate.proposal.targetobjectYes
candidate.proposal.target.kindfunction | metronomeYes
candidate.proposal.target.resourceIdstringYes
candidate.proposal.target.baseVersionIdstringYes
candidate.proposal.target.baseFingerprintstringYes
candidate.proposal.objectiveFingerprintstringYes
candidate.proposal.candidateobjectYes
candidate.proposal.candidate.fingerprintstringYes
candidate.proposal.candidate.labelstringYes
candidate.proposal.candidate.descriptionstringNoHuman-readable description.
candidate.proposal.candidate.snapshotobjectYes
candidate.proposal.candidate.snapshot.namestringNoHuman-readable name.
candidate.proposal.candidate.snapshot.descriptionstringNoHuman-readable description.
candidate.proposal.candidate.snapshot.kindfunctionYes
candidate.proposal.candidate.snapshot.sourceTypemanual | computer | gitNo
candidate.proposal.candidate.snapshot.sourceEnvironmentIdstringNo
candidate.proposal.candidate.snapshot.sourcePathstringNoWorkspace-relative file path.
candidate.proposal.candidate.snapshot.regionstringNo
candidate.proposal.candidate.snapshot.runtimestringNo
candidate.proposal.candidate.snapshot.authModepublic | privateNo
candidate.proposal.candidate.snapshot.customDomainstringNo
candidate.proposal.candidate.snapshot.metadataobjectNoVersionable Function metadata. Deployment identity and credentials are rejected.
candidate.proposal.candidate.snapshot.sourceFilesobject[]Yes
candidate.proposal.candidate.snapshot.sourceFiles[].pathstringYesSafe relative versioned source path.
candidate.proposal.candidate.snapshot.sourceFiles[].namestringYesHuman-readable name.
candidate.proposal.candidate.snapshot.sourceFiles[].isFolderbooleanYes
candidate.proposal.candidate.snapshot.sourceFiles[].sizeintegerYes
candidate.proposal.candidate.snapshot.sourceFileContentsobjectYesComplete contents for every non-folder sourceFiles entry.
candidate.proposal.producerobjectYes
candidate.proposal.producer.kindagent | human | deterministic | externalYes
candidate.proposal.producer.idstringYesUnique identifier.
candidate.proposal.producer.versionIdstringNo
candidate.proposal.producer.runIdstringNo
candidate.proposal.evidenceobjectNo
candidate.proposal.evidence.evaluationRunIdsstring[]No
candidate.proposal.evidence.testRunIdsstring[]No
candidate.proposal.evidence.assuranceRunIdsstring[]No
candidate.proposal.evidence.repairEpisodeIdstringNo
candidate.proposal.evidence.diagnosticFingerprintstringNo
candidate.proposal.idempotencyKeystringYes
candidate.producerobjectYes
candidate.producer.kindagent | human | deterministic | externalYes
candidate.producer.idstringYesUnique identifier.
candidate.producer.versionIdstringNo
candidate.producer.runIdstringNo
candidate.evidenceobjectYes
candidate.evidence.evaluationRunIdsstring[]No
candidate.evidence.testRunIdsstring[]No
candidate.evidence.assuranceRunIdsstring[]No
candidate.evidence.repairEpisodeIdstringNo
candidate.evidence.diagnosticFingerprintstringNo
candidate.organizationIdstringNo
candidate.createdByUserIdstringNo
candidate.createdAtstringYesISO 8601 timestamp.
candidate.updatedAtstringYesISO 8601 timestamp.
acceptanceobjectYes
acceptance.schemaVersioncomputer_agents_optimization_candidate_acceptance_v1Yes
acceptance.candidateobjectYes
acceptance.candidate.idstringYesUnique identifier.
acceptance.candidate.targetKindfunction | metronomeYes
acceptance.candidate.targetResourceIdstringYes
acceptance.candidate.baseVersionIdstringYes
acceptance.candidate.baseFingerprintstringYes
acceptance.candidate.candidateVersionIdstringYes
acceptance.candidate.candidateFingerprintstringYes
acceptance.candidate.objectiveFingerprintstringYes
acceptance.evaluationobjectYes
acceptance.evaluation.runIdstringYes
acceptance.evaluation.evaluationIdstringYes
acceptance.evaluation.evaluationVersionIdstringYes
acceptance.evaluation.evidenceFingerprintstringYes
acceptance.evaluation.targetFingerprintstringYes
acceptance.evaluation.attestationIdstringYes
acceptance.evaluation.completedAtstringYesISO 8601 timestamp.
acceptance.assuranceobjectYes
acceptance.assurance.runIdstringYes
acceptance.assurance.policyIdstringYes
acceptance.assurance.policyVersionIdstringYes
acceptance.assurance.evidenceFingerprintstringYes
acceptance.assurance.decisionFingerprintstringYes
acceptance.assurance.completedAtstringYesISO 8601 timestamp.
acceptance.acceptedAtstringYes
acceptance.acceptedByUserIdstringYes
acceptance.acceptanceFingerprintstringYes
alreadyAcceptedbooleanYes
publicationTriggeredfalseYes
deploymentTriggeredfalseYes
201Candidate accepted against immutable evidenceapplication/json
FieldTypeRequiredDescription
objectoptimization_candidate.acceptanceYes
candidateobjectYes
candidate.idstringYesUnique identifier.
candidate.objectoptimization_candidateYes
candidate.targetKindfunction | metronomeYes
candidate.targetResourceIdstringYes
candidate.baseVersionIdstringYes
candidate.baseFingerprintstringYes
candidate.candidateVersionIdstringYes
candidate.candidateFingerprintstringYes
candidate.objectiveFingerprintstringYes
candidate.proposalFingerprintstringYes
candidate.idempotencyKeystringYes
candidate.statusmaterialized | validated | accepted | rejected | published | supersededYesCurrent lifecycle status.
candidate.proposalobjectYes
candidate.proposal.schemaVersioncomputer_agents_optimization_candidate_v1Yes
candidate.proposal.targetobjectYes
candidate.proposal.target.kindfunction | metronomeYes
candidate.proposal.target.resourceIdstringYes
candidate.proposal.target.baseVersionIdstringYes
candidate.proposal.target.baseFingerprintstringYes
candidate.proposal.objectiveFingerprintstringYes
candidate.proposal.candidateobjectYes
candidate.proposal.candidate.fingerprintstringYes
candidate.proposal.candidate.labelstringYes
candidate.proposal.candidate.descriptionstringNoHuman-readable description.
candidate.proposal.candidate.snapshotobjectYes
candidate.proposal.candidate.snapshot.namestringNoHuman-readable name.
candidate.proposal.candidate.snapshot.descriptionstringNoHuman-readable description.
candidate.proposal.candidate.snapshot.kindfunctionYes
candidate.proposal.candidate.snapshot.sourceTypemanual | computer | gitNo
candidate.proposal.candidate.snapshot.sourceEnvironmentIdstringNo
candidate.proposal.candidate.snapshot.sourcePathstringNoWorkspace-relative file path.
candidate.proposal.candidate.snapshot.regionstringNo
candidate.proposal.candidate.snapshot.runtimestringNo
candidate.proposal.candidate.snapshot.authModepublic | privateNo
candidate.proposal.candidate.snapshot.customDomainstringNo
candidate.proposal.candidate.snapshot.metadataobjectNoVersionable Function metadata. Deployment identity and credentials are rejected.
candidate.proposal.candidate.snapshot.sourceFilesobject[]Yes
candidate.proposal.candidate.snapshot.sourceFiles[].pathstringYesSafe relative versioned source path.
candidate.proposal.candidate.snapshot.sourceFiles[].namestringYesHuman-readable name.
candidate.proposal.candidate.snapshot.sourceFiles[].isFolderbooleanYes
candidate.proposal.candidate.snapshot.sourceFiles[].sizeintegerYes
candidate.proposal.candidate.snapshot.sourceFileContentsobjectYesComplete contents for every non-folder sourceFiles entry.
candidate.proposal.producerobjectYes
candidate.proposal.producer.kindagent | human | deterministic | externalYes
candidate.proposal.producer.idstringYesUnique identifier.
candidate.proposal.producer.versionIdstringNo
candidate.proposal.producer.runIdstringNo
candidate.proposal.evidenceobjectNo
candidate.proposal.evidence.evaluationRunIdsstring[]No
candidate.proposal.evidence.testRunIdsstring[]No
candidate.proposal.evidence.assuranceRunIdsstring[]No
candidate.proposal.evidence.repairEpisodeIdstringNo
candidate.proposal.evidence.diagnosticFingerprintstringNo
candidate.proposal.idempotencyKeystringYes
candidate.producerobjectYes
candidate.producer.kindagent | human | deterministic | externalYes
candidate.producer.idstringYesUnique identifier.
candidate.producer.versionIdstringNo
candidate.producer.runIdstringNo
candidate.evidenceobjectYes
candidate.evidence.evaluationRunIdsstring[]No
candidate.evidence.testRunIdsstring[]No
candidate.evidence.assuranceRunIdsstring[]No
candidate.evidence.repairEpisodeIdstringNo
candidate.evidence.diagnosticFingerprintstringNo
candidate.organizationIdstringNo
candidate.createdByUserIdstringNo
candidate.createdAtstringYesISO 8601 timestamp.
candidate.updatedAtstringYesISO 8601 timestamp.
acceptanceobjectYes
acceptance.schemaVersioncomputer_agents_optimization_candidate_acceptance_v1Yes
acceptance.candidateobjectYes
acceptance.candidate.idstringYesUnique identifier.
acceptance.candidate.targetKindfunction | metronomeYes
acceptance.candidate.targetResourceIdstringYes
acceptance.candidate.baseVersionIdstringYes
acceptance.candidate.baseFingerprintstringYes
acceptance.candidate.candidateVersionIdstringYes
acceptance.candidate.candidateFingerprintstringYes
acceptance.candidate.objectiveFingerprintstringYes
acceptance.evaluationobjectYes
acceptance.evaluation.runIdstringYes
acceptance.evaluation.evaluationIdstringYes
acceptance.evaluation.evaluationVersionIdstringYes
acceptance.evaluation.evidenceFingerprintstringYes
acceptance.evaluation.targetFingerprintstringYes
acceptance.evaluation.attestationIdstringYes
acceptance.evaluation.completedAtstringYesISO 8601 timestamp.
acceptance.assuranceobjectYes
acceptance.assurance.runIdstringYes
acceptance.assurance.policyIdstringYes
acceptance.assurance.policyVersionIdstringYes
acceptance.assurance.evidenceFingerprintstringYes
acceptance.assurance.decisionFingerprintstringYes
acceptance.assurance.completedAtstringYesISO 8601 timestamp.
acceptance.acceptedAtstringYes
acceptance.acceptedByUserIdstringYes
acceptance.acceptanceFingerprintstringYes
alreadyAcceptedbooleanYes
publicationTriggeredfalseYes
deploymentTriggeredfalseYes
404Candidate or referenced evidence is outside the active access scope
None.
409Candidate
None.
Accept a Function optimization candidate
Loading...
Response 200
Loading...
See the ACP quickstart and SDK flow