v10

latestOpenAPI 3.1.02026-08-085671,1112.8 MB
Events

List change feed events

List this organization's change feed, ordered and resumable by cursor.

A consumer can be killed mid-stream and resume from its last stored next_cursor without re-reading or missing anything, as long as it resumes within the 90-day retention window — events older than that are permanently expired, not archived. A consumer that has been down longer than 90 days must resync current state instead of resuming.

A cursor is only meaningful for a FIXED filter set: it encodes a position in this organization's overall sequence, not a position within any particular namespace_id/event_type filter. Changing either filter mid-stream while reusing an old cursor silently skips whatever the previous filter combination would have matched in between — start a fresh cursor (or none) whenever the filters change.

get/v1/events

Query parameters

cursorstring nullable

Opaque cursor from a prior response's next_cursor. Omit to start from the beginning of the 90-day retention window.

Opaque cursor from a prior response's next_cursor. Omit to start from the beginning of the 90-day retention window.

namespace_idstring nullable

Filter to events scoped to one namespace.

Filter to events scoped to one namespace.

event_type'object.created' | 'objects.created.batch' | 'object.updated' | 'object.deleted' | 'document.created' | 'document.updated' | 'document.deleted' | 'documents.updated.batch' | 'documents.deleted.batch' | 'collection.created' | 'collection.updated' | 'collection.deleted' | 'collection.documents.written' | 'cluster.created' | 'cluster.updated' | 'cluster.deleted' | 'cluster.execution.started' | 'cluster.execution.completed' | 'cluster.execution.failed' | 'trigger.created' | 'trigger.updated' | 'trigger.deleted' | 'trigger.paused' | 'trigger.resumed' | 'trigger.fired' | 'trigger.execution.completed' | 'trigger.execution.failed' | 'taxonomy.created' | 'taxonomy.updated' | 'taxonomy.deleted' | 'alert.created' | 'alert.updated' | 'alert.deleted' | 'alert.triggered' | 'alert.execution.completed' | 'alert.execution.failed' | 'annotation.created' | 'annotation.updated' | 'annotation.deleted'

Webhook event types for real-time notifications.

These events are emitted when significant state changes occur in the system. Webhooks subscribe to specific event types and receive notifications via configured channels (email, Slack, HTTP webhooks).

Event Naming Convention: {resource}.{action}[.{sub-resource}[.{sub-action}]]

Examples: - object.created: New object ingested - collection.documents.written: Documents indexed - cluster.execution.completed: Cluster job finished

Cache Invalidation Annotations: Each event type includes a comment indicating recommended cache invalidation scope: - [KEY] = Invalidate specific document/object keys - [COLLECTION] = Invalidate collection-level cache - [NAMESPACE] = Invalidate namespace-level cache

Event Categories: - Object Lifecycle: Events for individual objects (create, update, delete) - Collection Lifecycle: Events for collections (create, update, delete, documents written) - Cluster Lifecycle: Events for clusters (create, update, delete, execution status) - Trigger Lifecycle: Events for cluster triggers (create, update, fire, execution status) - Taxonomy Lifecycle: Events for taxonomies (create, update, delete)

Use Cases: - Real-time sync with external systems - Audit trail and compliance logging - Automated workflows triggered by state changes - Cache invalidation for distributed systems - Notifications to team members via Slack/email

Filter to one event type.

limitinteger

Response

Successful Response

next_cursorstring nullable

Pass as cursor on the next call to resume after these results. Unchanged from the request's cursor when this page was empty.

has_moreboolean required

Whether another page is available beyond this one.