import requests
url = "https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm"
payload = { "digest": "<string>" }
headers = {
"cookie": "ankra_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {cookie: 'ankra_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({digest: '<string>'})
};
fetch('https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm \
--header 'Content-Type: application/json' \
--cookie ankra_session= \
--data '
{
"digest": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {},
"digest": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z"
}Confirm a reviewed managed-service plan by its digest
Requires the applications rollout flag and live membership intersected with token scopes; reviews require applications.deploy, profiles.read and clusters.read. Preparing a review resolves the immutable package, the declared cluster policy, every explicitly bound consumer and every secret grant on the primary database, and stores an actor-bound plan with a digest and a ten-minute expiry. Confirming accepts only the stored review id and the reviewed digest, revalidates the same authority under row locks, and enqueues one cluster-scoped execution for a customer or existing-service plan; a retry returns the same receipt after current access checks. Hosted plans are refused at preparation: hosted operator-to-customer binding and cell dispatch are not wired, so nothing hosted can be reviewed or confirmed. Plans never carry credential values. The execution receipt is not proof of service readiness.
import requests
url = "https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm"
payload = { "digest": "<string>" }
headers = {
"cookie": "ankra_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {cookie: 'ankra_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({digest: '<string>'})
};
fetch('https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/service-admission/reviews/{review_id}/confirm \
--header 'Content-Type: application/json' \
--cookie ankra_session= \
--data '
{
"digest": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {},
"digest": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z"
}Authorizations
Browser session. Mutations also require X-Ankra-CSRF.
Path Parameters
Body
^sha256:[a-f0-9]{64}$Response
The stored review, its plan and digest; confirmation adds the execution receipt.
The server-resolved plan (schema version 2): package digest, mode, location, service cluster, consumers with their policy and binding revisions, bounded parameters and opaque secret references. Never credential values.
^sha256:[a-f0-9]{64}$