import requests
url = "https://platform.ankra.app/org/applications/{application_id}/rollbacks"
payload = {
"cluster_id": "<string>",
"image_tag": "<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({cluster_id: '<string>', image_tag: '<string>'})
};
fetch('https://platform.ankra.app/org/applications/{application_id}/rollbacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/applications/{application_id}/rollbacks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cluster_id": "<string>",
"image_tag": "<string>"
}
'{
"id": "<string>",
"cluster_id": "<string>",
"target_kind": "<string>",
"stack_name": "<string>",
"installation_id": "<string>",
"image_tag": "<string>",
"previous_image_tag": "<string>",
"watermark_commit_sha": "<string>",
"status": "<string>",
"message": "<string>",
"requested_by": "<string>",
"requested_at": "<string>",
"not_reverted": [
"<string>"
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Roll an application deploy back
Put a previously published image back on this application’s deployment. The tag is confirmed present in the registry first, the push-to-deploy watermark is moved onto the newest observed build so the convergence loop does not undo the rollback, and the tag is then written through the same narrow path a push-triggered deploy uses. Held to the applications.deploy permission. Browser session authentication with the X-Ankra-CSRF double-submit header only (no bearer twin).
import requests
url = "https://platform.ankra.app/org/applications/{application_id}/rollbacks"
payload = {
"cluster_id": "<string>",
"image_tag": "<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({cluster_id: '<string>', image_tag: '<string>'})
};
fetch('https://platform.ankra.app/org/applications/{application_id}/rollbacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/applications/{application_id}/rollbacks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cluster_id": "<string>",
"image_tag": "<string>"
}
'{
"id": "<string>",
"cluster_id": "<string>",
"target_kind": "<string>",
"stack_name": "<string>",
"installation_id": "<string>",
"image_tag": "<string>",
"previous_image_tag": "<string>",
"watermark_commit_sha": "<string>",
"status": "<string>",
"message": "<string>",
"requested_by": "<string>",
"requested_at": "<string>",
"not_reverted": [
"<string>"
]
}{
"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
Response
Successful Response
One rollback as it happened. previous_image_tag is null when Ankra could not read what was running - never that nothing was running. watermark_commit_sha names the push-to-deploy build the rollback stamped so the convergence loop would not undo it, or "" when no build had been observed. not_reverted repeats what a rollback leaves untouched.