Event envelope
Every webhook request has the same top-level shape. The specifics of the filing live underdata.
string
Unique event identifier, prefixed with
evt_. Use it to de-duplicate:
the same event can be delivered more than once.string
The event type. One of
filing.created or filing.enriched. This is also sent
in the X-StockInsights-Event header.string
The payload contract version. Currently
v1. A breaking change to the payload
shape bumps this value.string
When the event occurred, as an ISO 8601 timestamp.
object
The event-specific body. Its fields depend on
type — see below.Event types vs. what you subscribe to
There are two event types on the wire —filing.created and
filing.enriched — but you subscribe at a finer grain. When configuring a
destination you pick from this catalog, and StockInsights only delivers the ones
you select. The key is the identifier shown next to each toggle in the
dashboard:
Because several subscriptions map onto the same wire
type, always branch on
data.document_type (and data.enrichment_type for enriched events), not on
type alone.filing.created
Sent when a new filing is ingested — for example a new announcement or a newly
published quarterly result.
string
Identifier of the filing. Pass it to the filings API to fetch the full record.
string
Market the filing belongs to. Currently always
IN.string
The kind of filing, e.g.
announcement or quarterly-result.object
The company the filing belongs to.
string
When the filing was published, as an ISO 8601 timestamp.
string
Link to the filing’s original source document on the exchange or company site.
May be absent when no valid source link is available.
string
Canonical StockInsights API URL for the filing.
object
Reporting period, when applicable (e.g. for quarterly results). Contains
year
(integer) and/or quarter (string, e.g. "Q1"), and is omitted entirely when
neither applies — as it is for most announcements.filing.enriched
Sent when an AI enrichment for a filing becomes available — for example an
announcement summary. Carries the same fields as filing.created, plus the
enrichment itself.
string
The kind of enrichment. Currently always
summary.object
The enrichment content. Its shape depends on
enrichment_type.data.* fields match filing.created.