List the security posture of every stack of an imported cluster (browser session)
import requests
url = "https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks"
headers = {"cookie": "ankra_session="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'ankra_session='}};
fetch('https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks \
--cookie ankra_session={
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scanner": {
"fresh_clusters": 123,
"last_scan": "2023-11-07T05:31:56Z",
"stale_after_seconds": 123,
"stale_clusters": 123,
"status": "fresh",
"unscanned_clusters": 123
},
"intelligence": {
"epss_synced_at": "2023-11-07T05:31:56Z",
"kev_listed": 123,
"kev_synced_at": "2023-11-07T05:31:56Z"
},
"coverage": {
"scanned_clusters": 123,
"clusters_with_sbom": 123,
"images": 123,
"components": 123,
"workloads": 123,
"latest_generated_at": "2023-11-07T05:31:56Z"
},
"stacks": [
{
"stack_name": "<string>",
"stack_resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "connected",
"scope": {
"addons": 123,
"manifests": 123,
"declared_objects": 123,
"matched_workloads": 123,
"unmatched_members": 123
},
"findings": {
"observed": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"actionable": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"acknowledged": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"accepted_risk": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"findings": 123,
"fixable_severe": 123,
"known_exploited": 123,
"known_exploited_findings": 123,
"affected_images": 123,
"affected_workloads": 123,
"last_scan": "2023-11-07T05:31:56Z"
},
"containers": 123,
"containers_with_sbom": 123,
"containers_without_sbom": 123,
"pods": 123,
"sbom_images": 123,
"sbom_components": 123
}
],
"outside": {
"workloads": 123,
"observed": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"actionable": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"fixable_severe": 123,
"known_exploited": 123,
"containers": 123,
"containers_with_sbom": 123,
"containers_without_sbom": 123,
"pods": 123,
"last_scan": "2023-11-07T05:31:56Z"
}
}{
"detail": "<string>"
}{
"detail": "permission_denied",
"permission": "<string>",
"scope_type": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}Security
List the security posture of every stack of an imported cluster (browser session)
Every live stack of the cluster with its security posture - what the read could attribute, the CVE posture over the workloads the stack owns, the running containers with and without a bill of materials - plus the outside bucket: everything on the cluster no stack owns, so the rows add up to the cluster. Each stack is attributed exactly as its own security read attributes it.
GET
/
org
/
clusters
/
imported
/
{cluster_id}
/
security
/
stacks
List the security posture of every stack of an imported cluster (browser session)
import requests
url = "https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks"
headers = {"cookie": "ankra_session="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'ankra_session='}};
fetch('https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks \
--cookie ankra_session={
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scanner": {
"fresh_clusters": 123,
"last_scan": "2023-11-07T05:31:56Z",
"stale_after_seconds": 123,
"stale_clusters": 123,
"status": "fresh",
"unscanned_clusters": 123
},
"intelligence": {
"epss_synced_at": "2023-11-07T05:31:56Z",
"kev_listed": 123,
"kev_synced_at": "2023-11-07T05:31:56Z"
},
"coverage": {
"scanned_clusters": 123,
"clusters_with_sbom": 123,
"images": 123,
"components": 123,
"workloads": 123,
"latest_generated_at": "2023-11-07T05:31:56Z"
},
"stacks": [
{
"stack_name": "<string>",
"stack_resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "connected",
"scope": {
"addons": 123,
"manifests": 123,
"declared_objects": 123,
"matched_workloads": 123,
"unmatched_members": 123
},
"findings": {
"observed": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"actionable": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"acknowledged": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"accepted_risk": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"findings": 123,
"fixable_severe": 123,
"known_exploited": 123,
"known_exploited_findings": 123,
"affected_images": 123,
"affected_workloads": 123,
"last_scan": "2023-11-07T05:31:56Z"
},
"containers": 123,
"containers_with_sbom": 123,
"containers_without_sbom": 123,
"pods": 123,
"sbom_images": 123,
"sbom_components": 123
}
],
"outside": {
"workloads": 123,
"observed": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"actionable": {
"critical": 123,
"high": 123,
"low": 123,
"medium": 123,
"unknown": 123
},
"fixable_severe": 123,
"known_exploited": 123,
"containers": 123,
"containers_with_sbom": 123,
"containers_without_sbom": 123,
"pods": 123,
"last_scan": "2023-11-07T05:31:56Z"
}
}{
"detail": "<string>"
}{
"detail": "permission_denied",
"permission": "<string>",
"scope_type": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}Authorizations
Browser session. Mutations also require X-Ankra-CSRF.
Path Parameters
Response
Successful response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes