---
title: "Create Lead"
method: POST
path: "/api/create-lead"
tags: ["leads"]
---

# Create Lead

`POST /api/create-lead`

Create a new lead.

Args:
    lead_data: Lead creation data
    supabase: Supabase client

Returns:
    API response with created lead data

## Request body

- LeadCreate — Schema for creating a new lead.
  - `email` string, email, required — Contact email address
  - `company_name` string, required — Company name
  - `contact_name` string, required — Contact person name
  - `contact_role` string, nullable — Contact person role
  - `contact_number` string, nullable — Contact phone number
  - `industry` string, nullable — Industry/sector
  - `linkedin` string, nullable — LinkedIn profile URL
  - `primary_contact_insurance` string, nullable — Primary insurance contact person
  - `secondary_contact_insurance` string, nullable — Secondary insurance contact person
  - `address_street` string, nullable — Mailing street address
  - `address_city` string, nullable — Mailing city
  - `address_state` string, nullable — Mailing state (2-letter code)
  - `address_zip` string, nullable — Mailing ZIP code
  - `product_lines` string[], nullable — Insurance product lines: tech-eo, cyber, gl, dno-us, dno-non-us, dno-us-full, dno-us-quick-quote, dno-us-bind, dno-non-us-full, dno-non-us-quick-quote, dno-non-us-bind, renewable-dno, epli, ai-insurance, fiduciary-liability, crime, professional-liability, ransomware, media-liability, property-insurance, product-liability, credit-insurance, key-person-life, home-insurance
  - `other_product_lines` string, nullable — Free-text for product lines not in the standard list (e.g. Workers' Comp)
  - `comments` string, nullable — Internal notes about the lead
  - `follow_up_date` string, nullable — Date to follow up with the lead (YYYY-MM-DD format)
  - `stage` 'Lead' | 'Prequalified' | 'Intake' | 'Submitted' — Enum for lead stages in the sales pipeline (early stages only).
  - `estimated_premium` number, nullable — Estimated annual premium in dollars
  - `estimated_revenue` number, nullable — Estimated commission revenue (10% of premium)

## Response `201`

Successful Response

- APIResponse — Generic API response schema.
  - `success` boolean, required
  - `message` string, required
  - `data` unknown

## 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)
