Skip to main content

Event envelope

Every webhook request has the same top-level shape. The specifics of the filing live under data.
id
string
Unique event identifier, prefixed with evt_. Use it to de-duplicate: the same event can be delivered more than once.
type
string
The event type. One of filing.created or filing.enriched. This is also sent in the X-StockInsights-Event header.
api_version
string
The payload contract version. Currently v1. A breaking change to the payload shape bumps this value.
occurred_at
string
When the event occurred, as an ISO 8601 timestamp.
data
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.
data.filing_id
string
Identifier of the filing. Pass it to the filings API to fetch the full record.
data.country
string
Market the filing belongs to. Currently always IN.
data.document_type
string
The kind of filing, e.g. announcement or quarterly-result.
data.company
object
The company the filing belongs to.
data.published_date
string
When the filing was published, as an ISO 8601 timestamp.
data.source_url
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.
data.url
string
Canonical StockInsights API URL for the filing.
data.period
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.
data.enrichment_type
string
The kind of enrichment. Currently always summary.
data.enrichment
object
The enrichment content. Its shape depends on enrichment_type.
All other data.* fields match filing.created.