Skip to content

Agents

An AI agent can quote Hedge Instant Quote markets for a broker: check appetite, ask the broker what the markets need, create the file, request quotes, and hand back the quote PDFs and the bind link. Chat assistants use the MCP connector; agents you run yourself can call the REST API directly. Both follow the same workflow and the same rules.

  1. Check appetite. check_instant_appetite (MCP) or POST /broker/appetite/instant with the state, the lines and, ideally, the NAICS code and a description. If no instant market fits, stop here and tell the broker to email Hedge what email_us lists.

  2. Get the questions. get_questions (MCP) returns the chosen markets’ questions as one list merged by canonical key, so the agent asks each question once. Over REST, POST /broker/requirements returns the core fields and each market’s questions per market; merge them by key yourself.

  3. Ask the broker. Ask for what the file does not already state. Never fill a gap with a guess.

  4. Create the file. create_submission (MCP) or POST /broker/submissions with the answers. Send a client_reference so a retry returns the same file, and quote: true to have each market quote as soon as it is ready.

  5. Close the gaps. Read each market’s missing[] and suggested[]. Ask the broker, then answer (MCP) or PATCH .../answers. A suggestion (a carrier class, for example) counts only once the broker confirms it.

  6. Quote. request_quotes (MCP) or POST .../quote, unless the file was created with quote: true. Poll the file state every 5 to 10 seconds until the markets settle.

  7. Show the quotes. get_quotes (MCP) or GET .../quotes: price, taxes and fees, coverages, subjectivities and the quote PDFs.

  8. Hand over the bind link. get_bind_link (MCP) or POST .../quotes/{quote_id}/bind-link. Give the URL to the broker; the bind itself happens in the Hedge portal.

  • Instant Quote markets only. The API never reaches binding or specialty markets. On 422 no_instant_market, tell the broker to email Hedge at the email_us.address, with everything in what_to_include. Don’t retry the create and don’t reshape the facts to make a market fit.
  • Never invent answers. Every answer comes from the broker or from the documents they gave you. If a value is unknown, ask.
  • Confirm suggestions. A value in suggested[] is Hedge’s pick, not an answer. Show it to the broker and send it back only once they agree.
  • 403: stop. The token is valid but not allowed to do this (for example, submit access is off for the brokerage). A retry gets the same answer. Stop the run, show the broker the detail, and send any remaining work by email.
  • 429: wait. Wait the Retry-After seconds before the next call, and don’t fire queued calls in the meantime.
  • 409 and 422: fix the request. The detail says what is wrong; the same request sent again gets the same answer.
  • One file per risk. Use client_reference on every create; the same reference returns the existing file instead of a duplicate.
  • The bind link is a credential. Give it only to the broker it signs in, and never write it to logs or shared channels.
  • Keep private data private. Never put insured, producer or agency details in a public URL or a web search.

See Errors for every code.

A broker asks: “Quote GL for Green Thumb Landscaping in Citrus Heights, CA. Residential lawn care, 6 employees, about $850k in revenue, start November 15.”

  1. The agent checks appetite:

    POST /broker/appetite/instant
    { "state": "CA", "lines": ["general_liability"], "naics": "561730",
    "description": "Residential landscaping and lawn care, 6 employees" }

    Four instant markets fit: Blitz, Coterie, LIO and NEC. Coterie’s class comes back as a suggestion, “Landscape care and maintenance services (NAICS 561730)”.

  2. It reads the questions (POST /broker/requirements). Revenue, employee count, payroll and the business’s start date are asked by several markets (one canonical key each), so it asks the broker once. Coterie needs the least beyond that, and the broker wants a price today, so the agent quotes Coterie first. The broker also wants a $1M occurrence limit, which Coterie asks as its own question.

  3. It asks the broker what it can’t know: “Does Green Thumb do any tree work over 15 feet? When did it start, what’s the payroll, and who is our contact there?” No tree work over 15 feet, since April 2016, $260k, Dana Reyes.

  4. It creates the file:

    POST /broker/submissions
    {
    "applicant": { "insured_name": "Green Thumb Landscaping LLC", "naics": "561730",
    "date_business_started": "2016-04-01",
    "mailing_address": { "line1": "6834 Olive Tree Way", "city": "Citrus Heights", "state": "CA", "zip": "95610" },
    "contact_first_name": "Dana", "contact_last_name": "Reyes",
    "contact_email": "dana@greenthumb.example", "contact_phone": "9165550142" },
    "narrative": "Residential landscaping and lawn care, 6 employees, no tree work over 15 ft.",
    "lines_of_business": ["general_liability"],
    "primary_state": "CA",
    "effective_date": "2026-11-15",
    "program_ids": ["<coterie program_id>"],
    "shared_answers": { "annual_revenue": 850000, "employee_count": 6, "annual_payroll": 260000 },
    "answers": { "<coterie program_id>": { "gl_each_occurrence_limit": 1000000 } },
    "client_reference": "AI-9f3c2b",
    "quote": true,
    "producer_email": "dana@youragency.com"
    }
  5. After a few polls Coterie is needs_answers with one item: its business class, and suggested[] holds “Landscape care and maintenance services (NAICS 561730)”. The agent asks: “Coterie would class this as landscape care and maintenance. Is that right?” The broker agrees, and the agent sends confirm_suggestions: true.

  6. Coterie is ready and, created with quote: true, quotes on its own. The agent reads GET .../quotes and shows the price with taxes and fees, the main coverages and the subjectivities, and attaches the hedge_quote_pdf.

  7. The broker takes the Coterie quote. The agent asks for a bind link and hands the URL to the broker, who finishes the bind checklist in the Hedge portal.

Had appetite returned instant_available: false, the agent would have stopped at step 1 and told the broker to email submissions@hedgespecialty.com with the ACORDs and supplements what_to_include lists.

The Hedge MCP connector is a Model Context Protocol server for your brokerage’s book at Hedge. It works with Claude, Claude Code, ChatGPT, Cursor, Codex and any other MCP client.

Environment Connector URL
Production https://mcp.hedgespecialty.com/mcp
Sandbox https://sandbox-mcp.hedgespecialty.com/mcp

Add the URL as a custom connector (Claude, Claude Code, ChatGPT) or MCP server (Cursor, Codex), then sign in to the broker portal and approve the connection. Approve write access to create files and request quotes; it also needs submit access on your brokerage. Agents that run without a person signing in can use an API key: exchange it with the client_credentials grant and send the token as a bearer, naming producer_email on every write.

The tools follow the flow:

Tool What it does
check_instant_appetite Which instant markets fit, or email_us when none does.
get_questions The chosen markets’ questions merged by canonical key, so each is asked once.
create_submission Creates the file; takes the merged answers and fills every market.
answer Answers the gaps by canonical key or per market.
request_quotes Requests quotes for the ready markets.
get_status Where each market on a file stands, with what is missing.
get_quotes The itemized quotes with their PDF links.
get_bind_link The bind link for a quote.

The read tools for your submissions, policies, payments and book stay available. See MCP for the full list, access and revocation.

The Hedge skill packages this workflow and these rules for Claude. It works through the MCP connector, so connect that first.

The skill folder has the full setup, connector included.

The skill uses the flow tools above, which are rolling out: live in the sandbox now and in production shortly.