---
title: "The market rail alone (cheap poll)"
method: GET
path: "/broker/submissions/{submission_id}/market-rail"
tags: ["Requirements"]
---

# The market rail alone (cheap poll)

`GET /broker/submissions/{submission_id}/market-rail`

## Request

- Base URL: `https://api.hedgespecialty.com/api/v1`
- URL: `https://api.hedgespecialty.com/api/v1/broker/submissions/{submission_id}/market-rail`
- 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`

The per-lane block from the requirements view without its heavier
sections; zero writes, safe to poll every few seconds while you
watch a submission. `GET .../requirements` carries the same block
under `rail`.

## Path parameters

- `submission_id` string, uuid, required

## Response `200`

Market rail

- MarketRail
  - `generated_at` string, date-time
  - `lanes` RailLane[]
    - `submission_market_id` string, uuid: The lane id used across this API (lane_id elsewhere).
    - `market_id` string, uuid, nullable
    - `market_name` string, nullable
    - `program` string, nullable
    - `program_id` string, uuid, nullable
    - `program_category` 'instant_quote' | 'binding' | 'specialty': The Hedge category of a market program, derived from how Hedge submits to it. `instant_quote` ("Hedge Instant Quote"): carrier API, Hedge fills gaps with favorable assumptions and quotes in minutes; every assumption is listed for the retail agent to confirm before bind. `binding` ("Hedge Binding"): carrier portal, Hedge quotes on your behalf. `specialty` ("Hedge Specialty"): email to an underwriter; completed ACORDs, program supplements and loss runs are needed and a human reads them, so Hedge does not assume.
    - `broker_label` 'instant_quote' | 'binding' | 'specialty': The Hedge category of a market program, derived from how Hedge submits to it. `instant_quote` ("Hedge Instant Quote"): carrier API, Hedge fills gaps with favorable assumptions and quotes in minutes; every assumption is listed for the retail agent to confirm before bind. `binding` ("Hedge Binding"): carrier portal, Hedge quotes on your behalf. `specialty` ("Hedge Specialty"): email to an underwriter; completed ACORDs, program supplements and loss runs are needed and a human reads them, so Hedge does not assume.
    - `lines` string[]
    - `status` string
    - `status_label` string
    - `status_detail` string, nullable: A closed market's reason. Beside "Declined", the carrier's own words; beside "Not a fit", one fixed reason.
    - `submit_ready` boolean
    - `gapped` boolean: Held for something only you can supply (see `unmet_labels`).
    - `unmet_labels` string[]
    - `quotes` object[]
      - `quote_id` string, uuid
      - `premium_display` string
      - `total_cents` integer
      - `lines` string[]
      - `is_revision` boolean, nullable
    - `source_offers` object[]: Carrier-original quote or indication documents.
      - `presentation_id` string, uuid
      - `kind` 'quote' | 'indication'
      - `label` string
      - `document_url` string
      - `filename` string, nullable
    - `bound` boolean
    - `chip` 'bound' | 'quoted' | 'not_available' | 'needs_info' | 'in_progress'
    - `carrier_api_session_ids` string[], nullable
  - `quote_history` object[]: Expired or invalidated quotes, for context.
    - `history_key` string
    - `market_name` string
    - `program` string, nullable
    - `outcome` 'expired' | 'invalid'
    - `observed_at` string, date-time
    - `next_step` string, nullable
  - `quote_history_unavailable` boolean
  - `online_in_progress_lines` string[]: Lines (canonical slugs) online markets are still quoting without having been named to you yet. Show one unnamed "Online quotes in progress" line each; the markets appear in `lanes` once they quote, decline or ask you something.
  - `no_market_lines` string[]: Lines (canonical slugs) no market is working or shows; every market on them closed.

## Other responses

- `404`: Not found (or not your brokerage's)

## Changes

- **2026-10-28** `14824ccf180c`: 1 info
  - added the optional property `lanes/items/broker_label` to the response with the `200` status
- **2026-10-22** `f51fe7503e9c`: 3 info
  - added the optional property `lanes/items/status_detail` to the response with the `200` status
  - added the optional property `no_market_lines` to the response with the `200` status
  - added the optional property `online_in_progress_lines` to the response with the `200` status
- **2026-09-20** `7928528d98b2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/changes/broker/submissions/:submission_id/market-rail/get.md)

---

[API](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api.md) - [All operations](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/revisions/beefa9cdc11c?raw)
