Skip to content

Request to bind a released quote

POST
/broker/submissions/{submission_id}/bind-requests
curl --request POST \
--url https://api.hedgespecialty.com/api/v1/broker/submissions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/bind-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "quote_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "payment_option": "in_full", "attest_assumptions": false, "producer_email": "example" }'

The broker’s bind authority over the API. Drafts a bind request for the chosen quote, the same request the Hedge portal’s bind wizard creates, allocating one response slot per pre-bind contingency the carrier listed. Idempotent per carrier lane: re-posting for the same quote returns the existing draft (and records any new attest_assumptions).

Assumptions. Instant quotes are obtained on recorded assumptions (values Hedge defaulted on the carrier application because the file did not state them). They print on the signable application, so the retail agent must confirm them before the order reaches the carrier. This is the only bind check, and it is surfaced here rather than holding a submitted request silently: while any remain unconfirmed the response is 409 assumptions_unconfirmed listing them; the draft is kept. Re-POST with attest_assumptions: true (or the keys the agent confirmed) to record the confirmation and receive the draft. Nothing is sent to a carrier by this call.

Money. Lanes whose bind collects card payment in the portal (direct-bill carriers) cannot be submitted over the API; submit answers 422 with the reason. Requires the broker_submit scope; machine credentials must name producer_email.

submission_id
required
string format: uuid
Media typeapplication/json
object
quote_id
required

The released firm quote to bind: the quote_id shown on this submission’s rail lanes / markets rows. Indications cannot be bound (422).

string format: uuid
payment_option

The payment plan requested on the bind order.

string
default: in_full
Allowed values: in_full monthly
attest_assumptions
One of:
boolean
producer_email

REQUIRED with a machine credential; the active portal user this bind is attributed to (requested_by). Ignored for per-user tokens.

string

The bind request draft (or the existing draft for this quote)

Media typeapplication/json
object
bind_request_id
required
string format: uuid
submission_id
required
string format: uuid
status
required

drafted: checklist open (upload documents, confirm assumptions, then submit). submitted/sent: Hedge is placing the bind with the carrier. binder_received/bound: the placement completed (the policy appears under GET /broker/policies and a bound event is emitted). bind_failed: Hedge is reviewing.

string
Allowed values: drafted submitted sent binder_received bound bind_failed cancelled declined expired
status_label
required
string
quote_id
string format: uuid
nullable
payment_option
string
nullable
requested_at
required
string format: date-time
requested_by

The producing broker the request is attributed to.

string
nullable
effective_date
string format: date
nullable
policy_id
string format: uuid
nullable
unconfirmed_assumptions
required

Standing assumptions the retail agent still has to confirm. Non-empty means create/submit will answer 409 assumptions_unconfirmed until attested.

Array<object>

One assumption Hedge made to obtain the quote (a value it defaulted on the carrier application because the file did not state it) that the retail agent has not yet confirmed. key is what attest_assumptions lists; label is the plain-language statement; value is the exact value asserted to the carrier (absent when the entry records none).

object
key
required
string
label
required
string
value

The asserted value

contingencies
required
Array<object>

One pre-bind item the carrier needs, with your response state.

object
id
required
string format: uuid
kind
required
string
Allowed values: question signed_form loss_runs file_upload
label
required

The carrier’s wording of the item.

string
status
required
string
Allowed values: pending satisfied waived
required
required
boolean
upload_path

While the request is drafted, the path to POST a PDF for this item (multipart file); null afterwards.

string
nullable
esign_status

Envelope state of a signature request started for this item through the Hedge portal wizard (e.g. sent, completed, queued_for_review); null when none.

string
nullable
next_steps
required

Plain-language actions for the current state, in order.

Array<string>
Example
{
"status": "drafted",
"contingencies": [
{
"kind": "question",
"status": "pending"
}
]
}

Broker_submit scope required

Submission or quote not found (or not your brokerage’s)

Standing assumptions are not yet confirmed; the draft exists

Media typeapplication/json
object
detail

409 body from create/submit. The bind request exists as a draft (bind_request_id); re-POST the create (idempotent for the same quote) or POST submit with attest_assumptions to confirm.

object
code
required
string
Allowed value: assumptions_unconfirmed
message
required
string
bind_request_id
required
string format: uuid
assumptions
required
Array<object>

One assumption Hedge made to obtain the quote (a value it defaulted on the carrier application because the file did not state it) that the retail agent has not yet confirmed. key is what attest_assumptions lists; label is the plain-language statement; value is the exact value asserted to the carrier (absent when the entry records none).

object
key
required
string
label
required
string
value

The asserted value

Example
{
"detail": {
"code": "assumptions_unconfirmed"
}
}

Not bindable (an indication, a superseded quote, a lane already binding), or producer_email missing/unknown for a machine credential