import requests
url = "https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}/confirm"
payload = { "digest": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({digest: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_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/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"digest": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {
"schema_version": 1,
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generation": 2,
"namespace": "<string>",
"stack": {
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "deployed",
"members": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "addon",
"name": "<string>",
"namespace": "<string>"
}
],
"member_digest": "<string>"
},
"nothing_deployed": true,
"owned_draft_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consumers_to_disconnect": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>"
}
],
"shared_kept": [
{
"stack_name": "<string>",
"title": "<string>"
}
],
"data": {
"namespace_deleted": true,
"volumes_deleted": true,
"secrets_deleted": true,
"export_offered": true,
"restore_points": "kept_per_vault_retention",
"statement": "<string>"
},
"expires_at": "2023-11-07T05:31:56Z"
},
"digest": "<string>",
"state": "pending",
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z",
"phase": "retire_stack",
"settled_at": "2023-11-07T05:31:56Z",
"outcome": "retired",
"reason": "<string>"
}Confirm a managed-service retirement by its digest
Requires the applications rollout flag, applications.deploy, and on the service cluster clusters.operate, stacks.delete and clusters.read, plus clusters.read on every consumer cluster, all intersected with live token scopes. Accepts only the stored retirement and the digest its actor reviewed, resolves the plan again under the instance lock and enqueues one execution that removes the stack, waits for its members to be removed from the cluster, deletes the service’s namespace once nothing else deploys into it, and releases the name only after the namespace is observed gone. Concurrent confirmations yield one execution; a retry returns the same receipt. The receipt is not proof of removal: follow the retirement’s outcome.
import requests
url = "https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}/confirm"
payload = { "digest": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({digest: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_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/api/v1/org/service-admission/instances/{instance_id}/retirements/{retirement_id}/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"digest": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan": {
"schema_version": 1,
"instance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generation": 2,
"namespace": "<string>",
"stack": {
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "deployed",
"members": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "addon",
"name": "<string>",
"namespace": "<string>"
}
],
"member_digest": "<string>"
},
"nothing_deployed": true,
"owned_draft_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consumers_to_disconnect": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>"
}
],
"shared_kept": [
{
"stack_name": "<string>",
"title": "<string>"
}
],
"data": {
"namespace_deleted": true,
"volumes_deleted": true,
"secrets_deleted": true,
"export_offered": true,
"restore_points": "kept_per_vault_retention",
"statement": "<string>"
},
"expires_at": "2023-11-07T05:31:56Z"
},
"digest": "<string>",
"state": "pending",
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmed_at": "2023-11-07T05:31:56Z",
"phase": "retire_stack",
"settled_at": "2023-11-07T05:31:56Z",
"outcome": "retired",
"reason": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
^sha256:[a-f0-9]{64}$Response
The retirement with its execution receipt.
The server-resolved statement of what the retirement removes and keeps. The digest covers all of it; nothing in it is supplied by the client.
Show child attributes
Show child attributes
^sha256:[a-f0-9]{64}$pending and expired describe an unconfirmed review's window; in_progress and settled a confirmed retirement.
pending, expired, in_progress, settled The confirmation's receipt: the execution carrying out the retirement.
retire_stack, await_teardown, dispose_data Only retired releases the service's name; every other outcome keeps it reserved and reason says why.
retired, removal_failed, disposal_unknown, refused, interrupted