Prospects
Create, read, update, and soft-delete prospect records. Prospects are the central entity in Callix — payments, events, calls, and analyses all link to them.
Endpoints
| GET | /prospects | List prospects with optional filters |
| GET | /prospects/:id | Single prospect with payment and call summary |
| POST | /prospects | Create a prospect |
| POST | /prospects/upsert | Create or update a prospect by email or phone |
| PATCH | /prospects/:id | Update stage, name, email, phone, notes, etc. |
| DELETE | /prospects/:id | Soft-delete a prospect |
GET /prospects
Returns a paginated list of prospects for the authenticated account.
Query parameters
stagestringFilter by stage slug (e.g. lead, closed, no_show)sourcestringFilter by source labelsincenumberUnix ms — return only prospects created after this timeuntilnumberUnix ms — return only prospects created before this timelimitnumberMax records to return (default 50, max 100)cursorstringPagination cursor from a previous responsePOST /prospects
Creates a new prospect. At minimum one of email or phone must be provided.
Request body
{
"name": "Jane Smith",
"email": "jane@example.com",
"phone": "+15551234567",
"stage": "lead",
"source": "webinar",
"utmSource": "facebook",
"utmCampaign": "spring-launch"
}namestring?Full nameemailstring?Email address (required if no phone)phonestring?Phone number in E.164 format (required if no email)stagestring?Stage slug — defaults to account's initial stagesourcestring?Lead source labelutmSourcestring?UTM sourceutmMediumstring?UTM mediumutmCampaignstring?UTM campaignutmContentstring?UTM contentutmTermstring?UTM termPOST /prospects/upsert
Idempotent create-or-update. Looks up an existing prospect by email first, then phone. On match, patches only the fields that changed. On miss, creates a new prospect — triggering the same notifications as POST /prospects. At least one of email or phone is required.
{
"email": "jane@example.com",
"phone": "+15551234567",
"name": "Jane Smith",
"stage": "lead"
}emailstring?Email address — required if no phone; used as primary dedup keyphonestring?Phone number — required if no email; used as fallback dedup keynamestring?Full namestagestring?Stage slugReturns { "data": { "id": "<prospectId>", "created": true } } — created is false when an existing record was updated.
PATCH /prospects/:id
Partially updates a prospect. Only include fields you want to change — all fields are optional.
{
"stage": "closed",
"notes": "Signed on call 2026-05-30"
}DELETE /prospects/:id
Soft-deletes the prospect. The record is marked as deleted and excluded from all queries and metrics. The deletion can be reversed from the Callix dashboard within 30 days.
