List the security posture of every stack of an imported cluster
import requests
url = "https://platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://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://platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks \
--header 'Authorization: Bearer <token>'{
"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
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
import requests
url = "https://platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://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://platform.ankra.app/org/clusters/imported/{cluster_id}/security/stacks \
--header 'Authorization: Bearer <token>'{
"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
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
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