GET /api/v1/events
Retrieve a paginated list of events with optional filters.
Query Parameters
Filter by actor identifier.
Filter by primary resource identifier.
Filter by tenant identifier.
Filter by session identifier.
Case-insensitive search across actor name, action, resource name, and metadata. Uses PostgreSQL ilike.
Filter by target identifier.
ISO 8601 timestamp. Return events created at or after this time.
ISO 8601 timestamp. Return events created at or before this time.
Pagination cursor from a previous response.
Number of events per page (max 100).
Response
{
"data": [
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"actor": {
"id": "user_2hG9kLm",
"name": "Sarah Chen",
"type": "user"
},
"action": "document.created",
"action_category": "documents",
"resource": {
"type": "document",
"id": "doc_8nXpQr3",
"name": "Q4 Financial Report"
},
"targets": [],
"metadata": { "folder": "reports" },
"tenant_id": "org_7rT2xBc",
"session_id": "sess_4kN8pLm",
"ip_country": "US",
"ip_city": "San Francisco",
"idempotency_key": null,
"version": null,
"integrity": {
"event_hash": "a3f2c8d1e4b5...",
"previous_event_hash": "7b9e1d3f5a2c..."
},
"occurred_at": "2026-03-15T14:32:18.847312Z",
"created_at": "2026-03-15T14:32:18.847312Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wMy0xNVQxNDozMjoxOC44NDczMTJaIn0",
"total": 4821
}
}
Examples
curl "https://getimmutable.dev/api/v1/events?actor_id=user_2hG9kLm&action=document.*&from=2026-03-01T00:00:00Z&limit=10" \
-H "Authorization: Bearer imk_your_api_key_here"
To iterate through all results:
let cursor: string | undefined;
do {
const page = await client.getEvents({ cursor, limit: 100 });
for (const event of page.data) {
process(event);
}
cursor = page.pagination.has_more ? page.pagination.next_cursor : undefined;
} while (cursor);