---
title: "The markets being tried, in three categories, with asks, assumptions and quotes"
method: GET
path: "/broker/submissions/{submission_id}/markets"
tags: ["Requirements"]
---

# The markets being tried, in three categories, with asks, assumptions and quotes

`GET /broker/submissions/{submission_id}/markets`

## Request

- Base URL: `https://api.hedgespecialty.com/api/v1`
- URL: `https://api.hedgespecialty.com/api/v1/broker/submissions/{submission_id}/markets`
- 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 live picture of the run, grouped the way the clearance email
lists it: **Hedge Instant Quote** (`instant_quote`, connected
carrier APIs quoted on recorded favorable assumptions), **Hedge
Binding** (`binding`, markets Hedge quotes for you) and **Hedge
Specialty** (`specialty`, email markets that need completed ACORDs,
program requirements and loss runs). All three categories are always
present, in that order, even when empty.

Each lane carries its status, `submit_ready`, `needs_from_you` (the
broker-actionable asks, only while the lane is gapped),
`assumptions` (each a pre-bind attestation the producer must
confirm; `confirmed: false` means still standing) and released
`quotes`. Deterministic and read-only; poll it after create —
matching usually lands within about 5 minutes, and an empty view
during `matching` is not "no appetite".

## Path parameters

- `submission_id` string, uuid, required

## Response `200`

The three market categories

- SubmissionMarkets
  - `submission_id` string, uuid, required
  - `generated_at` string, date-time, required
  - `categories` MarketCategoryGroup[], required: Always all three categories, in order instant_quote, binding, specialty — empty ones included.
    - `category` 'instant_quote' | 'binding' | 'specialty', required: 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.
    - `label` string, required: Hedge Instant Quote, Hedge Binding, or Hedge Specialty.
    - `description` string, required
    - `lanes` Lane[], required
      - `lane_id` string, uuid, required
      - `market_id` string, uuid, nullable
      - `market_name` string, nullable
      - `program` string, nullable
      - `program_id` string, uuid, nullable
      - `program_category` 'instant_quote' | 'binding' | 'specialty', required: 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, required
      - `status_label` string, required
      - `submit_ready` boolean, required
      - `needs_from_you` string[]: Broker-actionable asks, present only while the lane is gapped.
      - `assumptions` LaneAssumption[]
        - `key` string, required
        - `label` string, required
        - `value` unknown
        - `confirmed` boolean, required
      - `quotes` LaneQuote[]
        - `quote_id` string, uuid, required
        - `premium_cents` integer, required: Equals `total_cents` (the all-in total, not the bare premium). Use `total_cents`, or `GET /broker/submissions/{id}/quotes` for the itemized split.
        - `total_cents` integer, required: The quote's all-in total (premium + taxes + fees), in cents.
        - `premium` string, required
        - `lines` string[]
        - `is_revision` boolean: Present only when this quote supersedes an earlier released price.
      - `bound` boolean, required

## Other responses

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

## Changes

- **2026-09-28** `3156f892e627`: 2 info
  - response property `categories/items/lanes/items/quotes/items/premium_cents` deprecated
  - added the required property `categories/items/lanes/items/quotes/items/total_cents` 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/markets/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)
