Workspace audit log
GET
/v1/workspaces/{workspaceId}/audit
const url = 'https://shareout.site/v1/workspaces/example/audit?limit=100';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://shareout.site/v1/workspaces/example/audit?limit=100' \ --header 'Authorization: Bearer <token>'Owner/admin. Newest first. No offset/cursor — only the most recent limit entries.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspaceId
required
string
Workspace ID or slug.
Query Parameters
Section titled “Query Parameters”limit
integer
Responses
Section titled “Responses”Entries
Media typeapplication/json
object
entries
Array<object>
object
id
string
ts
string format: date-time
actor_id
string | null
actor_email
string | null
action
string
target_type
string | null
target_id
string | null
detail
Parsed JSON detail, or null.
Examplegenerated
{ "entries": [ { "id": "example", "ts": "2026-04-15T12:00:00Z", "actor_id": "example", "actor_email": "example", "action": "example", "target_type": "example", "target_id": "example", "detail": "example" } ]}Access denied
Media typeapplication/json
object
success
required
boolean
error
required
Human-readable message.
string
code
required
Machine-readable error code.
string
request_id
Correlation id (also the X-Request-Id header). Quote it in support tickets.
string
reason
Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.
string
hint
What to do next, in plain words.
string
suggestion
string
param
The request field at fault.
string
docs
Doc page for this error.
string
redirect_url
string
support
Present on 5xx — how to reach a human.
object
how
string
include
Array<string>
Example
{ "success": false, "support": { "how": "POST /v1/support/tickets", "include": [ "request_id" ] }}