Skip to main content
Rangler exposes events through webhook deliveries and authenticated event-feed reads. Event data appears in:
  • GET /v1/events
  • GET /v1/companies/{company_id}/events
  • GET /v1/funds/{fund_id}/events
  • webhook POST deliveries
webhook.test is only used for manual webhook validation. It is not part of the event-feed contract and does not appear in /v1/events, company event feeds, or fund event feeds.

Event format

Every Rangler event includes:
  • id
  • type
  • occurred_at
  • created_at
  • entity_kind
  • entity_id
  • company_id
  • fund_id
  • source_kind
  • source_id
  • title
  • summary
  • severity
  • source_url
  • source_published_at
  • data

Versioning

Rangler versions the event contract through /v1/events and the documented webhook contract. Rangler does not include a top-level event_version field.
  • new optional fields may appear over time without a payload-version change
  • changes that would break existing integrations will use an explicit API or webhook version change
  • event feeds and webhook deliveries stay compatible within the current API version

Timestamp semantics

Rangler exposes three top-level timestamps:
  • occurred_at: the timestamp Rangler uses to order feed results and continue from one page to the next
  • created_at: when Rangler persisted the event record internally
  • source_published_at: when the upstream filing, factsheet, or source page was published, if Rangler knows it
Event-specific occurred_at semantics are:
  • filing.new: the filing published_at
  • filing.signal.created: the Rangler extraction/promotion time for the structured signal
  • board_change.detected: the Rangler extraction/promotion time for the structured board-change signal
  • dividend.declared: the Rangler extraction/promotion time for the structured dividend signal
  • fund.snapshot.updated: source_published_at when known, otherwise the snapshot as_of_date at 00:00:00Z
  • fund.disclosure.updated: source_published_at when known, otherwise the snapshot as_of_date at 00:00:00Z
  • company meeting and stream lifecycle events: the scheduled time or observed stream transition time represented by the source workflow
Rangler does not yet expose a stable top-level effective_at field. For dividends and other corporate actions, use the event-specific data payload and source document until Rangler provides a consistent top-level effective_at. Rangler also provides two top-level fields that identify the source:
  • source_kind: the type of source Rangler used, such as filing, filing_signal, portfolio_fund_snapshot, or sandbox_event
  • source_id: the Rangler ID for that source record

Supported event types

Connect event types

Connect operational subscriptions use a separate organization-scoped contract:
  • connect.connection.created
  • connect.connection.updated
  • connect.connection.revoked
  • connect.sync.completed
  • connect.sync.failed
  • connect.item.login_required
Configure Connect event subscriptions through the portal API. They use the same webhook endpoints and signing rules as market events.

Feed behavior

The unified event feed is ordered by:
  1. occurred_at descending
  2. id descending
Filtering supports:
  • repeated type parameters
  • company_id
  • fund_id
  • from
  • to
  • limit
Use cursor to load earlier records and check for events your system may have missed. Examples:
  • GET /v1/events?type=dividend.declared
  • GET /v1/events?type=filing.new&type=board_change.detected

Example payloads