List audit log events
Returns your account's audit log as a reverse-chronological (newest-first) page of control-plane events in the standard data list envelope.
Returns your account's audit log as a reverse-chronological (newest-first) page of control-plane events in the standard data list envelope. Each entry records one governance-relevant action — such as api_key.created, domain.deleted, webhook.secret_rotated, or member.role_changed — along with the affected resourceType and resourceId, the actor that performed it (the API key id, or dashboard for console actions), the source ip when captured, an action-specific metadata object, and the createdAt timestamp in UTC. Pass action to return only events with exactly that action (dotted lowercase such as inbox.created, at most 64 characters; anything else is a 400). Page with limit (an integer from 1 to 100, default 25) and the opaque keyset cursor; a limit outside that range, or a malformed cursor, returns 400. Read pagination.nextCursor from each response and pass it back as cursor for the next page — on the last page pagination.hasMore is false and nextCursor is null. Results are scoped to the project the calling key is bound to, so a key never sees another project's activity. This is a read-only endpoint that requires the account:read scope (a key restricted to specific inboxes is refused with a 403, because the trail spans every inbox); it emits no webhooks and has no billing impact.
Scope: account:read. Send the API key as a bearer token; Scopes lists what each one reaches.
Request
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of items in the page. (minimum 1, maximum 100, default 25) |
cursor | string | no | The nextCursor of the previous page; omit it for the first page (Pagination). |
action | string | no | Only events with exactly this action, e.g. inbox.created (dotted lowercase, at most 64 characters). (max length 64) |
Response
200 Success. Body: application/json, AuditLogListResponse.
| Field | Type | Required | Description |
|---|---|---|---|
object | "list" | yes | |
data | array of AuditLogEvent | yes | |
pagination | Pagination | yes |
Errors
Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.
| Status | Meaning |
|---|---|
400 | The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch). |
401 | The API key is missing or invalid. |
403 | The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted). |
404 | No such resource in this account (resource_not_found). |
422 | The request is well-formed but a field failed validation (validation_failed). |
429 | Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached). |
500 | An unexpected error; retry with backoff, then contact support (internal_error). |
Mint a branded, shareable link for an attachment
Identical response shape to the /url variant — the attachment metadata, a downloadUrl, a shareUrl, and expiresInSeconds — but always returns the branded, Dairo-hosted download link and its companion human share page, which is what you want for a link a person will click or that you'll paste into another app.
List spend and send budgets
Returns every budget configured for the active organization, each with its resolved limits and live windowed usage.