Skip to main content
POST
Create Opportunity

Headers

TENANT
string
required

The tenant you are making this request on behalf of

API-KEY
string
required

Your api key

Body

application/json
firstName
string
required
Minimum string length: 1
lastName
string | null
email
string | null
phoneNumber
string | null
sourceDetail
string | null
campaignId
string | null
locationId
string | null
patientId
string | null
pipelineId
string | null
currentStageId
string | null
assignedProviderId
string | null
notes
string | null

Response

Successful Response

id
string
required
firstName
string
required
pipelineId
string
required
patientId
string
required
stageEnteredAt
string<date-time>
required
lifecycleStage
enum<string>
required

Clinical vs marketing hygiene for a patient row.

Prospects are thin / pre-clinical people created by CRM capture. Transition is one-way to PATIENT on first completed visit, first committed payment, portal claim, or explicit staff action.

Available options:
PROSPECT,
PATIENT
lastName
string | null
email
string | null
phoneNumber
string | null
sourceDetail
string | null
campaignId
string | null
locationId
string | null
currentStageId
string | null
assignedProviderId
string | null
status
enum<string>
default:OPEN

Terminal-capable status for a pursuit episode (separate from stage).

Schema column lands with the opportunity rebuild; enum ships early so intake/services can type against it without a second enum PR.

Available options:
OPEN,
WON,
LOST,
DISQUALIFIED
wonAt
string<date-time> | null
lostAt
string<date-time> | null
lostReasonId
string | null
lostReasonLabel
string | null
convertedDate
string<date-time> | null
lostReason
string | null
sourceChannel
enum<string> | null

How a marketing interaction was observed.

Reporting dimension #1 on the touchpoint ledger. Add values only with a writer in the same PR (TypedEnum decodes unmapped strings to None).

Available options:
META_LEAD_FORM,
GOOGLE_LEAD_FORM,
PAID_CLICK,
WEB_ORGANIC,
WEB_FORM,
WEB_CHAT,
PHONE_CALL,
SMS_INBOUND,
EMAIL_INBOUND,
DM_INSTAGRAM,
DM_FACEBOOK,
REFERRAL,
WALK_IN,
QR,
IMPORT,
OTHER
originatingTouchpointId
string | null
estValueCents
integer | null
contactAttempts
integer
default:0
firstResponseDueAt
string<date-time> | null
firstResponseAt
string<date-time> | null
lastEngagedAt
string<date-time> | null
automationsPaused
boolean
default:false
stale
boolean
default:false
isExistingPatient
boolean
default:false
latestBooking
OpportunityBookingSummary · object | null

One real appointment fact visible in an opportunity's patient context.

createdDate
string<date-time> | null
updatedDate
string<date-time> | null
currentStage
PipelineStageSummary · object | null
assignedProvider
ProviderTiny · object | null
campaign
CampaignSummary · object | null