Skip to content

Everything Hedge needs to quote the chosen instant markets

POST
/broker/requirements
curl --request POST \
--url https://api.hedgespecialty.com/api/v1/broker/requirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "program_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "state": "example", "lines": [ "example" ] }'

The file’s core fields (the create body’s own) and each chosen Hedge Instant Quote market’s questions, per market and never deduplicated, built from the same application builders the portal workspace uses. Available for every instant program, whether or not Hedge has quoted it before. Read scope.

A question’s key is the canonical fact when it is bound to one (annual_revenue), else program.<slug>.<id>: answer a canonical key once in shared_answers and every market that asks it is prefilled. Program-only questions are answered per market by id (answers[program_id]).

Media typeapplication/json
object
program_ids
required

From POST /broker/appetite/instant.

Array<string>
>= 1 items <= 30 items
state
required
string
lines
required
Array<string>
>= 1 items <= 20 items
Examplegenerated
{
"program_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"state": "example",
"lines": [
"example"
]
}

Core fields and each market’s questions

Media typeapplication/json
object
core
required
Array<object>
object
key
required

The create-body path.

string
label
required
string
type
required
string
required
required
boolean
validations
object
markets
required
Array<object>
object
program_id
required
string format: uuid
program
required
string
market
required
string
schema_version
required

Changes whenever questions change.

string
questions
required
Array
object
id
required

The program’s own answer path, stable within the set (an object’s parts are <object>.<part>).

string
key
required

Shared answer key: Hedge’s fact key when the question means that fact in the same form, else program.<program_slug>.<id>.

string
label
required
string
help
required
string
nullable
type
required

list: the answer is a JSON array; rows shaped by item_questions, or plain text values when item_questions is absent.

string
Allowed values: text textarea number currency percent integer boolean select multiselect date state address list
options
required

Choices for select / multiselect (empty otherwise). Send value unchanged; it may be a string, number or boolean.

Array<object>
object
value
required
label
required
string
required
required

Required whenever the question is shown.

boolean
show_if
required
Array<object>

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
key
required
string
nullable
op
required
string
Allowed values: eq ne in not_in truthy falsy gt gte lt lte exists any_of all_of
value
required

Comparison value (JSON)

any_item
boolean
reference

A keyed-row lookup Hedge evaluates natively.

object
conditions
Array<object> recursive
required_if

When present, the question is required only while these conditions hold.

Array<object>

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
key
required
string
nullable
op
required
string
Allowed values: eq ne in not_in truthy falsy gt gte lt lte exists any_of all_of
value
required

Comparison value (JSON)

any_item
boolean
reference

A keyed-row lookup Hedge evaluates natively.

object
conditions
Array<object> recursive
one_of_group

An answer to any question in the same group satisfies the group.

string
section
required
string
nullable
assumed_default
required

The answer Hedge would assume when unanswered, when one is fixed in advance; null otherwise (Hedge then decides from the file at quote time).

nullable
prefill_from
required
string
nullable
item_questions

For a list: each row’s questions. Keys are <list key>.<id>; a row condition on a sibling uses the sibling’s key.

Array<object>
object
id
required

The program’s own answer path, stable within the set (an object’s parts are <object>.<part>).

string
key
required

Shared answer key: Hedge’s fact key when the question means that fact in the same form, else program.<program_slug>.<id>.

string
label
required
string
help
required
string
nullable
type
required

list: the answer is a JSON array; rows shaped by item_questions, or plain text values when item_questions is absent.

string
Allowed values: text textarea number currency percent integer boolean select multiselect date state address list
options
required

Choices for select / multiselect (empty otherwise). Send value unchanged; it may be a string, number or boolean.

Array<object>
object
value
required
label
required
string
required
required

Required whenever the question is shown.

boolean
show_if
required
Array<object>

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
key
required
string
nullable
op
required
string
Allowed values: eq ne in not_in truthy falsy gt gte lt lte exists any_of all_of
value
required

Comparison value (JSON)

any_item
boolean
reference

A keyed-row lookup Hedge evaluates natively.

object
conditions
Array<object> recursive
required_if

When present, the question is required only while these conditions hold.

Array<object>

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
key
required
string
nullable
op
required
string
Allowed values: eq ne in not_in truthy falsy gt gte lt lte exists any_of all_of
value
required

Comparison value (JSON)

any_item
boolean
reference

A keyed-row lookup Hedge evaluates natively.

object
conditions
Array<object> recursive
one_of_group

An answer to any question in the same group satisfies the group.

string
section
required
string
nullable
assumed_default
required

The answer Hedge would assume when unanswered, when one is fixed in advance; null otherwise (Hedge then decides from the file at quote time).

nullable
prefill_from
required
string
nullable
item_questions
Array<object> recursive
prefilled_from

The create-body field (a core key) that fills this question, or null: the business’s name, mailing address, contact and effective date included, whichever market asks them (an address leaf names applicant.mailing_address; its key says which part). Such a question shares its key across markets and is answered through the core field, never per market.

string
nullable
validations

The checks Hedge applies, where its builder knows them: min, max, min_length, max_length, pattern. A missing key means unknown, not unchecked.

object
min
number
max
number
min_length
integer
max_length
integer
pattern
string
Example
{
"markets": [
{
"questions": [
{
"type": "text",
"show_if": [
{
"op": "eq"
}
],
"required_if": [
{
"op": "eq"
}
]
}
]
}
]
}

Invalid body, {code: unknown_lines}, or {code: not_instant, program_ids} for a program that is not a Hedge Instant Quote market you can reach