Skip to content
UpVoiced Docs

API reference

Audit log

Who changed what in the workspace: operators, API keys and MCP clients, filtered by actor, action, target and date. Business plan.

Set up the SDK client used in the examples

API key or Dashboard session:

import { UpVoiced } from '@upvoiced/sdk';

const apiKey = process.env['UPVOICED_API_KEY']; // uv_live_… (Settings → API keys)
const workspace = process.env['UPVOICED_WORKSPACE_ID']; // sent as X-Workspace
if (!apiKey || !workspace) throw new Error('Set UPVOICED_API_KEY and UPVOICED_WORKSPACE_ID.');
const upvoiced = new UpVoiced({ apiKey, workspace });

curl examples read $UPVOICED_API_KEY and $UPVOICED_WORKSPACE_IDfrom your shell. MCP examples are the tools/call request an MCP client sends to the MCP server with the same API key.

GET/v1/audit

Audit log, newest first: filter by actor, action (or namespace.*), target kind/id and date range (owner/admin; Business)

Authentication
API key or Dashboard session; API key scope admin
Operation id
listAuditLog
Query parameters
NameTypeRequired
actor_kind"operator" | "api_key" | "mcp" | "end_user" | "system"No
actor_idstringlength 1–128No
actionstringlength ≤ 100pattern ^[a-z_]{1,32}(?:\.[a-z_]{1,32}){0,3}(?:\.\*)?$No
target_kindstringpattern ^[a-z][a-z_]{0,31}$No
target_idstringlength 1–128No
sincestring (date-time)No
untilstring (date-time)No
cursorstringlength 1–256No
limitintegervalue 1–100default 50No
Headers
NameTypeRequired
x-workspacestring (uuid)Yes
Response 200: 13 fields
Response 200 (application/json)
NameTypeRequired
itemsarray of objectitems ≤ 100Yes
items[].idstring (uuid)Yes
items[].atstringYes
items[].actionstringYes
items[].actorobjectYes
items[].actor.kindstringYes
items[].actor.idstring | nullNo
items[].actor.namestring | nullNo
items[].actor.operator_idstring | nullNo
items[].targetobjectYes
items[].diffobjectYes
items[].ip_hashstring | nullYes
next_cursorstring | nullYes

Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.

curl
curl 'https://api.upvoiced.com/v1/audit' \
  -H "Authorization: Bearer $UPVOICED_API_KEY" \
  -H "X-Workspace: $UPVOICED_WORKSPACE_ID"
TypeScript SDK
const data = await upvoiced.get('/v1/audit');
MCP

No MCP tool for this operation. The MCP server covers the everyday reads and writes.