Send Hedge a risk the way you would email it (text and/or PDFs)
const url = 'https://api.hedgespecialty.com/api/v1/broker/intake';const form = new FormData();form.append('text', 'example');form.append('files', 'file');form.append('insured_name', 'example');form.append('effective_date', '2026-04-15');form.append('lines_of_business', 'example');form.append('primary_state', 'example');form.append('producer_email', 'example');form.append('hold', 'false');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
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/intake \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form text=example \ --form files=@file \ --form insured_name=example \ --form effective_date=2026-04-15 \ --form lines_of_business=example \ --form primary_state=example \ --form producer_email=example \ --form hold=falseOne multipart call in, the system runs. Send free text (an email
body, notes, an ACORD summary), PDFs (ACORDs, loss runs,
supplements), or both. When insured_name is omitted Hedge reads
the insured, contact, address, website, NAICS, phone and email out
of text. Files are validated up front, stored on the new
submission and extracted into its brief in the background, this
call never waits on extraction. Then, unless hold is set, Hedge
starts marketing exactly as POST /broker/submissions does.
Requires text or insured_name (422 otherwise). Machine
credentials must name producer_email. Supports an
Idempotency-Key header keyed on your raw inputs, so a retried
call replays the saved submission (with its documents) instead of
creating a duplicate. Counts toward the daily create and upload
limits.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
The risk as you would describe it in an email. Required unless insured_name is given.
Up to 20 PDFs (ACORDs, loss runs, supplements), 15 MB each.
Comma-separated canonical slugs or common aliases (e.g. gl,property).
Primary risk state, 2-letter US code.
REQUIRED when authenticating with a machine credential; the active portal user this submission is attributed to.
Defer the run until finalize.
Responses
Section titled “Responses”Created; the run started unless held.
Result of POST /broker/intake.
object
The originals stored on the submission, in upload order.
object
What Hedge recorded for the insured, your fields, or the extractor’s when you only sent text.
object
object
Non-fatal notices (a file that was not stored, a background enqueue that needs attention, a replayed request).
Example
{ "marketing_status": "matching"}A file is not a valid PDF/document
Same Idempotency-Key already in flight
A file is over the 15 MB limit
Unsupported document type
Neither text nor insured_name; missing producer_email for a machine credential; the insured could not be identified from text; invalid date
Daily create limit reached
Text extraction is temporarily unavailable; your text is preserved