Skip to content

Mint a one-time bind link (partner integrations only)

POST
/broker/submissions/{submission_id}/partner-bind-links
curl --request POST \
--url https://api.hedgespecialty.com/api/v1/broker/submissions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/partner-bind-links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "quote_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "producer_email": "example", "return_url": "example", "consent": { "statement_version": "example", "accepted_at": "2026-04-15T12:00:00Z" } }'

For an API partner acting for your brokerage (a token carrying the partner claim, with broker_submit) on a submission that partner created. Returns a one-time Hedge portal sign-in URL for producer_email that opens this quote: landing is bind (the bind checklist), quote (terms still incomplete, or the quote binds on the carrier’s own portal) or status (the lane is binding or bound). The URL expires after about 120 seconds and works once. It is a credential: redirect the signed-in user to it immediately and never store, email or log it. The first redemption makes the partner’s file a normal Hedge file.

producer_email must be an active portal user of your brokerage, or a producer on file with your brokerage (Hedge then creates their portal account; no email is sent). return_url must be https on an origin Hedge approved for the partner; the portal offers it as the way back. Any other caller, or a submission the partner did not create, gets 404.

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

A quote from GET …/quotes.

string format: uuid
producer_email
required
string
<= 255 characters
return_url
required
string
<= 2048 characters
consent
required
object
statement_version
required
string
<= 128 characters
accepted_at
required

Must carry a UTC offset.

string format: date-time
Examplegenerated
{
"quote_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"producer_email": "example",
"return_url": "example",
"consent": {
"statement_version": "example",
"accepted_at": "2026-04-15T12:00:00Z"
}
}

The link (the response carries Cache-Control: no-store)

Media typeapplication/json
object
url
string
expires_at
string format: date-time
landing
string
Allowed values: bind quote status
Example
{
"landing": "bind"
}

Missing broker_submit scope

Not a partner token

quote_not_available, quote_expired, quote_not_bindable (with reason), brokerage_portal_disabled or producer_email_conflict

return_url_not_allowed, producer_not_provisioned, or a body validation error

Rate limited (60 links a minute per partner

proposal_unavailable: try again shortly