Skip to content

The programs Hedge would try for lines, state and NAICS

POST
/broker/catalog/query
curl --request POST \
--url https://api.hedgespecialty.com/api/v1/broker/catalog/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "lines": [ "commercial_general_liability" ], "state": "example", "exposure_states": [ "example" ], "naics": "example", "annual_revenue_cents": 1, "effective_date": "2026-04-15", "all_channels": false }'

Deterministic, read-only (no submission is created). Returns the programs Hedge attaches on line of business for the request, after your brokerage’s market, program and line settings and Hedge’s state footprint: connected carrier APIs (channel: api) and portals Hedge drives (channel: portal). Email and manual-portal markets are listed only with all_channels: true (channel: email and channel: portal), each with an appetite status. Programs that only ever return a non-binding indication are never listed. A listing is a potential route, not a quote; for API and portal programs the carrier’s own application answers appetite.

Hedge sends ONE program per market, channel and line. Every eligible sibling is listed; exactly one per market, channel and line is the default (default_lines), and the others name it in alternative_of. Programs that cannot be tried are in excluded with reason codes: your own Markets settings (broker_market_excluded, broker_program_excluded, broker_program_line_excluded), the program’s lines and states (unsupported_requested_line, requested_coverage_mismatch, package_companion_not_requested, program_state_excluded, market_state_excluded, exposure_state_excluded), Hedge’s state footprint (brokerage_state_unavailable), the request’s facts (program_class_excluded, below_program_revenue_floor, above_program_revenue_limit), or program_unavailable when the program cannot be tried right now.

Media typeapplication/json
object
lines
required

Hedge line slugs; businessowners expands to general liability plus property. Unknown values return 422 unknown_line.

Array<string>
>= 1 items <= 10 items
state
required

Primary risk state.

string
>= 2 characters <= 2 characters
exposure_states

Every location state; each must pass the market and program state checks.

Array<string>
<= 60 items
naics
string
nullable /^\d{2,6}$/
annual_revenue_cents

Optional. Missing revenue is a warning (revenue_unknown)

integer
nullable
effective_date
string format: date
nullable
all_channels

false (default): connected carrier APIs and the portals Hedge drives, with one default per market, channel and line. true: every channel, adding manual-portal (channel: portal) and email (channel: email) programs, an appetite status on each row, and Hedge’s pre-checks for the hedge group (at most 8 per line).

boolean

Offered and excluded programs

Media typeapplication/json
object
catalog_version
required
string
generated_at
required
string format: date-time
scope
required
object
lines
Array<string>
state
string
exposure_states
Array<string>
naics
string
nullable
brokerage_scoped
boolean
all_channels
boolean
programs
required
Array<object>
object
program_id
string format: uuid
program_name
string
market
object
id
string format: uuid
slug
string
nullable
display_name
string
logo_url
string
nullable
issuing_company
object
legal_name
string
nullable
naic
string
nullable
admitted
boolean
nullable
am_best_rating
string
nullable
channel

email only with all_channels. portal covers the portals Hedge drives and, with all_channels, manual portals.

string
Allowed values: api portal email
group

instant for api; hedge for portal and email.

string
Allowed values: instant hedge
route_label

Small-print route name for api, portal and email respectively.

string
Allowed values: Instant quote Hedge Binding Hedge Specialty
appetite
object
status
required

fit: Hedge would send it (API and portal programs on line of business; email programs whose published appetite matches the NAICS class). review: passes every line, state, class and brokerage check, and Hedge reviews appetite before sending (the usual email case). excluded: a check fails (rows in excluded only).

string
Allowed values: fit review excluded
reason

Plain-English reason to show when present.

string
nullable
lines
Array<string>
default_selected
boolean
default_lines

The lines this program is the default for. Pre-select each default program with exactly these lines (one program per market, channel and line). With all_channels, hedge rows are pre-selected only when fit and among Hedge’s top picks for the line (at most 8 per line, ranked by Hedge’s market results); instant rows keep one default per market and line.

Array<string>
alternative_of

The sibling Hedge sends instead at the same market, channel and line; null for that primary program, pre-selected or not.

string format: uuid
nullable
speed

A channel-level expectation (basis is channel_default), never a per-program promise.

object
hint
required
string
Allowed values: minutes within_day underwriter_review
label
required
string
basis
required
string
Allowed values: channel_default
fit
string
Allowed values: line_match
warnings
Array<string>
bind_path
string
Allowed values: hedge_portal
excluded
required
Array<object>
object
program_id
string format: uuid
program_name
string
market
object
id
string format: uuid
display_name
string
channel
string
Allowed values: api portal email
group
string
Allowed values: instant hedge
route_label
string
Allowed values: Instant quote Hedge Binding Hedge Specialty
appetite
object
status
required

fit: Hedge would send it (API and portal programs on line of business; email programs whose published appetite matches the NAICS class). review: passes every line, state, class and brokerage check, and Hedge reviews appetite before sending (the usual email case). excluded: a check fails (rows in excluded only).

string
Allowed values: fit review excluded
reason

Plain-English reason to show when present.

string
nullable
lines
Array<string>
reasons
Array<string>
Example
{
"programs": [
{
"channel": "api",
"group": "instant",
"route_label": "Instant quote",
"appetite": {
"status": "fit"
},
"speed": {
"hint": "minutes",
"label": "Usually within minutes",
"basis": "channel_default"
},
"fit": "line_match",
"bind_path": "hedge_portal"
}
],
"excluded": [
{
"channel": "api",
"group": "instant",
"route_label": "Instant quote",
"appetite": {
"status": "fit"
},
"reasons": [
"broker_program_excluded"
]
}
]
}

Invalid body, or {code: unknown_line, value} for a line Hedge does not recognize