---
title: "List Admin Actions"
method: GET
path: "/admin/audit"
tags: ["admin-audit"]
---

# List Admin Actions

`GET /admin/audit`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/admin/audit`
- Auth: none declared

List recorded platform-operator actions, newest first (admin).

The oversight surface for cross-tenant staff activity: who entered which customer's
tenant, through which credential, when, and why.

**Scope today: a visit's boundaries, not its contents.** Rows are written for
``support_session.open`` / ``.unlock`` / ``.close``; individual writes made during a
visit are NOT yet recorded here, and ``old_json``/``new_json`` are always null. So this
answers "who was in our books, when, and for what stated reason" — not yet "what
exactly did they change". For the latter, the journal-entry audit and the per-row actor
stamps remain the record. Said plainly because an oversight surface that is read as
complete when it is not is worse than one whose limits are on the label.

Filter by
``target_company_id`` to answer a single customer's "who touched our books", by
``actor_user_id`` for one operator's history, or by ``support_session_id`` to read one
visit end to end.

Rows are append-only at the database level, so this view cannot be tidied — which is
the point of it.

## Query parameters

- `actor_user_id` string, nullable
- `target_company_id` string, nullable
- `action` string, nullable
- `support_session_id` string, nullable
- `since` string, date-time, nullable
- `limit` integer
- `offset` integer

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- AdminActionsOut
  - `actions` AdminActionOut[], required
    - `id` string, required
    - `actor_user_id` string, nullable, required
    - `actor_email` string, nullable, required
    - `actor_credential_purpose` string, required
    - `support_session_id` string, nullable, required
    - `target_company_id` string, nullable, required
    - `action` string, required
    - `target_kind` string, nullable, required
    - `target_id` string, nullable, required
    - `reason` string, nullable, required
    - `request_id` string, nullable, required
    - `ip` string, nullable, required
    - `user_agent` string, nullable, required
    - `occurred_at` string, date-time, required
    - `old_json` object, nullable, required
    - `new_json` object, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
