SendlySendly
API ReferenceTopics

List topics

GET
/api/v1/topics

The subjects this project mails about, cursor-paginated and newest first.

Archived topics are omitted unless you ask for them with include_archived. Archiving is the retire button and there is no delete: a topic is where people's answers are recorded, so removing it would remove the choices they made.

subscribed_count counts contacts who explicitly said yes. It reads low on a topic with default_opt_in true, and that is the honest number — it is how many people answered, not how many would currently receive the mail.

Requires the topics:read scope — View the topics you mail about and who is subscribed to each.

Authorization

AuthorizationBearer <token>

API key authentication. Use a sk_* (FULL) or pk_* (SENDING_ONLY) key as the bearer token. Public keys (pk_*) are restricted to the email-send endpoints and the self-serve list subscribe/unsubscribe pair; every other endpoint — event tracking included — answers 403 for them. In scope terms (used by /api/v1/* operations): FULL keys hold every scope; SENDING_ONLY keys hold only emails:send.

In: header

Query Parameters

limit?integer
after?string

Opaque cursor from a previous response's next_cursor.

include_archived?boolean|null

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/api/v1/topics"
{
  "data": [
    {
      "id": "string",
      "key": "string",
      "name": "string",
      "description": "string",
      "default_opt_in": true,
      "archived": true,
      "subscribed_count": 0,
      "unsubscribed_count": 0,
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "has_more": true,
  "next_cursor": "string"
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ]
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ]
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ]
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ]
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ]
}