The programs Hedge would try for lines, state and NAICS
const url = 'https://api.hedgespecialty.com/api/v1/broker/catalog/query';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"lines":["commercial_general_liability"],"state":"example","exposure_states":["example"],"naics":"example","annual_revenue_cents":1,"effective_date":"2026-04-15","all_channels":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Hedge line slugs; businessowners expands to general liability plus property. Unknown values return 422 unknown_line.
Primary risk state.
Every location state; each must pass the market and program state checks.
Optional. Missing revenue is a warning (revenue_unknown)
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).
Responses
Section titled “Responses”Offered and excluded programs
object
object
object
object
object
email only with all_channels. portal covers the portals Hedge drives and, with all_channels, manual portals.
instant for api; hedge for portal and email.
Small-print route name for api, portal and email respectively.
object
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).
Plain-English reason to show when present.
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.
The sibling Hedge sends instead at the same market, channel and line; null for that primary program, pre-selected or not.
A channel-level expectation (basis is channel_default), never a per-program promise.
object
object
object
object
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).
Plain-English reason to show when present.
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