This page documents the canonical HTTP contract for this endpoint.
At least one concrete person identity signal is required: a non-placeholder LinkedIn URL/member ID/Sales URL, first or last name, email/email_addresses, or phone/phone_numbers. Body fields organization_id, organizationId, user_id, userId, created_by, and createdBy are rejected; the optional legacy query parameters organization_id and user_id are accepted but ignored. Authenticated organization and actor determine ownership. The response is the normalized Lead record and may include populated company and priority data.
Query parameters
organization_id· optionalstring
Legacy compatibility parameter; accepted but ignored. Organization comes from authentication.
user_id· optionalstring
Legacy compatibility parameter; accepted but ignored. Actor comes from authentication.
| Name | Type | Description |
|---|---|---|
| organization_id | string | Legacy compatibility parameter; accepted but ignored. Organization comes from authentication. |
| user_id | string | Legacy compatibility parameter; accepted but ignored. Actor comes from authentication. |
Body parameters
first_name· optionalstring
Lead first name.
last_name· optionalstring
Lead last name.
email· optionalstring
Primary email address; may satisfy the required person identity signal.
email_addresses· optionalarray<object>
Optional email channel entries.
primary_phone· optionalstring
Optional primary phone; may satisfy the required person identity signal.
phone_numbers· optionalarray<object>
Optional phone channel entries.
company_domain· optionalstring
Company domain for matching.
linkedin_url· optionalstring
LinkedIn profile URL.
linkedin_member_id· optionalstring
LinkedIn member identifier; may satisfy the person identity requirement.
linkedin_sales_url· optionalstring
LinkedIn Sales profile URL; may satisfy the person identity requirement.
company_name· optionalstring
Optional company name.
company_linkedin_url· optionalstring
Optional company LinkedIn URL.
location· optionalstring
Optional location.
notes· optionalstring
Optional notes.
custom_fields· optionalobject
Custom field values; defaults to {}.
ownerUserId· optionalstring
Optional owner user ID; does not set authenticated actor or organization.
title· optionalstring
Job title.
lead_source· optionalstring
Lead source identifier. Defaults to api_create.
lead_status· optionalstring
Initial Lead status; valid values: new, qualified, contacting, converted, customer, unqualified, bad_data, nurture.
| Name | Type | Description |
|---|---|---|
| first_name | string | Lead first name. |
| last_name | string | Lead last name. |
| string | Primary email address; may satisfy the required person identity signal. | |
| email_addresses | array<object> | Optional email channel entries. |
| primary_phone | string | Optional primary phone; may satisfy the required person identity signal. |
| phone_numbers | array<object> | Optional phone channel entries. |
| company_domain | string | Company domain for matching. |
| linkedin_url | string | LinkedIn profile URL. |
| linkedin_member_id | string | LinkedIn member identifier; may satisfy the person identity requirement. |
| linkedin_sales_url | string | LinkedIn Sales profile URL; may satisfy the person identity requirement. |
| company_name | string | Optional company name. |
| company_linkedin_url | string | Optional company LinkedIn URL. |
| location | string | Optional location. |
| notes | string | Optional notes. |
| custom_fields | object | Custom field values; defaults to {}. |
| ownerUserId | string | Optional owner user ID; does not set authenticated actor or organization. |
| title | string | Job title. |
| lead_source | string | Lead source identifier. Defaults to api_create. |
| lead_status | string | Initial Lead status; valid values: new, qualified, contacting, converted, customer, unqualified, bad_data, nurture. |
Errors
| Status | Meaning |
|---|---|
| 400 | Lead creation failed or invalid payload. |
| 401 | Invalid API key or missing auth. |
| 403 | Missing leads:write scope. |
| 409 | Lead already exists (duplicate detected). |
