Skip to content

Contacts

Contacts are the people you send broadcasts to.

Terminal window
curl https://api.sendsignal.dev/contacts \
-H "Authorization: Bearer ss_..." -H "Content-Type: application/json" \
-d '{
"email": "sam@example.com",
"first_name": "Sam",
"last_name": "Jones",
"properties": { "plan": "pro" }
}'

properties holds your custom fields; define them first as contact properties. Creating a contact fires the contact.created automation trigger.

PATCH /contacts/{id} updates first_name, last_name, properties, and unsubscribed; set {"unsubscribed": true} to opt a contact out of all broadcast mail programmatically (the same state a recipient reaches through the unsubscribe link).

  • GET /contacts: the full roster.
  • GET /contacts?email=sam@example.com: exact-email lookup, returned as a single-item data array (empty if no match).
  • GET /contacts/{id}: one contact.
  • DELETE /contacts/{id}: remove entirely (prefer unsubscribed: true if you only need them to stop receiving mail).
  • POST / DELETE /contacts/{id}/segments/{segmentId}: add to / remove from a segment; GET /contacts/{id}/segments lists memberships.
  • PUT /contacts/{id}/topics/{topicId} with {"subscribed": false} (or true): set a topic subscription; GET /contacts/{id}/topics lists them.