RanglerDeveloper
Integrate

Events

Understand Rangler event types and the payload format used by webhooks and event feeds.

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

Event typeTriggerdata payload
filing.newNew filing inserted into Ranglercompany, filing
filing.signal.createdFiling first receives a promoted signalcompany, filing, signal
financials.publishedFinancial results are identified in a filingcompany, filing, signal
board_meeting.noticeA board-meeting notice is identifiedcompany, filing, signal
board_change.detectedStructured board-change details are first available for a filingcompany, filing, signal
dividend.declaredStructured dividend details are first available for a filingcompany, filing, signal
rights.issue.announcedA rights issue is identified in a filingcompany, filing, signal
bonus.issue.announcedA bonus issue is identified in a filingcompany, filing, signal
director_dealing.disclosedA director dealing is identified in a filingcompany, filing, signal
company.meeting.scheduledA company meeting is scheduledcompany and meeting context
company.meeting.stream.scheduledA meeting stream is scheduledcompany and stream context
company.meeting.stream.liveA monitored meeting stream becomes livecompany and stream context
company.meeting.stream.endedA monitored meeting stream endscompany and stream context
company.meeting.stream.replay_availableA meeting replay becomes availablecompany and stream context
fund.snapshot.updatedNew fund snapshot is createdfund, snapshot, disclosure_kind
fund.disclosure.updatedNew fund snapshot includes disclosure contentfund, snapshot, disclosure_kind

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

{
  "id": "2d0f3ed8-71e3-4d9c-a61a-5ddd84d020b6",
  "type": "filing.new",
  "occurred_at": "2026-04-11T01:05:18.383263Z",
  "created_at": "2026-04-11T01:05:19.012411Z",
  "entity_kind": "filing",
  "entity_id": "0f9df103-7873-4bd1-be96-9379fcaae66b",
  "company_id": "24b76421-51db-45ea-ba65-8c84eface2ea",
  "fund_id": null,
  "source_kind": "filing",
  "source_id": "0f9df103-7873-4bd1-be96-9379fcaae66b",
  "title": "Rangler Bank FY 2025 Results",
  "summary": "New results filing published.",
  "severity": "info",
  "source_url": "https://example.com/rangler-live-f49dbc18.pdf",
  "source_published_at": "2026-04-11T01:05:18.381927Z",
  "data": {
    "company": {
      "id": "24b76421-51db-45ea-ba65-8c84eface2ea",
      "name": "Rangler Live Bank f49dbc18",
      "ticker": "AF49DB",
      "sector": "Financial Services",
      "logo_url": null
    },
    "filing": {
      "id": "0f9df103-7873-4bd1-be96-9379fcaae66b",
      "company_id": "24b76421-51db-45ea-ba65-8c84eface2ea",
      "filing_type": "results",
      "title": "Rangler Bank FY 2025 Results",
      "period": "FY 2025",
      "published_at": "2026-04-11T01:05:18.381927+00:00",
      "url": "https://example.com/rangler-live-f49dbc18.pdf",
      "has_tables": false,
      "company": {
        "id": "24b76421-51db-45ea-ba65-8c84eface2ea",
        "name": "Rangler Live Bank f49dbc18",
        "ticker": "AF49DB",
        "sector": "Financial Services",
        "logo_url": null
      }
    }
  }
}
{
  "id": "5f9af65d-4932-42c8-a1cf-9732d2e5f102",
  "type": "filing.signal.created",
  "occurred_at": "2026-04-11T01:08:54.191211Z",
  "created_at": "2026-04-11T01:08:54.482992Z",
  "entity_kind": "filing",
  "entity_id": "0f9df103-7873-4bd1-be96-9379fcaae66b",
  "company_id": "24b76421-51db-45ea-ba65-8c84eface2ea",
  "fund_id": null,
  "source_kind": "filing_signal",
  "source_id": "1fe57130-3ef6-4b15-a950-63504c6bce5a",
  "title": "Rangler Bank FY 2025 Results signal extracted",
  "summary": "Revenue grew year over year and profit before tax improved.",
  "severity": "info",
  "source_url": "https://example.com/rangler-live-f49dbc18.pdf",
  "source_published_at": "2026-04-11T01:05:18.381927Z",
  "data": {
    "company": {
      "id": "24b76421-51db-45ea-ba65-8c84eface2ea",
      "name": "Rangler Live Bank f49dbc18",
      "ticker": "AF49DB",
      "sector": "Financial Services",
      "logo_url": null
    },
    "filing": {
      "id": "0f9df103-7873-4bd1-be96-9379fcaae66b",
      "company_id": "24b76421-51db-45ea-ba65-8c84eface2ea",
      "filing_type": "results",
      "title": "Rangler Bank FY 2025 Results",
      "period": "FY 2025",
      "published_at": "2026-04-11T01:05:18.381927+00:00",
      "url": "https://example.com/rangler-live-f49dbc18.pdf",
      "has_tables": false
    },
    "signal": {
      "extraction_id": "1fe57130-3ef6-4b15-a950-63504c6bce5a",
      "summary": "Revenue grew year over year and profit before tax improved.",
      "confidence": 0.94,
      "extracted_at": "2026-04-11T01:08:54.191211+00:00",
      "reporting_period": "FY 2025",
      "key_points": [
        "Revenue growth improved year over year",
        "Profit before tax increased"
      ],
      "mentioned_tickers": [
        "AF49DB"
      ],
      "dates_mentioned": [
        "2025-12-31"
      ],
      "risk_flags": [],
      "corporate_actions": [],
      "board_changes": [],
      "metrics": [],
      "result_details": {
        "headline": "FY 2025 results"
      },
      "corporate_action_details": [],
      "board_change_details": [],
      "highlights": [
        "Improved profitability"
      ]
    }
  }
}
{
  "id": "87f628f4-0497-41c7-a9af-8ab8adba0c89",
  "type": "board_change.detected",
  "occurred_at": "2026-04-10T10:04:11Z",
  "created_at": "2026-04-10T10:04:11.441992Z",
  "entity_kind": "filing",
  "entity_id": "filing_123",
  "company_id": "company_123",
  "fund_id": null,
  "source_kind": "filing_signal",
  "source_id": "signal_board_123",
  "title": "Board changes detected",
  "summary": "Issuer appointed a new independent director and accepted one resignation.",
  "severity": "medium",
  "source_url": "https://example.com/issuer-board-change.pdf",
  "source_published_at": "2026-04-10T10:00:00Z",
  "data": {
    "company": {
      "id": "company_123",
      "name": "Issuer Plc",
      "ticker": "ISSUER"
    },
    "filing": {
      "id": "filing_123",
      "filing_type": "board_change",
      "published_at": "2026-04-10T10:00:00Z",
      "url": "https://example.com/issuer-board-change.pdf"
    },
    "signal": {
      "summary": "Issuer appointed a new independent director and accepted one resignation.",
      "board_changes": [
        "Appointment of Jane Doe as Independent Non-Executive Director",
        "Resignation of John Roe as Executive Director"
      ],
      "highlights": [
        "Independent director appointment",
        "Executive resignation"
      ]
    }
  }
}
{
  "id": "b6e820d7-7284-4908-b5fc-c7ae77f01c69",
  "type": "dividend.declared",
  "occurred_at": "2026-04-10T10:06:33Z",
  "created_at": "2026-04-10T10:06:33.172000Z",
  "entity_kind": "filing",
  "entity_id": "filing_456",
  "company_id": "company_456",
  "fund_id": null,
  "source_kind": "filing_signal",
  "source_id": "signal_dividend_456",
  "title": "Dividend declared",
  "summary": "Dividend Plc proposed a final cash dividend for FY 2025.",
  "severity": "medium",
  "source_url": "https://example.com/dividend-plc-action.pdf",
  "source_published_at": "2026-04-10T10:00:00Z",
  "data": {
    "company": {
      "id": "company_456",
      "name": "Dividend Plc",
      "ticker": "DVDND"
    },
    "filing": {
      "id": "filing_456",
      "filing_type": "corporate_action",
      "published_at": "2026-04-10T10:00:00Z",
      "url": "https://example.com/dividend-plc-action.pdf"
    },
    "signal": {
      "summary": "Dividend Plc proposed a final cash dividend for FY 2025.",
      "corporate_actions": [
        "Final cash dividend proposed"
      ],
      "highlights": [
        "Cash dividend declaration"
      ]
    }
  }
}
{
  "id": "d42700c5-00da-4fe2-91c6-9175085d0213",
  "type": "fund.snapshot.updated",
  "occurred_at": "2026-04-09T09:00:00Z",
  "created_at": "2026-04-09T09:00:01.201922Z",
  "entity_kind": "fund",
  "entity_id": "fund_789",
  "company_id": null,
  "fund_id": "fund_789",
  "source_kind": "portfolio_fund_snapshot",
  "source_id": "snapshot_789",
  "title": "Rangler Income Fund snapshot updated",
  "summary": "New fund snapshot recorded for Rangler Income Fund.",
  "severity": "info",
  "source_url": "https://example.com/rangler-income-fund-april-2026.pdf",
  "source_published_at": "2026-04-09T09:00:00Z",
  "data": {
    "fund": {
      "id": "fund_789",
      "provider": "rangler_am",
      "slug": "rangler-income-fund",
      "name": "Rangler Income Fund"
    },
    "snapshot": {
      "id": "snapshot_789",
      "fund_id": "fund_789",
      "as_of_date": "2026-04-09",
      "factsheet_title": "Rangler Income Fund April 2026 Factsheet",
      "factsheet_url": "https://example.com/rangler-income-fund-april-2026.pdf",
      "source_post_url": "https://example.com/rangler-income-fund",
      "source_published_at": "2026-04-09T09:00:00+00:00",
      "source_metrics": {
        "current_asset_allocation": [
          {
            "label": "Cash",
            "weight_pct": 30.0
          }
        ]
      },
      "top_holdings": null,
      "disclosure_kind": "asset_allocation"
    },
    "disclosure_kind": "asset_allocation"
  }
}
{
  "id": "9a47018e-64f2-4712-875e-c1b8cc4fa901",
  "type": "fund.disclosure.updated",
  "occurred_at": "2026-04-09T09:00:00Z",
  "created_at": "2026-04-09T09:00:01.612113Z",
  "entity_kind": "fund",
  "entity_id": "fund_789",
  "company_id": null,
  "fund_id": "fund_789",
  "source_kind": "portfolio_fund_snapshot",
  "source_id": "snapshot_789",
  "title": "Rangler Income Fund April 2026 Factsheet",
  "summary": "Fund disclosure updated with a new factsheet snapshot.",
  "severity": "info",
  "source_url": "https://example.com/rangler-income-fund-april-2026.pdf",
  "source_published_at": "2026-04-09T09:00:00Z",
  "data": {
    "fund": {
      "id": "fund_789",
      "provider": "rangler_am",
      "slug": "rangler-income-fund",
      "name": "Rangler Income Fund"
    },
    "snapshot": {
      "id": "snapshot_789",
      "fund_id": "fund_789",
      "as_of_date": "2026-04-09",
      "factsheet_title": "Rangler Income Fund April 2026 Factsheet",
      "factsheet_url": "https://example.com/rangler-income-fund-april-2026.pdf",
      "source_post_url": "https://example.com/rangler-income-fund",
      "source_published_at": "2026-04-09T09:00:00+00:00",
      "source_metrics": {
        "current_asset_allocation": [
          {
            "label": "Cash",
            "weight_pct": 30.0
          }
        ]
      },
      "top_holdings": null,
      "disclosure_kind": "asset_allocation"
    },
    "disclosure_kind": "asset_allocation"
  }
}

On this page