---
title: "Create a quote"
method: POST
path: "/api/partner/quotes"
tags: ["partner-api"]
---

# Create a quote

`POST /api/partner/quotes`

Submit a quote for a partner lead.
Requires can_create_quotes = true on the partner record.

## Request body

- CreateQuoteRequest
  - `lead_id` string, required — ID of the lead this quote belongs to. Must belong to your partner account.
  - `carrier_name` string, required — Name of the insurance carrier providing the quote.
  - `coverage_type` union, required — Coverage(s) the quote is for. Accepts a string or a list of strings.
    - string
    - string[]
  - `annual_premium` number, required — Total annual premium in USD.
  - `commission_rate` number, required — Commission rate as a percentage.
  - `quote_number` string, required — The carrier's quote reference number.
  - `policy_limit` number, nullable — Per-occurrence policy limit in USD.
  - `aggregate_limit` number, nullable — Aggregate policy limit in USD.
  - `retention` number, nullable — Deductible / retention in USD.
  - `effective_date` string, nullable — Policy effective date (YYYY-MM-DD).
  - `expiration_date` string, nullable — Policy expiration date (YYYY-MM-DD).
  - `taxes` number, nullable — Tax amount in USD.
  - `other_fees` number, nullable — Other fees in USD.
  - `wholesaler_mga_fee` number, nullable — Wholesaler / MGA fee in USD.
  - `wholesaler_mga_name` string, nullable — Wholesaler / MGA name.
  - `policy_fee` number, nullable — Policy fee in USD.
  - `agency_fee` number, nullable — Agency / brokerage fee in USD (not financeable).
  - `financing_enabled` boolean, nullable — Whether premium financing is enabled.
  - `financing_amount_financed` number, nullable — Amount financed in USD.
  - `financing_percentage` number, nullable — Agency financing revenue percentage.
  - `market` string, nullable — Market type, e.g. Admitted or Surplus.
  - `notes` string, nullable — Free-form notes about the quote.
  - `coverage_limit` number, nullable — Coverage limit in USD.
  - `premium_amount` number, nullable — Premium amount (if different from annual_premium).
  - `currency` string, nullable — Currency code.
  - `term` string, nullable — Policy term, e.g. annual or monthly.

## Response `201`

Successful Response

- QuoteResponse
  - `success` boolean
  - `data` QuoteData, required
    - `quote_id` string, required
    - `lead_id` string, required
    - `carrier_name` string, required
    - `coverage_type` string, required
    - `annual_premium` number, required
    - `status` string, required
    - `created_at` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/riskcube/apis/slack-lead-manager.md) · [All operations](https://skmtc.dev/riskcube/apis/slack-lead-manager/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/riskcube/slack-lead-manager/revisions/4442bbae8296/schema)
