Skip to main content
GET
List change feed events

Authorizations

Authorization
string
header
required

Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing header returns 403; an invalid or revoked key returns 401.

Query Parameters

cursor
string | null

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

namespace_id
string | null

Filter to events scoped to one namespace.

event_type
enum<string> | null

Filter to one event type. 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

Available options:
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
limit
integer
default:100
Required range: 1 <= x <= 1000

Response

Successful Response

results
ChangeEventResponse · object[]
required
has_more
boolean
required

Whether another page is available beyond this one.

next_cursor
string | null

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