---
title: "Append-only audit log of v1 writes"
method: GET
path: "/api/v1/companies/{companyId}/audit-log"
tags: ["Audit log"]
---

# Append-only audit log of v1 writes

`GET /api/v1/companies/{companyId}/audit-log`

## Request

- Base URL: `https://comply.strac.io`
- URL: `https://comply.strac.io/api/v1/companies/{companyId}/audit-log`
- Auth: HTTP bearer

The `/api/v1/*` writes and MCP writes land here. Each row has who made the change, the tool, the resource, when, and whether a before and after state was recorded (`hasBeforeState`, `hasAfterState`); the states themselves are not returned. A row is written after its change, so if writing it fails, the change stands without a row. Rows come newest first, up to 200, with no paging. Filter by `tool` or by `changeAuthor`; if you send both, only `changeAuthor` applies.

Scope: `compliance:read`.

## Path parameters

- `companyId` string, required

## Query parameters

- `tool` string
- `changeAuthor` string
- `limit` integer

## Response `200`

Append-only audit log of v1 writes

---

[API](https://skmtc.dev/strac/apis/strac-comply-api.md) - [All operations](https://skmtc.dev/strac/apis/strac-comply-api/llms.txt) - [OpenAPI document](https://skmtc.dev/strac/apis/strac-comply-api/revisions/d5558b64eeeb?raw)
