import requests
url = "https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'{
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"live_demo_count": 123,
"name": "<string>",
"namespace": "<string>",
"parameters": [
{
"name": "<string>",
"value": "<string>"
}
],
"profile_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "configured",
"idle_ttl_hours": 123,
"last_error": "<string>",
"last_used_at": "2023-11-07T05:31:56Z",
"profile_name": "<string>",
"profile_version": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Update a demo base stack
Change the mutable designation of a demo base stack: profile, profile version, parameters, and idle TTL. The name (and thus the namespace) is immutable and ignored here; an omitted profile_id keeps the current profile. Changes are refused while the stack is deploying or deleting, and take effect on the next materialisation. Organisation-admin only; browser session authentication with the X-Ankra-CSRF double-submit header (no bearer twin).
import requests
url = "https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/org/ai-environment/demo-base-stacks/{base_stack_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'{
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"live_demo_count": 123,
"name": "<string>",
"namespace": "<string>",
"parameters": [
{
"name": "<string>",
"value": "<string>"
}
],
"profile_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "configured",
"idle_ttl_hours": 123,
"last_error": "<string>",
"last_used_at": "2023-11-07T05:31:56Z",
"profile_name": "<string>",
"profile_version": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
The update payload of a demo base stack. name is immutable and ignored here; an omitted profile_id keeps the current profile.
Response
The base stack after the write
One shared demo base stack: an organisation-level stack-profile designation that materialises lazily as a persistent stack in a stable ankra-demo-base-* namespace on the staging cluster. Status is one of: configured (saved, never materialised), deploying, ready, failed, deleting, deleted.
The number of non-destroyed demos referencing this base stack; deletion is refused while it is non-zero.
Show child attributes
Show child attributes
configured, deploying, ready, failed, deleting, deleted Idle hours after which the maintainer loop tears the stack down; null disables the idle TTL.
Denormalized onto reads only (never persisted).
Null tracks the profile's current version.