Review a stack profile summary candidate
import requests
url = "https://platform.ankra.app/api/v1/org/stack-profiles/summary-generations/{generation_id}/review"
payload = {
"expected_source_revision": 2,
"expected_candidate_revision": 2,
"expected_approved_revision": 1
}
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({
expected_source_revision: 2,
expected_candidate_revision: 2,
expected_approved_revision: 1
})
};
fetch('https://platform.ankra.app/api/v1/org/stack-profiles/summary-generations/{generation_id}/review', 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/stack-profiles/summary-generations/{generation_id}/review \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expected_source_revision": 2,
"expected_candidate_revision": 2,
"expected_approved_revision": 1
}
'{
"decision": "approve",
"summary_revision": 1
}{
"detail": "<string>",
"code": "outcome_unknown"
}Stack Profiles
Review a stack profile summary candidate
Reads and decisions use the primary database with fresh permission, credential and source checks. Responses are private/no-store. Summary revisions never create or advance a workload profile version. No request accepts snapshots, approval identities or provider configuration.
POST
/
api
/
v1
/
org
/
stack-profiles
/
summary-generations
/
{generation_id}
/
review
Review a stack profile summary candidate
import requests
url = "https://platform.ankra.app/api/v1/org/stack-profiles/summary-generations/{generation_id}/review"
payload = {
"expected_source_revision": 2,
"expected_candidate_revision": 2,
"expected_approved_revision": 1
}
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({
expected_source_revision: 2,
expected_candidate_revision: 2,
expected_approved_revision: 1
})
};
fetch('https://platform.ankra.app/api/v1/org/stack-profiles/summary-generations/{generation_id}/review', 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/stack-profiles/summary-generations/{generation_id}/review \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expected_source_revision": 2,
"expected_candidate_revision": 2,
"expected_approved_revision": 1
}
'{
"decision": "approve",
"summary_revision": 1
}{
"detail": "<string>",
"code": "outcome_unknown"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Strict JSON, maximum 8192 bytes. Repeated and unknown object fields are rejected without echoing values.