Create a contact
POST/api/v1/contacts
POST /contacts
curl -X POST 'https://www.unitpost.com/api/v1/contacts' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'User-Agent: my-app/1.0' \
-H 'Content-Type: application/json' \
-d '{
"email": "customer@example.com",
"first_name": "Ada",
"last_name": "Lovelace"
}'Response · 201
{
"object": "contact",
"id": "id_123",
"email": "customer@example.com",
"first_name": "string",
"last_name": "string",
"unsubscribed": false,
"unsubscribed_at": "2026-01-01T00:00:00.000Z",
"unsubscribe_reason": "USER",
"custom_fields": {},
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Add a single contact to your workspace. Set an email plus any standard or custom field values; custom fields must already exist (define them with Create a custom contact field). Emails are unique per workspace, so creating one that already exists returns 409 — use Update a contact to change an existing contact, or Start an async contact import to add many at once. Requires the contacts:write capability.
Request body5 fields
| Field | Type | Description |
|---|---|---|
emailrequired | string | — |
first_name | string | — |
last_name | string | — |
unsubscribed | boolean | — |
custom_fields | object | — |
Response · 201 fields11 fields
| Field | Type | Description |
|---|---|---|
objectrequired | string | — |
idrequired | string | — |
emailrequired | object | — |
first_namerequired | object | — |
last_namerequired | object | — |
unsubscribedrequired | boolean | — |
unsubscribed_atrequired | object | — |
unsubscribe_reasonrequired | object | — |
custom_fieldsrequired | object | — |
created_atrequired | string | — |
updated_atrequired | string | — |
201401409422