The Hedge supplemental questions for a risk (no submission needed)
const url = 'https://api.hedgespecialty.com/api/v1/broker/hedge-questions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"lines":["example"],"state":"example","naics":"example","program_ids":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"description":"example"}'};
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/hedge-questions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "lines": [ "example" ], "state": "example", "naics": "example", "program_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "description": "example" }'Deterministic and read-only. Returns the curated core questions of
the Hedge supplemental form(s) that apply to the risk, merged so a
shared key is asked once. Forms resolve in this order, at most
four: the Hedge forms the selected program_ids require, the class
form for the NAICS (the most specific prefix), or for the business
description when the NAICS names no class form, then the coverage
form of each requested line (liquor,
auto, cyber, workers’ comp and so on; the general GL and property
forms only when no class form covers the line). A form Hedge asks
about but does not send as a PDF (the general GL supplemental) is not
in forms; its questions are. An empty forms and sections is a
valid answer: send the note and documents only.
Answer with POST /broker/submissions/{submission_id}/answers
(source: hedge_questions).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Canonical lines of business.
Two-letter US state.
2 to 6 digits.
The selected Hedge (portal and email) programs.
Optional: the agency’s description of the business, which class keywords match (for example cannabis, which has no NAICS).
Examplegenerated
{ "lines": [ "example" ], "state": "example", "naics": "example", "program_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "description": "example"}Responses
Section titled “Responses”The resolved forms and their questions
object
Changes when the question sets change, e.g. HEDGE_14@2026-09-28.1; none when no form applies.
object
The Hedge form’s key, e.g. HEDGE_14_RESTAURANT_BAR_AND_TAVERN_SUPPLEMENTAL.
object
object
The program’s own answer path, stable within the set (an object’s parts are <object>.<part>).
Shared answer key: Hedge’s fact key when the question means that fact in the same form, else program.<program_slug>.<id>.
list: the answer is a JSON array; rows shaped by item_questions, or plain text values when item_questions is absent.
Choices for select / multiselect (empty otherwise). Send value unchanged; it may be a string, number or boolean.
object
Required whenever the question is shown.
One condition on another question’s answer, found by that
question’s key. Conditions in a list are ANDed. Semantics: eq
and in compare type and value exactly; ne / not_in are false
for an unanswered question; truthy is true unless the answer is
null, false, 0, “” or an empty list or object; falsy is exactly
false, 0 or “” (an unanswered question is not falsy); gt /
gte / lt / lte compare numbers; exists is whether the
question is answered. any_of / all_of group conditions (then
key is null). any_item: the answer is a list and one item must
satisfy op / value. A condition whose key no question carries
refers to a fact Hedge sets itself; treat it as unanswered.
object
Comparison value (JSON)
A keyed-row lookup Hedge evaluates natively.
object
When present, the question is required only while these conditions hold.
One condition on another question’s answer, found by that
question’s key. Conditions in a list are ANDed. Semantics: eq
and in compare type and value exactly; ne / not_in are false
for an unanswered question; truthy is true unless the answer is
null, false, 0, “” or an empty list or object; falsy is exactly
false, 0 or “” (an unanswered question is not falsy); gt /
gte / lt / lte compare numbers; exists is whether the
question is answered. any_of / all_of group conditions (then
key is null). any_item: the answer is a list and one item must
satisfy op / value. A condition whose key no question carries
refers to a fact Hedge sets itself; treat it as unanswered.
object
Comparison value (JSON)
A keyed-row lookup Hedge evaluates natively.
object
An answer to any question in the same group satisfies the group.
The answer Hedge would assume when unanswered, when one is fixed in advance; null otherwise (Hedge then decides from the file at quote time).
Example
{ "sections": [ { "questions": [ { "type": "text", "show_if": [ { "op": "eq" } ], "required_if": [ { "op": "eq" } ] } ] } ]}Invalid body, or {code: unknown_line} for a line Hedge does not write
hedge_questions_unavailable: try again shortly