List an employee's access events

GET /employees/{id}/access-history

Scope employee:read

Requires the employee:read scope.

Example

curl "https://api.autociso.io/api/v1/employees/<id>/access-history" \
  -H "Authorization: Bearer <your-api-token>"

Response 200

{
  "data": [
    {
      "assetId": "ast_1hfz2m3r9t5b",
      "employeeId": "empl_1hgyv08q3k2m",
      "eventId": "ace_1hk1d4q8s2wv",
      "eventType": "DETECTED",
      "occurredAt": "2026-01-15T08:00:00Z"
    },
    {
      "assetId": "ast_1hfz2m3r9t5b",
      "employeeId": "empl_1hgyv08q3k2m",
      "eventId": "ace_1hk3x0m5t7yc",
      "eventType": "REVOKED",
      "occurredAt": "2026-09-02T02:00:00Z"
    }
  ],
  "error": null,
  "meta": {
    "limit": 25,
    "offset": 0,
    "total": 2
  }
}

Path parameters

  • id string required

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[eventId] string
    Sort direction for eventId.
    "asc" | "desc"
  • sort[occurredAt] string
    Sort direction for occurredAt.
    "asc" | "desc"
  • filter[assetId][eq] string
    Filter assetId (eq).
  • filter[assetId][in] string
    Filter assetId (in). Comma-separated, at most 50 values.
  • filter[eventId][eq] string
    Filter eventId (eq).
  • filter[eventId][in] string
    Filter eventId (in). Comma-separated, at most 50 values.
  • filter[eventType][eq] string
    Filter eventType (eq).
    "DETECTED" | "REVOKED" | "VERIFIED"
  • filter[eventType][in] string
    Filter eventType (in). Comma-separated, at most 50 values.
  • filter[occurredAt][gte] string (date-time)
    Filter occurredAt (gte).
  • filter[occurredAt][lt] string (date-time)
    Filter occurredAt (lt).

Returns

The data field of the standard { data, error, meta } envelope:

An array of object:

  • assetId string required
    Asset id, always ast_ (a legacy row's 24-hex id is returned as ast_<hex>).
  • assetLegacyId string
    The legacy 24-hex asset id; present only for legacy rows.
  • employeeId string required
    Employee (empl_ FlakeID).
  • eventId string required
    Access event id (ace_ FlakeID); the keyset tie-break. Empty for legacy events.
  • eventType string required
    DETECTED, REVOKED or VERIFIED.
  • occurredAt string (date-time) required
    When the audit observed the event (events are append-only; 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.
404 - no The resource does not exist in this organisation.
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