Skip to main content
The Occtoo Events API lets you react to changes across your tenant — sources, cards, segments, destinations, endpoints, and users — without polling each resource. Every change is published as a CloudEvents message (application/cloudevents+json).

Consume and inspect events

Pull

Page through events with GET /v1/events using a cursor. Good for batch processing and catch-up jobs.

Metadata

Inspect the first and latest retained positions and exact event count with GET /v1/events/metadata. Good for consumer health checks.

Stream

Subscribe to a live, ordered Server-Sent Events stream at GET /v1/events/stream. Good for real-time reactions.

Inspect stream metadata

Call GET /v1/events/metadata to inspect the retained stream without retrieving event payloads. It accepts the same optional filter as the pull and stream endpoints.
  • first and latest identify the boundaries of the retained filtered view. Their time is null when the CloudEvent has no time.
  • after is an opaque pull cursor for the latest position. Store it as a checkpoint or pass it to GET /v1/events.
  • total is the exact count across the complete retained filtered view, not the count after a consumer checkpoint.
Compare latest.sequence with your last successfully processed sequence to determine whether a consumer is caught up. Do not use the difference between sequences as a pending-event count because filtered-out events can create gaps. When no retained event matches, first, latest, and after are null, and total is 0.

Event types

Occtoo publishes 30 event types across sources, cards, segments, destinations, endpoints and users. All are currently at payload schema version 1.0. Every data payload includes these two properties, so they are omitted from the tables below: In the tables, ? marks a property that is not required — it may be absent or null. See the data property reference for types and meanings.

Sources

Cards

Segments

Destinations

Endpoints

Users

Data property reference

Properties marked filterable can be used in the filter grammar of GET /v1/events, GET /v1/events/metadata, and GET /v1/events/stream. The exact set accepted for a given type is returned as filterableProperties by GET /v1/event-types.
GET /v1/event-types is the authoritative, machine-readable version of this page — it returns each type’s description, filterableProperties and full inline JSON Schema. Fetch a single schema with GET /v1/events/schemas/{type}/{version}.

Resuming a stream

The SSE id field of each streamed event contains a raw, resumable event sequence. Pass it (or a pull cursor) as the after query parameter when reconnecting to continue exactly where you left off — no events lost, none replayed.
The Events API uses the same authentication as the rest of the platform API: a bearer token or API key. See the API overview for how to obtain tokens.