Query audit log events
| Time | Status | User Agent | |
|---|---|---|---|
| Make a request to see history. |
URL Expired
The URL for this request expired after 30 days.
Parameters
workspaceId
uuid
Workspace UUID to filter events by (mutually exclusive with organizationId)
organizationId
uuid
Organization UUID to filter events by (mutually exclusive with workspaceId)
actions
string
Comma-separated list of actions to filter by
(e.g. "billing.credits.consumed,dubbing.project.created")
actorIds
string
Comma-separated list of actor IDs to filter by (e.g. "user-123,user-456")
targetId
string
Filter events by target ID
startDate
integer
≥ 0
Filter events created on or after this Unix timestamp (seconds since epoch)
endDate
integer
≥ 0
Filter events created before this Unix timestamp (seconds since epoch)
cursor
string
Opaque cursor for pagination
limit
integer
1 to 200
Defaults to 50
Number of events per page (max 200)
200 Paginated list of audit events
Object
Paginated response for audit logs listing.
Used for both INTERNAL and PUBLIC APIs
- INTERNAL API: POST /auditLogs/events
- PUBLIC API: POST /v2/auditLogs/events
events
array of objects
required
List of audit log events
Events
object
Single audit log event.
Represents one audit event with full details including actor, target,
context, and domain-specific details.
Example response:
{
"id": "256eb609-72cb-4d42-a7a3-59a65d4e6726",
"action": "user.authentication.login",
"status": "success",
"actor": {
"type": "user",
"id": "93d3f26c-8bb1-4759-b0c7-eef01cb0321b",
"name": "local user",
"email": "dev_user@synthesia.io"
},
"target": {
"type": "user",
"id": "93d3f26c-8bb1-4759-b0c7-eef01cb0321b",
"name": "local user"
},
"context": {
"workspaceId": "b93d1427-06d8-412a-b158-6280e68b54d5",
"organizationId": null,
"ipAddress": null
},
"details": {
"authMethod": "username_password",
"isImpersonation": false,
"emailVerified": true,
"emailDomain": "synthesia.io",
"company": "Synthesia"
},
"metadata": {
"createdAt": "2025-10-05T06:58:28.321Z",
"processedAt": "2025-10-05T06:58:28.322Z"
}
}
Fields
- id: string (required)
- action: string (required)
- status: string (required)
- actor: object (required)
Actor (who performed the action) information.
- target: object (required)
Target (what was acted upon) information.
- context: object (required)
Event context (workspace, organization, IP address).
details: object (required)
metadata: object (required)
Event metadata (timestamps).
Pagination
- nextCursor: string | null
Defaults to null
Opaque cursor for fetching the next page. Pass as cursor parameter.
- hasMore: boolean (required)
Whether there are more events to fetch.
400 Invalid query parameters
403 Forbidden - Wrong API key or Public API access disabled
404 Workspace or organization not found
429 Rate limit exceeded
default Unexpected Server error
CURL Example
curl --request GET \
--url 'https://api.synthesia.io/v2/auditLogs/events?limit=50' \
--header 'accept: application/json'