Dashboard

Topics

Auth Required

Create Topic

POSThttps://api.inboxjot.com/v1/topics

Creates a topic that contacts can subscribe to. A workspace can have up to 100 topics. Needs a Full key. A key limited to one domain answers 403. Send an optional Idempotency-Key header to retry safely. See Idempotency.

POST/v1/topics
curl -X POST https://api.inboxjot.com/v1/topics \
  -H "Authorization: Bearer $INBOXJOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product updates",
    "description": "New features, once a month.",
    "default_subscribed": true
  }'
{
  "id": "top_06d2mfk8r6pn2tc8yw3hd",
  "name": "Product updates",
  "description": "New features, once a month.",
  "default_subscribed": true,
  "visibility": "public",
  "double_opt_in": false,
  "form_enabled": false,
  "sender_name": null,
  "sender_email": null,
  "redirect_url": null,
  "is_default": false,
  "counts": {
    "subscribed": 3230,
    "pending": 0,
    "unsubscribed": 0
  },
  "created_at": "2026-09-02T10:12:00.000Z",
  "updated_at": "2026-09-02T10:12:00.000Z"
}

Created the topic.

Body Parameters

namestringrequired

The topic name, 1 to 100 characters.

descriptionstring | null

Shown on the preference page, up to 500 characters.

default_subscribedboolean | null

Whether a new contact is subscribed to the topic until they choose.

visibilitystring | null

public shows the topic on the preference page. private hides it.

double_opt_inboolean | null

Whether a sign-up through the form must confirm by email first.

form_enabledboolean | null

Whether the hosted sign-up form is on. It needs a sender first.

sender_namestring | null

The from name for confirmation emails, up to 100 characters.

sender_emailstring | null

The from address for confirmation emails. It must be on a verified domain.

redirect_urlstring | null

An https:// page to show after someone signs up.

Response

idstring

The topic id.

namestring

The topic name.

descriptionstring | null

Shown on the preference page.

default_subscribedboolean

Whether a new contact is subscribed until they choose.

visibilitystring

public or private.

double_opt_inboolean

Whether a form sign-up must confirm by email.

form_enabledboolean

Whether the hosted sign-up form is on.

sender_namestring | null

The from name for confirmation emails.

sender_emailstring | null

The from address for confirmation emails.

redirect_urlstring | null

The page shown after someone signs up.

is_defaultboolean

True for the default topic. Campaigns use it when no topic is set.

countsobject

How many contacts chose each status.

created_atstring

When it was created.

updated_atstring

When it last changed.

Responses

POST/v1/topics
curl -X POST https://api.inboxjot.com/v1/topics \
  -H "Authorization: Bearer $INBOXJOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product updates",
    "description": "New features, once a month.",
    "default_subscribed": true
  }'
{
  "id": "top_06d2mfk8r6pn2tc8yw3hd",
  "name": "Product updates",
  "description": "New features, once a month.",
  "default_subscribed": true,
  "visibility": "public",
  "double_opt_in": false,
  "form_enabled": false,
  "sender_name": null,
  "sender_email": null,
  "redirect_url": null,
  "is_default": false,
  "counts": {
    "subscribed": 3230,
    "pending": 0,
    "unsubscribed": 0
  },
  "created_at": "2026-09-02T10:12:00.000Z",
  "updated_at": "2026-09-02T10:12:00.000Z"
}

Created the topic.