Skip to main content
GET
/
v2
/
topics
List topics
curl --request GET \
  --url https://api.zenzap.co/v2/topics \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Signature: <api-key>'
{
  "topics": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Project Updates",
      "description": "Discussion for project milestones",
      "type": "topic",
      "properties": [],
      "members": [
        "550e8400-e29b-41d4-a716-446655440001",
        "550e8400-e29b-41d4-a716-446655440002",
        "b@660e8400-e29b-41d4-a716-446655440003"
      ],
      "createdAt": 1699564800000,
      "updatedAt": 1699564800000,
      "externalId": "project-alpha"
    },
    {
      "id": "550e8400-e29b-41d4-a716-446655440010",
      "name": "Company Announcements",
      "type": "topic",
      "properties": [
        "announcement"
      ],
      "members": [
        "550e8400-e29b-41d4-a716-446655440001",
        "b@660e8400-e29b-41d4-a716-446655440003"
      ],
      "createdAt": 1699564900000,
      "updatedAt": 1699564900000
    },
    {
      "id": "550e8400-e29b-41d4-a716-446655440020",
      "name": "John Doe",
      "type": "dm",
      "properties": [],
      "members": [
        "550e8400-e29b-41d4-a716-446655440001",
        "b@660e8400-e29b-41d4-a716-446655440003"
      ],
      "createdAt": 1699565000000,
      "updatedAt": 1699565000000
    }
  ]
}

Authorizations

Authorization
string
header
required

Use your API key as the Bearer token. You can view your API key and secret in your Zenzap organization API key settings.

X-Signature
string
header
required

HMAC-SHA256 signature for request verification.

Headers

X-Signature
string
required

HMAC signature of the request.

The signature payload differs by HTTP method:

  • POST/PUT/PATCH/DELETE: HMAC-SHA256 of the request body
  • GET: HMAC-SHA256 of the full request URI (path + query string)

The signature is calculated as:

  1. Determine the payload:
    • For POST/PUT/PATCH/DELETE: Use the request body
    • For GET: Use the full request URI (e.g., /v2/members?limit=10&offset=0)
  2. Calculate HMAC-SHA256 of the payload using your API secret
  3. Hex-encode the output

Example for GET request to /v2/members?limit=10:

payload = "/v2/members?limit=10"
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)

Example for POST request with body {"topicId":"123","text":"Hello"}:

payload = '{"topicId":"123","text":"Hello"}'
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)
Example:

"a3d5f8e7c2b1d4f6a8e9c7b5d3f1a2e4b6c8d0f2e4a6b8c0d2e4f6a8b0c2d4e6"

Query Parameters

limit
integer<int64>
default:50

Maximum number of topics to return (default: 50, max: 100)

Required range: 1 <= x <= 100
offset
integer<int64>
default:0

Number of topics to skip for pagination (default: 0)

Required range: x >= 0

Response

Topics list retrieved successfully

topics
object[]

Array of topic objects