Create an SMS topic
POST/api/v1/sms/topics
POST /sms/topics
curl -X POST 'https://www.unitpost.com/api/v1/sms/topics' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'User-Agent: my-app/1.0' \
-H 'Content-Type: application/json' \
-d '{ }'Response · 201
{
"object": "topic",
"id": "id_123",
"name": "Example",
"description": "string",
"channel": "email",
"default_opt_in": false,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Create an SMS subscription topic. default_opt_in decides whether contacts with no explicit preference are treated as subscribed. Names are unique per channel, so an SMS topic may share a name with an email topic. Topics are a plan feature: an unentitled workspace gets 403 with limit_reached. Requires the topics:write capability.
Request body3 fields
| Field | Type | Description |
|---|---|---|
namerequired | string | — |
description | string | — |
default_opt_in | boolean | — |
Response · 201 fields8 fields
| Field | Type | Description |
|---|---|---|
objectrequired | string | — |
idrequired | string | — |
namerequired | string | — |
descriptionrequired | string | null | — |
channelrequired | enumemail | sms | Which channel the topic belongs to. Email topics are managed under `/email/topics`, SMS topics under `/sms/topics`. |
default_opt_inrequired | boolean | — |
created_atrequired | string | — |
updated_atrequired | string | — |
201401403404409422