v1

latestOpenAPI 3.0.02026-07-26166415635.8 KB
Corporate actions

Subscribe to Corporate Actions Events (SSE)

Server-Sent Events (SSE) stream that delivers every corporate-action mutation (insert / update / delete) across all 15 CA types on a single long-lived text/event-stream connection. When since, since_id, or the Last-Event-Id reconnect header is provided, historical events are replayed first; otherwise only live events are pushed.

Each event carries an event_type discriminator that selects the shape of the ca payload -- see the corporate_action_event schema for the mapping to each per-type schema. The same underlying data is available on demand via GET /v1/corporate-actions.

get/v1beta1/events/corporate-actions

Query parameters

typeCorporateActionEventType[]

Filter the stream to a subset of event_type values.

Passed as a comma-separated list in the URL query, e.g. ?type=cash_dividend_corporateaction_event,stock_dividend_corporateaction_event.

Only events whose event_type is in this list are delivered. An empty or omitted value is treated as "no filter" (deliver every type). Unknown values return 400 with the list of valid values in the error message. The filter applies uniformly to both replayed (historical) and live events.

See corporate_action_event_type for the full list of accepted values.

region'all' | 'us' | 'non_us'

Which markets to receive events for. Compared against the envelope's region field and applied uniformly to historical and live events.

  • all (default): every event, regardless of market.
  • us: only events with region == "us".
  • non_us: only events with region == "non_us".

Unknown values return 400 with the list of valid values in the error message. The value is case-insensitive.

sincestring date-time

Replay events emitted on or after this RFC-3339 date. Mutually exclusive with since_id. Required when until is specified.

untilstring date-time

Close the connection after the last event on this RFC-3339 date (inclusive). Requires since; cannot be in the future.

since_idstring ulid

Lexically sortable, monotonically increasing 26-character ULID (Crockford Base32, uppercase) that identifies a single SSE emission. Unique per message -- an update or delete for the same underlying corporate action carries a fresh event_id. Because ULIDs sort in emission order, they can be used as resume cursors via since_id, until_id, or the standard Last-Event-Id reconnect header.

Example:01J9RPMV5TKB8WX3M4F1KZ7QH2

ULID matching an event_id; replay events whose event_id is greater than or equal to this value (inclusive -- the event with this id, if it still exists, is redelivered). Mutually exclusive with since. Overridden by the Last-Event-Id header when both are set.

until_idstring ulid

Lexically sortable, monotonically increasing 26-character ULID (Crockford Base32, uppercase) that identifies a single SSE emission. Unique per message -- an update or delete for the same underlying corporate action carries a fresh event_id. Because ULIDs sort in emission order, they can be used as resume cursors via since_id, until_id, or the standard Last-Event-Id reconnect header.

Example:01J9RPMV5TKB8WX3M4F1KZ7QH2

ULID matching an event_id; close the connection once this id has been delivered (inclusive). Requires since_id; cannot be in the future.

Headers

Last-Event-Idstring ulid

Lexically sortable, monotonically increasing 26-character ULID (Crockford Base32, uppercase) that identifies a single SSE emission. Unique per message -- an update or delete for the same underlying corporate action carries a fresh event_id. Because ULIDs sort in emission order, they can be used as resume cursors via since_id, until_id, or the standard Last-Event-Id reconnect header.

Example:01J9RPMV5TKB8WX3M4F1KZ7QH2

Standard SSE reconnect header. ULID matching an event_id; replay events whose event_id is greater than or equal to this value (inclusive -- the event with this id is redelivered on reconnect, so clients should deduplicate by event_id if needed). Overrides since_id when both are set.

Response

Connected. Corporate-action events will now start streaming as long as you keep the connection open.