---
title: "Post Leads"
method: POST
path: "/crm/leads"
tags: ["CRM Service Calls"]
---

# Post Leads

`POST /crm/leads`

Create a new lead.

Adds a lead record to the CRM. Only `name` is required; all other fields are optional.

**Request Body (LeadRequest):**

- **name** *(required)*: Full name of the lead.
- **email** *(optional)*: Email address (stored as primary email).
- **phone** *(optional)*: Phone number (stored as primary phone).
- **source** *(default: "Unknown")*: Marketing source. Values: Google, Facebook, Youtube,
  Reddit, Snapchat, Craigslist, Yelp, Linkedin, Incoming-Call, SMS, Referral, Bing,
  Yahoo, Nextdoor, Unknown, TikTok, Instagram, Billboard Ad.
- **status** *(default: "assigned")*: Lead status. Values: open, assigned, attempted,
  contacted, meeting-setup, disqualified, incorrect.
- **comments** *(optional)*: Initial notes.
- **tags** *(optional)*: Up to 10 tags.
- **employer_name**, **profession**, **title**, **website** *(optional)*: Profile fields.
- **ssn** *(optional)*: Encrypted at rest.
- **birth_year**, **birth_month**, **birth_day** *(optional)*: Date of birth components.
- **decision_date** *(optional)*: Unix epoch timestamp.
- **business_need_description** *(optional)*: Free-text business need.
- **social_dict_list** *(optional)*: Social profiles, e.g. `[{"type": "linkedin", "url": "..."}]`.

**Response:** The created lead object.

## Request body

- LeadRequest
  - `name` string, required
  - `email` string, nullable
  - `source` string, nullable — Possible values: Google, Facebook, Youtube, Reddit, Snapchat, Craigslist, Yelp, Linkedin, Incoming-Call, SMS, Referral, Bing, Yahoo, Nextdoor, Unknown, TikTok, Instagram, Billboard Ad
  - `phone` string, nullable
  - `comments` string, nullable
  - `status` string, nullable — Possible values: open, assigned, attempted, contacted, meeting-setup, disqualified, incorrect
  - `tags` string[], nullable — List of tags (maximum 10 tags allowed)
  - `employer_name` string, nullable — Company name
  - `profession` string, nullable — Occupation
  - `title` string, nullable — Title, indexed for search
  - `ssn` string, nullable — SSN - encrypted at rest (format: XXX-XX-XXXX or XXXXXXXXX)
  - `website` string, nullable — URL, maps to vCard
  - `birth_year` integer, nullable — 4-digit year (e.g., 1985)
  - `birth_month` integer, nullable — Birth month 1-12
  - `birth_day` integer, nullable — Birth day 1-31
  - `decision_date` integer, nullable — Unix epoch timestamp (seconds)
  - `business_need_description` string, nullable — Free text for business need
  - `social_dict_list` object[], nullable — List of social profiles, e.g. [{"type": "linkedin", "url": "https://linkedin.com/in/..."}]

## Response `200`

Successful Response

- LeadResponse
  - `id` string, required
  - `phone_list` unknown[], nullable, required
    - unknown
  - `email_list` unknown[], nullable, required
    - unknown
  - `first_name` string, nullable, required
  - `last_name` string, nullable, required
  - `name` string, required
  - `status` string, required
  - `marketing_source` string, nullable
  - `created_date` string, nullable, required
  - `updated_date` string, nullable, required
  - `status_updated_date` string, nullable, required
  - `tags` string[], nullable
  - `social_dict_list` object[], nullable
  - `is_converted` boolean — Whether lead has been converted to contact
  - `contact_id` string, nullable — Contact ID if converted
  - `has_deal` boolean — Whether a deal/opportunity exists
  - `deal_stage` string, nullable — Current deal stage if exists
  - `deal_id` string, nullable — Deal/Opportunity ID if exists
  - `value_of_sale` number, nullable — Value of sale for the deal if exists
  - `close_date` string, nullable — Close date of the deal in ISO 8601 format

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/ambivo/apis/ambivo-api.md) · [All operations](https://skmtc.net/ambivo/apis/ambivo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ambivo/ambivo-api/versions/165a6d16a9a0/schema)
