Create a prospect
Creates a prospect. Provide at least one of email, linkedinUrl, instagramUsername, or whatsappPhone — a prospect with no email address is still created and can be enrolled in LinkedIn, Instagram or WhatsApp campaigns. If one with the same email already exists it is merged and returned with alreadyExisted=true (HTTP 200); a brand-new prospect returns 201. Pass listId to drop the prospect into one of your lists; if a running campaign is linked to that list the prospect is auto-enrolled (continuous enrollment) — ideal for a website signup or popup form. Pass enrollInCampaignId instead to enroll into one specific campaign in the same call.
Required scope: prospects:write.
Requires a unique Idempotency-Key request header so retries never duplicate.
The prospect is always saved even if list attach or enrollment can't complete — the outcome is reported in the list / enrollment fields rather than failing the call.
listId echoes back the list you passed (or null), and list is { attached: true, enrolledCampaigns: <n> } on success, or { attached: false, error: "list_not_found", message: ... } if the list ID was wrong.
enrolledCampaigns counts the running campaigns linked to the list that the prospect was just folded into.
Request
- Base URL: https://warmysender.com/api/v1
- URL: https://warmysender.com/api/v1/prospects
- Auth: HTTP bearer
Headers
A unique key (e.g. a UUID) that makes this write safe to retry. Reusing a key returns the original result; reusing it with a different body returns 409.
Request body
Response
list_not_found — listId did not match a list in your workspace. The prospect is still saved; see list.error in the response body.
Changes
No recorded changes to this operation across all 1 revision of this API.