Hedge · Schema

SubmissionCreate

CompanyInsuranceWholesaleBrokersSpecialty

Properties

Name Type Description
applicant object
narrative string Operations description of the risk, what the business does, size, anything an underwriter should know. Required; appetite matching depends on it.
lines_of_business array Canonical slugs (e.g. commercial_general_liability) or common aliases (gl, wc).
effective_date string
primary_state string Primary risk state, 2-letter US code (normalized to uppercase). When the applicant mailing address also carries a state the two must agree: the request 422s on a conflict, with a message that says exa
producer_email string REQUIRED when authenticating with a machine credential, the active portal user this submission is attributed to.
insured_id string Optional id of an existing insured from GET /broker/insureds; links the new submission to that client's account (repeat business, a new line for an existing client). Must belong to your brokerage; an
locations array Risk locations (ACORD 125 premises). Location numbers must be unique.
requested_coverages array Explicit narrow coverage intent as canonical slugs (e.g. auto_physical_damage, motor_truck_cargo). Omit when unstated; an empty list means the broker explicitly selected none.
property_tiv_total integer Total insured property value, whole dollars.
auto_vehicle_count integer
wc_total_annual_payroll integer Total annual payroll, whole dollars.
prior_carriers array Expiring or prior carriers per line; drives loss-run requests.
line_target_premiums object Broker-stated target annual premium per line slug, whole dollars. Non-positive values are dropped.
structure_to_target boolean Ask Hedge to structure options (limits, deductibles) to hit the target premiums.
hold boolean Defer the run. `false` (default) starts marketing as soon as the create commits — appetite match, clearance email to the producer, lanes opened, instant-quote markets quoted. `true` holds the draft un
mode string Partner integrations only (an acting-as partner token; anyone else gets 403). `rater` quotes exactly `partner_program_ids` and no other market. The file is always held until `finalize`, and `lines_of_
partner_program_ids array With `mode: rater` only: the exact programs to quote (API, portal or email programs; a portal-robot program must be qualified on Hedge's executor), at most one per market and channel for a requested l
partner_reference string With `mode: rater` only, the partner's own id for this quote request; echoed on the file's start event.
View JSON Schema on GitHub

JSON Schema

hedgespecialty-com-submission-create-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hedgespecialty-com/json-schema/hedgespecialty-com-submission-create-schema.json",
  "title": "SubmissionCreate",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hedgespecialty-com-openapi.yml#/components/schemas/SubmissionCreate",
  "type": "object",
  "required": [
    "applicant",
    "narrative"
  ],
  "properties": {
    "applicant": {
      "$ref": "#/$defs/Applicant"
    },
    "narrative": {
      "type": "string",
      "description": "Operations description of the risk, what the business does,\nsize, anything an underwriter should know. Required; appetite\nmatching depends on it.\n"
    },
    "lines_of_business": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Canonical slugs (e.g. commercial_general_liability) or common aliases (gl, wc)."
    },
    "effective_date": {
      "type": "string",
      "format": "date"
    },
    "primary_state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "Primary risk state, 2-letter US code (normalized to uppercase).\nWhen the applicant mailing address also carries a state the two\nmust agree: the request 422s on a conflict, with a message that\nsays exactly what to fix. Omit it to use the mailing address\nstate.\n"
    },
    "producer_email": {
      "type": "string",
      "description": "REQUIRED when authenticating with a machine credential, the active portal user this submission is attributed to."
    },
    "insured_id": {
      "type": "string",
      "format": "uuid",
      "description": "Optional id of an existing insured from GET /broker/insureds;\nlinks the new submission to that client's account (repeat\nbusiness, a new line for an existing client). Must belong to\nyour brokerage; an unknown or foreign id returns 404.\n"
    },
    "locations": {
      "type": "array",
      "maxItems": 250,
      "items": {
        "$ref": "#/$defs/Location"
      },
      "description": "Risk locations (ACORD 125 premises). Location numbers must be unique."
    },
    "requested_coverages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Explicit narrow coverage intent as canonical slugs (e.g.\nauto_physical_damage, motor_truck_cargo). Omit when unstated;\nan empty list means the broker explicitly selected none.\n"
    },
    "property_tiv_total": {
      "type": "integer",
      "minimum": 0,
      "description": "Total insured property value, whole dollars."
    },
    "auto_vehicle_count": {
      "type": "integer",
      "minimum": 0
    },
    "wc_total_annual_payroll": {
      "type": "integer",
      "minimum": 0,
      "description": "Total annual payroll, whole dollars."
    },
    "prior_carriers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PriorCarrier"
      },
      "description": "Expiring or prior carriers per line; drives loss-run requests."
    },
    "line_target_premiums": {
      "type": "object",
      "additionalProperties": {
        "type": "integer",
        "minimum": 1
      },
      "description": "Broker-stated target annual premium per line slug, whole dollars. Non-positive values are dropped."
    },
    "structure_to_target": {
      "type": "boolean",
      "default": false,
      "description": "Ask Hedge to structure options (limits, deductibles) to hit the target premiums."
    },
    "hold": {
      "type": "boolean",
      "default": false,
      "description": "Defer the run. `false` (default) starts marketing as soon as the\ncreate commits — appetite match, clearance email to the\nproducer, lanes opened, instant-quote markets quoted. `true`\nholds the draft until `POST /broker/submissions/{id}/finalize`\nreleases it (attach documents and answer requirements first).\n"
    },
    "mode": {
      "type": "string",
      "enum": [
        "rater"
      ],
      "description": "Partner integrations only (an acting-as partner token; anyone\nelse gets 403). `rater` quotes exactly `partner_program_ids` and\nno other market. The file is always held until `finalize`, and\n`lines_of_business` and `primary_state` are required. A live\nsubmission for the same insured returns 409 `hedge_file_exists`\nwith its `submission_id`, except your own rater submissions\n(one per coverage) where no chosen program's market already\nquotes one of its lines and no carrier application is shared.\nDifferent markets may quote the same line on sibling\nsubmissions. When your own rater submission collides, the 409\nalso lists `programs`: each colliding `program_id`, its\n`reasons` (`market_line_on_live_file`,\n`carrier_application_on_live_file`, `lines_unknown`) and the\n`submission_ids` it collides with. Untick those and retry.\n"
    },
    "partner_program_ids": {
      "type": "array",
      "minItems": 1,
      "maxItems": 40,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "With `mode: rater` only: the exact programs to quote (API,\nportal or email programs; a portal-robot program must be\nqualified on Hedge's executor), at most one per market and\nchannel for a requested line. Each refused program is named\nwith its reasons in a 422.\n"
    },
    "partner_reference": {
      "type": "string",
      "maxLength": 128,
      "description": "With `mode: rater` only, the partner's own id for this quote\nrequest; echoed on the file's start event.\n"
    }
  },
  "$defs": {
    "Address": {
      "type": "object",
      "description": "line1, city, state and zip are required together.",
      "required": [
        "line1",
        "city",
        "state",
        "zip"
      ],
      "properties": {
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "zip": {
          "type": "string"
        },
        "zip4": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "default": "US"
        }
      }
    },
    "Applicant": {
      "type": "object",
      "required": [
        "insured_name"
      ],
      "properties": {
        "insured_name": {
          "type": "string",
          "maxLength": 256
        },
        "dba_name": {
          "type": "string"
        },
        "entity_type": {
          "type": "string",
          "description": "Legal entity type, e.g. llc, corporation, sole_proprietor."
        },
        "fein_or_ssn": {
          "type": "string",
          "description": "FEIN, or SSN for a sole proprietor."
        },
        "nature_of_business": {
          "type": "string"
        },
        "date_business_started": {
          "type": "string",
          "format": "date"
        },
        "business_start_year": {
          "type": "integer",
          "description": "The year the business started, when the exact date is not known."
        },
        "business_phone": {
          "type": "string"
        },
        "business_email": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "contact_first_name": {
          "type": "string"
        },
        "contact_last_name": {
          "type": "string"
        },
        "contact_title": {
          "type": "string",
          "maxLength": 128
        },
        "contact_phone": {
          "type": "string"
        },
        "contact_email": {
          "type": "string",
          "description": "The producer's email. Strongly recommended: Hedge emails the\nclearance (every market being tried), any questions, and\nquotes here; the same thread an email broker gets.\n"
        },
        "naics": {
          "type": "string"
        },
        "sic": {
          "type": "string",
          "maxLength": 64
        },
        "gl_code": {
          "type": "string",
          "maxLength": 64
        },
        "mailing_address": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "Location": {
      "type": "object",
      "required": [
        "location_number",
        "address"
      ],
      "properties": {
        "location_number": {
          "type": "integer",
          "minimum": 1,
          "description": "Unique per submission."
        },
        "address": {
          "$ref": "#/$defs/Address"
        },
        "description_of_operations": {
          "type": "string",
          "maxLength": 10000
        },
        "employees_full_time": {
          "type": "integer",
          "minimum": 0
        },
        "employees_part_time": {
          "type": "integer",
          "minimum": 0
        },
        "annual_revenue_at_location": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "PriorCarrier": {
      "type": "object",
      "properties": {
        "coverage_category": {
          "type": "string",
          "description": "Canonical line slug or common alias."
        },
        "carrier_name": {
          "type": "string"
        },
        "policy_number": {
          "type": "string"
        },
        "effective_date": {
          "type": "string",
          "format": "date"
        },
        "expiration_date": {
          "type": "string",
          "format": "date"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hedgespecialty-com-submission-create"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.