Skip to main content
POST
/
audience
/
topics
Create a topic
curl --request POST \
  --url https://app.lettr.com/api/audience/topics \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Product updates",
  "description": "<string>",
  "default_subscription": "opt_in",
  "visibility": "public"
}
'
{
  "message": "Topic retrieved successfully.",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "Product updates",
    "description": "Monthly product updates",
    "default_subscription": "opt_in",
    "visibility": "public",
    "contacts_count": 12,
    "created_at": "2023-11-07T05:31:56Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.lettr.com/llms.txt

Use this file to discover all available pages before exploring further.

Create a topic. The default_subscription field is set at creation and cannot be changed later. Requires the audience:write scope and is blocked for sandbox API keys.

Authorizations

Authorization
string
header
required

API key for authentication

Body

application/json
name
string
required
Maximum string length: 255
Example:

"Product updates"

description
string | null
Maximum string length: 1000
default_subscription
enum<string>
default:opt_in

Defaults to opt_in when omitted.

Available options:
opt_in,
opt_out
Example:

"opt_in"

visibility
enum<string>
default:private

Defaults to private when omitted.

Available options:
private,
public
Example:

"public"

Response

Topic created

message
string
required
Example:

"Topic retrieved successfully."

data
object
required