Adopt reviewed operating expectations
import requests
url = "https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations"
payload = {
"availability_percent": 95,
"data_loss_minutes": 5040,
"expected_revision": 1,
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
}
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({
availability_percent: 95,
data_loss_minutes: 5040,
expected_revision: 1,
monthly_budget_cents: 50000000,
recovery_minutes: 5040,
retention_days: 1825,
routine_care: 'review_required'
})
};
fetch('https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"availability_percent": 95,
"data_loss_minutes": 5040,
"expected_revision": 1,
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
}
'{
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"current": {
"adopted_at": "2023-11-07T05:31:56Z",
"adopted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectations": {
"availability_percent": 95,
"data_loss_minutes": 5040,
"data_region": "eu",
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
},
"revision": 2
},
"enforcement": "expectations_only",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recovery_evidence": "unverified",
"history": [
{
"adopted_at": "2023-11-07T05:31:56Z",
"adopted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectations": {
"availability_percent": 95,
"data_loss_minutes": 5040,
"data_region": "eu",
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
},
"revision": 2
}
],
"history_capped": true
}Applications
Adopt reviewed operating expectations
Environment-scoped operating intent. Targets do not provision or certify runtime controls. Adoption checks the reviewed revision and commits intent with an audit record atomically.
PUT
/
org
/
applications
/
{application_id}
/
environments
/
{environment_id}
/
operating-expectations
Adopt reviewed operating expectations
import requests
url = "https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations"
payload = {
"availability_percent": 95,
"data_loss_minutes": 5040,
"expected_revision": 1,
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
}
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({
availability_percent: 95,
data_loss_minutes: 5040,
expected_revision: 1,
monthly_budget_cents: 50000000,
recovery_minutes: 5040,
retention_days: 1825,
routine_care: 'review_required'
})
};
fetch('https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://platform.ankra.app/org/applications/{application_id}/environments/{environment_id}/operating-expectations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"availability_percent": 95,
"data_loss_minutes": 5040,
"expected_revision": 1,
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
}
'{
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"current": {
"adopted_at": "2023-11-07T05:31:56Z",
"adopted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectations": {
"availability_percent": 95,
"data_loss_minutes": 5040,
"data_region": "eu",
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
},
"revision": 2
},
"enforcement": "expectations_only",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recovery_evidence": "unverified",
"history": [
{
"adopted_at": "2023-11-07T05:31:56Z",
"adopted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectations": {
"availability_percent": 95,
"data_loss_minutes": 5040,
"data_region": "eu",
"monthly_budget_cents": 50000000,
"recovery_minutes": 5040,
"retention_days": 1825,
"routine_care": "review_required"
},
"revision": 2
}
],
"history_capped": true
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Required range:
90 <= x <= 100Required range:
0 <= x <= 10080Available options:
eu, us, any Required range:
x >= 0Required range:
0 <= x <= 100000000Required range:
1 <= x <= 10080Required range:
1 <= x <= 3650Available options:
review_required Response
Current operating intent
Show child attributes
Show child attributes
Available options:
expectations_only Available options:
unverified Up to 20 adopted revisions, newest first. Null on the immediate adoption receipt; read again for history.
Show child attributes
Show child attributes