List control reliability states
GET /compliance/states
Scope compliance:read Plan Scale+
Requires the compliance:read scope. Needs the continuous_monitoring plan feature.
Example
curl "https://api.autociso.io/api/v1/compliance/states" \
-H "Authorization: Bearer <your-api-token>"import requests
response = requests.get(
"https://api.autociso.io/api/v1/compliance/states",
headers={"Authorization": "Bearer <your-api-token>"},
)
print(response.json())const response = await fetch("https://api.autociso.io/api/v1/compliance/states", {
method: "GET",
headers: { "Authorization": "Bearer <your-api-token>" },
});
console.log(await response.json());Response 200
{
"data": [
{
"exceptionCount": 0,
"lastEvidenceAt": "2026-10-13T05:00:00Z",
"objectiveId": "obj_014",
"state": "healthy",
"stateId": "cst_1hk2z7r4m0qb",
"updatedAt": "2026-10-13T05:02:00Z"
},
{
"exceptionCount": 1,
"lastEvidenceAt": "2026-10-05T05:00:00Z",
"mttrMinutes": 240,
"objectiveId": "obj_027",
"state": "degraded",
"stateId": "cst_1hk2z8d1w6xn",
"updatedAt": "2026-10-12T05:02:00Z"
}
],
"error": null,
"meta": {
"limit": 25,
"offset": 0,
"total": 42
}
}Query parameters
limitintegerPage size.offsetintegerRows to skip (offset mode). Cannot be combined with cursor.cursorstringAn opaque cursor taken from meta.nextCursor of the previous page (cursor mode). Valid for 24 hours and bound to the token and the query; do not parse or construct it.sort[stateId]stringSort direction for stateId."asc" | "desc"sort[updatedAt]stringSort direction for updatedAt."asc" | "desc"filter[objectiveId][eq]stringFilter objectiveId (eq).filter[objectiveId][in]stringFilter objectiveId (in). Comma-separated, at most 50 values.filter[state][eq]stringFilter state (eq).filter[state][in]stringFilter state (in). Comma-separated, at most 50 values.filter[stateId][eq]stringFilter stateId (eq).filter[stateId][in]stringFilter stateId (in). Comma-separated, at most 50 values.filter[updatedAt][gte]string (date-time)Filter updatedAt (gte).filter[updatedAt][lt]string (date-time)Filter updatedAt (lt).
Returns
The data field of the standard { data, error, meta } envelope:
An array of object:
exceptionCountinteger requiredNumber of active exceptions.lastEvidenceAtstring (date-time) or nullTime of the latest evidence (UTC), when any.mttrMinutesinteger or nullMean time to recover in minutes, when measured.objectiveIdstring requiredCatalog control objective id.statestring requiredhealthy, degraded, failed or unknown.stateIdstring requiredControl reliability state id.updatedAtstring (date-time) requiredLast update time (UTC); the sync field.
Errors
| Status | Code | Retry | Meaning |
|---|---|---|---|
| 400 | - | no | The request is invalid. |
| 401 | - | no | The token is missing, malformed, expired or revoked. |
| 402 | - | no | The organisation’s plan does not include the feature this route needs. |
| 403 | - | no | The token may not use this route. |
| 429 | - | yes | Rate limit or row budget exceeded; retry after the time in Retry-After. |
| 500 | - | no | Unexpected server error. |
| 503 | - | yes | A dependency is temporarily unavailable; retry later. |
Last reviewed: 2026-10-13
Was this page helpful?