Get workspace logs
Retrieve a paginated list of audit logs for your workspace.
This endpoint allows you to:
- Get all audit logs in your workspace
- Filter logs by user, action, operation, or date range
- Paginate through large sets of logs using cursor-based or offset-based pagination
Use cases:
- Building an audit log viewer or dashboard
- Monitoring workspace activity
- Compliance and security auditing
- Tracking user actions and changes
Available log actions:
- workspace, workspace:team, workspace:invite, workspace:invite:redeem, workspace:preferences, workspace:avatar, workspace:rename, workspace:user, workspace:user:role
- collection
- scene, scene:readonly-link, scene:readonly-links, scene:link-sharing, scene:collection, scene:upload, scene:image-upload, scene:slides, scene:comment
- user:signup
- ai:diagram-to-code, ai:text-to-diagram, ai:text-to-drawing
Authorization
apiKey AuthorizationBearer <token>
The API will use the Authorization: Bearer <your-key> header for requests.
In: header
Query Parameters
limit?integer
The number of items to return per page.
Range
1 <= value <= 100offset?integer
The number of items to skip before starting to collect the result set.
Range
0 <= value <= 9007199254740991cursor?string
Cursor for pagination (sequence number). Use nextCursor from previous response.
page?string
Page number for offset-based pagination. Cannot be used with cursor.
user?string
Filter logs by user ID
action?string
Filter logs by action type
operation?string
Filter logs by operation type
Value in
"create" | "read" | "update" | "delete"dateFrom?string
Filter logs from this date (ISO 8601 format)
dateTo?string
Filter logs to this date (ISO 8601 format)
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://api.excalidraw.com/api/v1/logs"{
"logs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"action": "string",
"operation": "string",
"details": "string",
"created_at": "string",
"ip_address": "string",
"user_id": "string",
"workspace_id": "string",
"app_source": "admin",
"source_type": "user",
"source_id": "string",
"status": -2147483648,
"user_email": "string",
"user_full_name": "string",
"user_picture": "string"
}
],
"nextCursor": "string",
"hasMore": true,
"availableActions": [
"string"
],
"totalCount": 0,
"totalPages": 0,
"currentPage": 0
}{
"statusCode": 400,
"error": "Bad Request",
"message": "string"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "string"
}{
"statusCode": 403,
"error": "Forbidden",
"message": "string"
}