Start or reuse remediation runs for a security finding
import requests
url = "https://platform.ankra.app/api/v1/org/security/findings/{finding_id}/remediations"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/security/findings/{finding_id}/remediations', 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/security/findings/{finding_id}/remediations \
--header 'Authorization: Bearer <token>'{
"finding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"refusals": [
{
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_name": "<string>",
"image_repository": "<string>",
"occurrences": 123,
"reason": "<string>",
"repository": "<string>"
}
],
"runs": [
{
"created": true,
"run": {
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_name": "<string>",
"attempts": 123,
"branch": "<string>",
"cluster_ids": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"deadline_at": "2023-11-07T05:31:56Z",
"failed_head_shas": [
"<string>"
],
"finding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"image_repositories": [
"<string>"
],
"last_head_sha": "<string>",
"last_outcome": "<string>",
"last_pipeline_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"max_attempts": 123,
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pipeline_concluded_at": "2023-11-07T05:31:56Z",
"pipeline_repository_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pull_request_number": 123,
"pull_request_url": "<string>",
"repository": "<string>",
"requested_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "working",
"status_reason": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"verified_at": "2023-11-07T05:31:56Z",
"verified_head_sha": "<string>"
}
}
]
}{
"detail": "permission_denied",
"permission": "<string>",
"scope_type": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}Security
Start or reuse remediation runs for a security finding
Opens or reuses the fix pull request per affected application repository (the image rebuild lane), starts or answers the live remediation run for each, and dispatches the pull request branch’s head through Ankra Pipelines under the default branch’s approved authority. Repeating the call reuses the live runs; nothing is approved, waived or accepted.
POST
/
api
/
v1
/
org
/
security
/
findings
/
{finding_id}
/
remediations
Start or reuse remediation runs for a security finding
import requests
url = "https://platform.ankra.app/api/v1/org/security/findings/{finding_id}/remediations"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/security/findings/{finding_id}/remediations', 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/security/findings/{finding_id}/remediations \
--header 'Authorization: Bearer <token>'{
"finding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"refusals": [
{
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_name": "<string>",
"image_repository": "<string>",
"occurrences": 123,
"reason": "<string>",
"repository": "<string>"
}
],
"runs": [
{
"created": true,
"run": {
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"application_name": "<string>",
"attempts": 123,
"branch": "<string>",
"cluster_ids": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"deadline_at": "2023-11-07T05:31:56Z",
"failed_head_shas": [
"<string>"
],
"finding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"image_repositories": [
"<string>"
],
"last_head_sha": "<string>",
"last_outcome": "<string>",
"last_pipeline_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"max_attempts": 123,
"organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pipeline_concluded_at": "2023-11-07T05:31:56Z",
"pipeline_repository_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pull_request_number": 123,
"pull_request_url": "<string>",
"repository": "<string>",
"requested_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "working",
"status_reason": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"verified_at": "2023-11-07T05:31:56Z",
"verified_head_sha": "<string>"
}
}
]
}{
"detail": "permission_denied",
"permission": "<string>",
"scope_type": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.