Activity log
Every tracked action in a workspace — templates created or edited, renders started, members invited, billing changes, webhook deliveries and more — is written to an append-only activity log. Entries are never updated or deleted, so the log is a reliable record of what happened and when, even after the thing it describes has since changed or been removed.
Each entry records who (or what) acted, which surface the action came from, whether it succeeded, and action-specific details:
| Param | Type | Notes |
|---|---|---|
| action | string | A dotted name, e.g. "workspace.member.invited" or "render.created". |
| source | dashboard | api | signed-url | webhook | mcp | staff | system | Which surface produced the entry. |
| status | success | failure | |
| actorLabel | string | The acting user's email, or an API key's public id — never a raw key. |
| metadata | object | Varies by action, e.g. the template or render it refers to. |
You can filter the log by any combination of surface (source), outcome (status), action — matched as a prefix, so "workspace.member" covers every member event — and a date range.
source: "staff", regardless of what the underlying action would normally report — so it's always clear when a change in the log wasn't made by anyone on the workspace.This page covers what the log is and how to read it. For the endpoint itself — request parameters, pagination and the full response shape — see GET /v1/workspace/logs.
Was this page helpful?