Anomalies
GET/api/public/v1/anomalies
curl --fail-with-body -X GET 'https://app.openlatch.ai/api/public/v1/anomalies' \ -H "Authorization: Bearer $OPENLATCH_API_KEY"import jsonimport osimport urllib.request
request = urllib.request.Request( 'https://app.openlatch.ai/api/public/v1/anomalies', method='GET', headers={ 'Authorization': 'Bearer ' + os.environ['OPENLATCH_API_KEY'], },)with urllib.request.urlopen(request) as response: text = response.read().decode() print(json.dumps(json.loads(text), indent=2) if text else response.status)#!/usr/bin/env bashset -euo pipefail
curl -sS --fail-with-body -X GET 'https://app.openlatch.ai/api/public/v1/anomalies' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" | jq .$headers = @{ Authorization = "Bearer $env:OPENLATCH_API_KEY"}Invoke-RestMethod -Method GET -Uri 'https://app.openlatch.ai/api/public/v1/anomalies' -Headers $headers | ConvertTo-Json -Depth 20Authorization
Section titled “Authorization”| Role in the organization | This endpoint |
|---|---|
owner | Allowed |
admin | Allowed |
editor | Allowed |
viewer | Allowed |
A key carries the role its owner holds in the organization. See Authentication.
API key scope: triage:read
Query parameters
Section titled “Query parameters”| Parameter | Type | Description |
|---|---|---|
scope | string | org for the organization, or agent:<agent_id> for one agent. |
search | string or null | |
dimension | string or null | |
verdict | string or null | |
status | string or null | |
mode | string or null | |
zone | string (uuid) or null | |
agent | string or null | |
policy | string or null | |
window | string or null | |
archived | boolean | |
page | integer | |
page_size | integer | |
cursor | string or null |
Response
Section titled “Response”- 200 OK — the call succeeded.
- 401 Unauthorized —
UNAUTHORIZED - 402 Payment Required —
license_expired - 403 Forbidden —
FEATURE_DISABLED,FORBIDDEN,INSUFFICIENT_SCOPE - 422 Unprocessable Content —
INVALID_ID,VALIDATION_ERROR - 429 Too Many Requests —
TOO_MANY_REQUESTS - 500 Internal Server Error —
INTERNAL_SERVER_ERROR,tenant_isolation_violation - 503 Service Unavailable —
FEATURE_STATE_UNAVAILABLE,SERVICE_UNAVAILABLE
Response fields
Section titled “Response fields”| Field | Type | Description |
|---|---|---|
data | array of object | Required. |
data[].agent_id | string or null | |
data[].archived_at | string (date-time) or null | |
data[].atom_id | string or null | |
data[].dimension | string or null | |
data[].id | string | Required. |
data[].impact | string or null | |
data[].mode | string or null | |
data[].occurred_at | string (date-time) | Required. |
data[].policy_public_id | string or null | |
data[].public_id | string | Required. |
data[].read_at | string (date-time) or null | |
data[].status | string | Required. |
data[].title | string | Required. |
data[].verdict | string or null | |
data[].why | string | Required. |
data[].zone_id | string or null | |
data[].zone_path | string or null | |
next_cursor | string or null | |
page | integer | Required. |
page_size | integer | Required. |
total | integer | Required. |
Example response
Section titled “Example response”{ "data": [ { "agent_id": "agt_01jbwa2k1vfrn9y42xhgxhmzj2", "archived_at": "2026-01-15T14:32:05Z", "atom_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "dimension": "string", "id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "impact": "string", "mode": "string", "occurred_at": "2026-01-15T14:32:05Z", "policy_public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "read_at": "2026-01-15T14:32:05Z", "status": "string", "title": "string", "verdict": "string", "why": "string", "zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "zone_path": "Engineering / Platform" } ], "next_cursor": "string", "page": 1, "page_size": 3, "total": 3}