Create, update, list, and manage prospects
List Prospects
Accepts optional query filters, returns matching prospects, and includes a consistent list envelope with pagination metadata. When no matches are found, returns 200 with an empty items array and pagination.totalCount: 0. When multiple labels are provided, results include prospects that match any of those labels.
query Parameters
emailstringExample: avery.coleman@example.comphonestringExample: +15551234567namestringExample: Avery ColemantitlestringExample: Sales ManagercompanystringExample: Northwind HealthstagestringExample: New Leadlabelstyle: form · explode: trueOptional. Filter by label(s). Supports repeated query params (
?label=Hot&label=Inbound) or a comma-separated value (?label=Hot,Inbound). Matches prospects that contain any provided label. Up to 10 labels.limitintegerExample: 25Default: 25
Responses
Create or Update Prospect
Accepts prospect profile fields, creates or updates a prospect, and returns the created or matched prospect in item.
update defaults to true for this endpoint.
When a matching prospect is found by email or phone and update is enabled, omitted request fields are left unchanged.
To intentionally clear a supported field on the matched prospect, send that field with an explicit null value.
For flat address fields (streetAddress, city, state, postalCode), only the submitted address fields are updated; omitted address fields are preserved.
If phone is invalid, the request can still succeed; in that case the response includes a message warning and phone may be null.
Headers
X-Idempotency-Keystring · maxLength: 512Optional. Client-generated key used to make mutation retries safe. Reuse the same key only when retrying the exact same request.
Example: idem_prospect_create_01HV6W0J7Y7A5Q3T4J6N8M2P
Request Body
firstNamestring · requiredProspect first name.
lastNamestring · requiredProspect last name.
updatebooleanWhen true, a matching existing prospect by email or phone is updated instead of simply being returned. Omitted fields are preserved; send explicit
nullvalues to clear supported fields.Default: trueemailstring | null · emailProspect email address. When updating a matched prospect, send
nullto clear the email.phonestring | nullProspect phone number. When updating a matched prospect, send
nullto clear the phone.stageIdstringOptional stage ID to place the prospect in. When provided, this takes precedence over pipelineId.
pipelineIdstringOptional pipeline ID used only when stageId is omitted. The prospect is routed to that pipeline's configured default stage.
licenseStatusstring | null · enumLicense status for the prospect. When updating a matched prospect, send
nullto clear the license status.Enum values:not_startedin_progresslicensedlabelsOptional labels to attach to the prospect. Accepts either a comma-separated string or an array of strings.
notesstringOptional plain-text notes for the prospect profile.
titlestring | nullProspect job title. When updating a matched prospect, send
nullto clear the title.companystring | nullProspect company name. When updating a matched prospect, send
nullto clear the company.userIdstringUser id performing the create/update operation.
streetAddressstring | nullProspect street address. When updating a matched prospect, send
nullto clear this address field.citystring | nullProspect city. When updating a matched prospect, send
nullto clear this address field.statestring | nullProspect state or region. When updating a matched prospect, send
nullto clear this address field.postalCodestring | nullProspect postal/zip code. When updating a matched prospect, send
nullto clear this address field.officeIdstring | nullOptional office id to associate with the prospect. When updating a matched prospect, send
nullto clear the office association.sourceIdstring | nullExisting source id to associate with the prospect. For matched-prospect updates, source changes are restricted by existing business rules; send
nullonly when intentionally clearing an eligible source.newSourceNamestringNew source name to create/use when sourceId is not provided.
resumeobjectOptional resume payload for parsing and storage.
muteWebhookbooleanIf true, suppresses outbound webhook notifications for this write.
jobIdstringOptional job id used to link this prospect to a job.
Responses
Existing prospect returned or updated
successboolean · requireditemobject · requiredExample: {"id":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","message":null,"firstName":"Avery","lastName":"Coleman","email":"avery.coleman@example.com","phone":"+15551234567","currentStage":"New Lead","currentStageId":"9a3d7c1e4b2f48d6a5c0e1f9b7d2a346","pipelineId":"3d9a1c7e4b2f46d8a5c0e1f9b7d2a348","labels":["Hot","Inbound"],"title":"Sales Manager","company":"Northwind Health","createdAt":1717000000000,"updatedAt":1717003600000}
Get Prospect by ID
Accepts a required prospectId path parameter, fetches that specific prospect, and returns it in item when found.
path Parameters
prospectIdstring · requiredExample: c1a7e9d34b8f4c2aa6d15e0f7b3c9d42
Responses
OK
successboolean · requireditemobject · requiredExample: {"id":"c1a7e9d34b8f4c2aa6d15e0f7b3c9d42","message":null,"firstName":"Avery","lastName":"Coleman","email":"avery.coleman@example.com","phone":"+15551234567","currentStage":"New Lead","currentStageId":"9a3d7c1e4b2f48d6a5c0e1f9b7d2a346","pipelineId":"3d9a1c7e4b2f46d8a5c0e1f9b7d2a348","labels":["Hot","Inbound"],"title":"Sales Manager","company":"Northwind Health","createdAt":1717000000000,"updatedAt":1717003600000}
Delete Prospect
Accepts a required prospectId and deletes the matching prospect.
path Parameters
prospectIdstring · requiredExample: c1a7e9d34b8f4c2aa6d15e0f7b3c9d42
Headers
X-Idempotency-Keystring · maxLength: 512Optional. Client-generated key used to make mutation retries safe. Reuse the same key only when retrying the exact same request.
Example: idem_prospect_create_01HV6W0J7Y7A5Q3T4J6N8M2P
Responses
Deleted
successboolean · requiredmessagestring · required

