sendsend.email

Create a contact

POST/v1/audiences/{id}/contacts

Adds one person to an audience. Properties must be created first with the contact properties endpoints. An audience holds up to 50,000 contacts.

Required scope: contacts:manage

Parameters

NameInDescription
idrequiredpathThe audience id.

Request body

FieldType
emailrequiredstring
first_nameoptionalstring
last_nameoptionalstring
unsubscribedoptionalboolean
propertiesoptionalobject

Unknown fields are rejected, so a typo never silently does nothing.

Example

curl -X POST 'https://api.sendsend.email/v1/audiences/ID/contacts' \
  -H "Authorization: Bearer $SENDSEND_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "maria@example.com",
  "first_name": "Maria",
  "properties": {
    "plan": "pro"
  }
}'

Response 201

{
  "id": "con_Hk3v…",
  "object": "contact",
  "audience_id": "aud_7Qe2…",
  "email": "maria@example.com",
  "first_name": "Maria",
  "last_name": null,
  "unsubscribed": false,
  "properties": {
    "plan": "pro"
  },
  "created_at": "2026-10-06T15:00:00.000Z",
  "updated_at": "2026-10-06T15:00:00.000Z"
}

Errors

StatusCodeWhen
400validation_errorThe request body or parameters are invalid. The message says which field.
404not_foundNo such resource in this project.
409validation_errorThat email is already in the audience.
401unauthorizedThe API key is missing, invalid or revoked.
403forbiddenThe key does not have the scope this endpoint needs.

Every error has the same shape. See Errors.