Skip to Content

Leads API

Endpoints

Create Lead

POST /api/leads Authorization: Bearer <jwt> Content-Type: application/json

Request Body:

FieldTypeRequiredDescription
namestringLead’s full name
emailstringEmail address
phonestringPhone number
sourceportal|referral|direct|social|manualLead source
listing_iduuidAssociated listing (if known)
notesstringInitial notes

Get Lead

GET /api/dashboard/leads/[id] Authorization: Bearer <jwt>

Update Lead

PATCH /api/dashboard/leads/[id] Authorization: Bearer <jwt> Content-Type: application/json

Patchable fields: status, notes, next_contact_at, listing_id


Claim Lead

POST /api/leads/[id]/claim Authorization: Bearer <jwt>

Returns 409 if already claimed.


Convert Lead to Deal

POST /api/dashboard/leads/[id]/convert Authorization: Bearer <jwt> Content-Type: application/json { "listing_id": "uuid", "initial_stage": "new" }

Lead Status Values

StatusDescription
newFreshly created, unclaimed
claimedAssigned to an agent
contactedFirst contact made
qualifiedBuyer/seller intent confirmed
convertedDeal created
deadNo longer active
Last updated on