Create a contact
Creates a contact in your team. Any keys beyond the standard fields are stored as custom contact properties. If campaignId is provided, the new contact is also enrolled into that campaign on a best-effort basis — enrollment failures are logged but do not fail this request, so verify enrollment separately for critical flows. (POST /api/campaigns/contact-enrollments also creates the contact and attempts enrollment in one call; enrollment there is likewise best-effort.) The target campaign must be active.
Duplicate contacts (same identifying fields within the team) are rejected with 400 Contact existed.
Authorizations
Pass your team's API key as a Bearer token: Authorization: Bearer YOUR_API_KEY. Find your API key in the dashboard under Settings. The key must belong to the same team as the teamId in the request body.
Body
The contact's phone number. Required.
"+84775352590"
Your team ID. Must match the team the API key belongs to.
Full name.
"Jane Doe"
Optional. Enrolls the created contact into this active campaign (best-effort — a failed enrollment does not fail the request).
Any additional keys are stored as custom contact properties.