Audit log

List the changes made in your tenant through the API, the console and MCP, filtered by actor, action, account, outcome and time.

The audit log records every request that changes something in your tenant: who made it, what it targeted and how it was answered. Read it with GET /v1/audit-log, which needs the admin scope.

What is recorded

  • /v1 calls, console actions and MCP tool calls that mutate data.
  • Refused requests too: an entry's status and errorReason say how it was answered.
  • A change made under the read scope is still recorded.

Reads are not recorded. A POST that only reads (a template render, finding free time, an AI draft) is skipped.

List entries

Entries come newest first, paged with limit and cursor like other lists.

curl "https://api.workwae.com/v1/audit-log?action=accounts.&outcome=failure&limit=50" \
  -H "Authorization: Bearer $WORKWAE_API_KEY"

Filters

ParameterMatches
actorTypeuser, apiKey, accountToken or connectSession.
actorIdThe actor's id.
actionThe procedure path, such as accounts.create. Matches exactly, or as a prefix when it ends with a dot (accounts.).
accountIdEntries that targeted this account.
outcomesuccess (a 2xx status) or failure (any other status).
from, tocreatedAt range, both ends included. to before from answers invalid_range (400).

Entry fields

FieldMeaning
actortype, id and label: the user's email or the key's prefix at the time, or null when there was none.
actionProcedure path, for example accounts.delete.
surfacev1, rpc (the console) or mcp.
targetsIds the request named (accountId, messageId and so on). The rest of the input is not kept.
statusHTTP status answered.
errorReasonThe refusal's reason code, or null.
requestIdThe request's X-Request-Id, or null on entries written before request ids were stored.
ip, userAgentClient address and user agent. Either can be null.
createdAtWhen the request was recorded.

requestId is the same id your own logs have if you sent the X-Request-Id header. Quote it to support. See request ids.

On this page