Skip to content

Quickstart

The fastest path to a working integration is the hedge CLI. Install it, sign in once, and you can check appetite and submit risks from your terminal or a script. If you would rather call the REST API directly, skip to Call the API directly.

  1. Install the CLI.

    Terminal window
    npm i -g hedge-broker

    Homebrew and a one-line install script are also available. See the CLI guide for all three options.

  2. Sign in.

    Terminal window
    hedge login

    hedge login uses the OAuth 2.1 device flow: it prints a short code and a URL, you approve the sign-in in the broker portal, and the CLI stores a short-lived token for you. Prefer a browser sign-in? Run hedge login --browser.

  3. Check appetite.

    Terminal window
    hedge appetite "roofing" --state CA

    You get back the markets that want that class of business in California, with the matching programs and what each one needs to quote.

  4. Create a submission.

    Terminal window
    hedge submit \
    --insured "Acme Roofing LLC" \
    --state CA \
    --lob commercial_general_liability \
    --narrative "Residential roofing contractor, 12 employees, no prior losses."

    This creates the submission and returns its id. Add documents with hedge upload, see what is still needed with hedge requirements, and hand it to Hedge to market with hedge finalize. Run hedge submit --help for the full flag list.

  5. Track it and read everything back.

    Terminal window
    hedge submissions --status marketing --limit 10 # filter your book
    hedge status <submission-id> # live per-carrier status
    hedge documents <submission-id> # finalized documents
    hedge download <document-id> -o quote.pdf # any document as a PDF
    hedge policy <policy-id> # full policy detail
    hedge policy-doc <policy-id> declarations # policy PDFs

    Ids come from the --json output of hedge submissions, hedge documents, and hedge policies.

Every CLI command maps to a REST endpoint under https://api.hedgespecialty.com/api/v1. Requests are JSON over HTTPS and carry a short-lived OAuth 2.1 bearer token in the Authorization header. See Authentication for how to obtain one.

Terminal window
curl -G "https://api.hedgespecialty.com/api/v1/broker/appetite" \
--data-urlencode "q=roofing" \
--data-urlencode "state=CA" \
-H "Authorization: Bearer $HEDGE_TOKEN"

Creating a submission needs the broker_submit scope. The required fields are the applicant’s insured_name and a narrative describing the risk; everything else is optional and helps carriers quote faster.

Terminal window
curl -X POST "https://api.hedgespecialty.com/api/v1/broker/submissions" \
-H "Authorization: Bearer $HEDGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"applicant": {
"insured_name": "Acme Roofing LLC",
"mailing_address": {
"line1": "100 Market St",
"city": "San Jose",
"state": "CA",
"zip": "95113"
},
"naics": "238160"
},
"lines_of_business": ["commercial_general_liability"],
"effective_date": "2026-08-01",
"narrative": "Residential roofing contractor, 12 employees, no prior losses."
}'

The response contains the new submission, including its id, which you use to upload documents, poll requirements, and finalize.

No mailing address yet? Send the two-letter primary_state instead. If you send both, the two states must agree; a conflict returns a 422 that says exactly what to fix.

GET /broker/submissions returns your brokerage’s book, newest first. All filters are optional: status (one of intake, preparing, marketing, quoting, binding, bound, issued, lost, cancelled; an unknown value returns a 422 with the valid list), search on the insured name, limit (up to 500) with offset for paging, and updated_since for delta syncs.

Terminal window
curl -G "https://api.hedgespecialty.com/api/v1/broker/submissions" \
--data-urlencode "status=marketing" \
--data-urlencode "search=roofing" \
--data-urlencode "limit=25" \
--data-urlencode "updated_since=2026-07-01T00:00:00Z" \
-H "Authorization: Bearer $HEDGE_TOKEN"

Fetch one submission for the full picture: status, per-carrier marketing roll-up, and documents on file.

Terminal window
curl "https://api.hedgespecialty.com/api/v1/broker/submissions/$SUBMISSION_ID" \
-H "Authorization: Bearer $HEDGE_TOKEN"

List a submission’s finalized documents (rendered ACORDs, supplements, your uploads), then stream any of them as a PDF with the same bearer token:

Terminal window
curl "https://api.hedgespecialty.com/api/v1/broker/submissions/$SUBMISSION_ID/finalized-documents" \
-H "Authorization: Bearer $HEDGE_TOKEN"
curl -L "https://api.hedgespecialty.com/api/v1/broker/finalized-documents/$DOCUMENT_ID/pdf" \
-H "Authorization: Bearer $HEDGE_TOKEN" \
-o quote.pdf

List bound policies, pull one policy’s full detail (term, premium breakdown, your commission, payment terms), and download its documents:

Terminal window
curl "https://api.hedgespecialty.com/api/v1/broker/policies" \
-H "Authorization: Bearer $HEDGE_TOKEN"
curl "https://api.hedgespecialty.com/api/v1/broker/policies/$POLICY_ID" \
-H "Authorization: Bearer $HEDGE_TOKEN"
curl -L "https://api.hedgespecialty.com/api/v1/broker/policies/$POLICY_ID/document/declarations" \
-H "Authorization: Bearer $HEDGE_TOKEN" \
-o declarations.pdf

The document kind is binder, policy, or declarations. Continue in the API Reference.

Set up the OAuth 2.1 device flow, browser sign-in, or a connected app for server-to-server calls. See Authentication.