Submissions

Poll a submission's market events (quotes, declines, progress)

Changed on

The change feed for one submission; poll it to surface outcomes that arrive hours after submit on email/portal markets (a carrier quoting back, declining, or a market being engaged) without diffing the detail view. Events are ordered oldest-first with a stable cursor.

The end-of-stream signal is the cursor, never page length. A non-null next_cursor means more events may exist: store it and poll again with since=next_cursor until you receive a null. A page may hold fewer than limit events; or none at all; with a non-null cursor (internal audit rows are scanned but never returned, and a bounded per-request scan can stop early); never treat a short page as the tail. next_cursor is null only when the request proved your position is the tail of the currently-visible stream; resume later polls from your last non-null cursor. Event ids are stable, so re-reading an older cursor is always safe (dedupe by id).

type is a closed set:

  • market_attached; a market was engaged (sent to underwriter).
  • quote_received; a quote was received and relayed to you (the quote itself is on the submission detail / proposal).
  • status_changed; other movement, e.g. quote in progress or a market re-engaged.
  • declined, withdrawn, blocked; terminal outcomes for a market; detail carries the recorded rationale when there is one.
  • bound; coverage placed with that market.

Each event: {id, type, occurred_at, market: {name, lines, lane_id, category}, status, status_label, detail?}. category is the market's Hedge category (instant_quote, binding, specialty) and lane_id matches rail.lanes[].submission_market_id. status/status_label use the same vocabulary as the submission detail's markets roll-up. Events reflect what is currently visible to your brokerage; the same rules as the detail view (markets Hedge has actually engaged; quotes only once relayed).

Because visibility is evaluated at read time while the cursor is a position over the underlying log, a market that becomes visible later (e.g. its quote gets relayed after your cursor passed its early rows) can enter your stream mid-history; a quote_received without a preceding market_attached. Treat each event as self-contained rather than assuming lifecycle completeness, and read GET /broker/submissions/{submission_id} for authoritative current state. Re-reading from an older (or empty) cursor replays the full currently-visible history when you need to backfill.

get/broker/submissions/{submission_id}/events

Request

  • Base URL
    https://api.hedgespecialty.com/api/v1
  • Auth
    OAuth 2
    Authorization code: https://api.hedgespecialty.com/api/v1/oauth/authorize
    Client credentials
    Token URL: https://api.hedgespecialty.com/api/v1/oauth/token

Path parameters

submission_idstring uuid required

Query parameters

sincestring

Opaque cursor from a previous page's next_cursor; returns events strictly after it. Omit to read from the beginning.

limitinteger

Max events per page (internal audit rows are not counted). Values outside [1, 100] are clamped, never rejected.

Response

One page of events plus the follow-up cursor

next_cursorstring nullable

Changes

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status