Tier 1 — Push Data In

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/prospectsList prospects with optional filters
GET/prospects/:idSingle prospect with payment and call summary
POST/prospectsCreate a prospect
POST/prospects/upsertCreate or update a prospect by email or phone
PATCH/prospects/:idUpdate stage, name, email, phone, notes, etc.
DELETE/prospects/:idSoft-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 label
sincenumberUnix ms — return only prospects created after this time
untilnumberUnix ms — return only prospects created before this time
limitnumberMax records to return (default 50, max 100)
cursorstringPagination cursor from a previous response

POST /prospects

Creates a new prospect. At minimum one of email or phone must be provided.

Request body

json
{
  "name": "Jane Smith",
  "email": "jane@example.com",
  "phone": "+15551234567",
  "stage": "lead",
  "source": "webinar",
  "utmSource": "facebook",
  "utmCampaign": "spring-launch"
}
namestring?Full name
emailstring?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 stage
sourcestring?Lead source label
utmSourcestring?UTM source
utmMediumstring?UTM medium
utmCampaignstring?UTM campaign
utmContentstring?UTM content
utmTermstring?UTM term

POST /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.

json
{
  "email": "jane@example.com",
  "phone": "+15551234567",
  "name": "Jane Smith",
  "stage": "lead"
}
emailstring?Email address — required if no phone; used as primary dedup key
phonestring?Phone number — required if no email; used as fallback dedup key
namestring?Full name
stagestring?Stage slug

Returns { "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.

json
{
  "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.