Skip to content

Topics

Topics model subscription preferences by subject (“product updates”, “weekly digest”, “security notices”) so recipients can opt out of one kind of mail without leaving your list.

Terminal window
curl https://api.sendsignal.dev/topics \
-H "Authorization: Bearer ss_..." -H "Content-Type: application/json" \
-d '{"name": "Weekly digest", "description": "Monday roundup", "default_subscription": "opt_in"}'

default_subscription controls contacts who have never expressed a preference:

  • opt_in (default): only contacts who explicitly subscribed receive topic broadcasts.
  • opt_out: everyone receives them unless they explicitly unsubscribed.

Set a contact’s preference with PUT /contacts/{id}/topics/{topicId} and {"subscribed": true} or {"subscribed": false}; read them with GET /contacts/{id}/topics.

Recipients manage this themselves too: when a send is tagged with a topic_id, its unsubscribe link unsubscribes from that topic only.

A broadcast with a topic_id mails the topic’s effective subscribers (explicit preference, falling back to the default), minus unsubscribed or suppressed contacts.

GET /topics, GET /topics/{id}, and DELETE /topics/{id} round out management.