Skip to main content
POST

Create Intake Lead

Creates a CRM draft lead (a draft patient plus one caregiver) from an external system, such as a marketing form, CRM workflow, or lead-gen integration. No invite email is sent to the caregiver created through this endpoint.

Headers

Request Body

Field Descriptions

client (required)
  • firstName (required): Client’s first name (minimum 2 characters)
  • lastName (required): Client’s last name (minimum 2 characters)
  • birthdate (required): Date of birth in YYYY-MM-DD format. Cannot be in the future.
  • sex (optional): One of MALE, FEMALE, OTHER
  • address, city, state, zip, country (optional): Home address fields
  • timezone (optional): A valid IANA timezone identifier (e.g. America/Chicago)
  • selectedLocations (optional): Public IDs of clinic locations to attach to the lead. Each must belong to your organization, or the request is rejected with a 400 naming the unknown ID(s).
  • intakeStatusPublicId (optional): A custom intake stage’s public ID. Provide this or intakeStatusKey, not both — providing both is rejected with a 400.
  • intakeStatusKey (optional): A built-in stage key: LEAD, WAITLIST, VERIFIED_BENEFITS, AUTH_REQUESTED, AUTH_APPROVED, ASSESSMENT_SCHEDULED, THERAPY_SCHEDULED, ACTIVE, INACTIVE, SERVICES_PAUSED, DISCHARGED, ARCHIVED. Your organization must have a stage configured for the given key, or this returns a 400.
  • labelPublicIds (optional): Public IDs of intake labels to attach. Each must belong to your organization, or the request is rejected with a 400 naming the unknown ID(s).
When neither intakeStatusPublicId nor intakeStatusKey is provided, the lead is placed on your organization’s first active pipeline stage (in board order) — the same placement a public intake form submission gets. If your organization has no active stages configured, the lead is created with no stage.
caregiver (required)
  • firstName, lastName (required): Caregiver’s name (minimum 2 characters each)
  • relationship (required): One of MOTHER, STEPMOTHER, FATHER, STEPFATHER, GUARDIAN, GRANDPARENT, SIBLING, OTHER, UNKNOWN
  • email (required): A valid email address
  • phone (required): A valid US phone number in E.164 format (e.g. +14155551234). The number is validated as a real, deliverable US number — placeholder/fictitious numbers are rejected.
attribution (optional) Marketing attribution captured upstream. Unknown keys are stripped; all fields are optional strings.
  • utm_source, utm_medium, utm_campaign, utm_term, utm_content
  • gclid, gbraid, wbraid, fbclid
  • referrer, landingPage
This data is normalized into a source/channel/campaign and stored on the lead so API-created leads feed the same CRM filtering and lead-source reporting as leads submitted through the in-app intake form.

Success Response (201)

Error Responses

400 - Validation Error

Unknown selectedLocations, intakeStatusPublicId, intakeStatusKey, or labelPublicIds are rejected as a plain error naming the offending value(s):

401 - Unauthorized

401 - Invalid API Key

403 - Forbidden

Returned when your API key’s role does not have permission to create or edit patients.

409 - Conflict

Returned when the caregiver’s email already exists in your organization.

Examples

cURL Example

JavaScript Example

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header as 'Bearer '

Body

application/json
client
object
required

The draft patient to create.

caregiver
object
required

The caregiver to create and attach to the lead.

attribution
object

Optional marketing attribution captured upstream. Unknown keys are stripped.

Response

Intake lead created successfully

client
object
required
caregiver
object
required