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>"

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

  • limit integer
    Page size. minimum 1, maximum 100, default 25
  • offset integer
    Rows to skip (offset mode). Cannot be combined with cursor. minimum 0, maximum 10000, default 0
  • cursor string
    An 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] string
    Sort direction for stateId.
    "asc" | "desc"
  • sort[updatedAt] string
    Sort direction for updatedAt.
    "asc" | "desc"
  • filter[objectiveId][eq] string
    Filter objectiveId (eq).
  • filter[objectiveId][in] string
    Filter objectiveId (in). Comma-separated, at most 50 values.
  • filter[state][eq] string
    Filter state (eq).
  • filter[state][in] string
    Filter state (in). Comma-separated, at most 50 values.
  • filter[stateId][eq] string
    Filter stateId (eq).
  • filter[stateId][in] string
    Filter 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:

  • exceptionCount integer required
    Number of active exceptions.
  • lastEvidenceAt string (date-time) or null
    Time of the latest evidence (UTC), when any.
  • mttrMinutes integer or null
    Mean time to recover in minutes, when measured.
  • objectiveId string required
    Catalog control objective id.
  • state string required
    healthy, degraded, failed or unknown.
  • stateId string required
    Control reliability state id.
  • updatedAt string (date-time) required
    Last update time (UTC); the sync field.
  • No other fields.

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?

Esc