Skip to main content
POST
/
v2
/
topics
/
{topicId}
/
members
curl --request POST \ --url https://api.zenzap.co/v2/topics/{topicId}/members \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'X-Signature: <api-key>' \ --data ' { "memberIds": [ "550e8400-e29b-41d4-a716-446655440003" ] } '
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "memberIds": [
    "550e8400-e29b-41d4-a716-446655440001",
    "550e8400-e29b-41d4-a716-446655440002",
    "550e8400-e29b-41d4-a716-446655440003",
    "b@660e8400-e29b-41d4-a716-446655440003"
  ],
  "updatedAt": 1699564800000
}

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"

Path Parameters

topicId
string<uuid>
required

The ID of the topic to add members to

Body

application/json
memberIds
string<uuid>[]
required

Array of member IDs to add to the topic (max 5). All members must be from the same organization as the bot and must not already be members of the topic. Duplicate IDs in the request are automatically removed.

Required array length: 1 - 5 elements
Example:
[
  "550e8400-e29b-41d4-a716-446655440003",
  "550e8400-e29b-41d4-a716-446655440004"
]

Response

Members added successfully

id
string<uuid>

The topic ID

Example:

"550e8400-e29b-41d4-a716-446655440000"

memberIds
string[]

Updated array of member IDs in the topic

Example:
[
  "550e8400-e29b-41d4-a716-446655440001",
  "550e8400-e29b-41d4-a716-446655440002"
]
updatedAt
integer<int64>

Unix timestamp in milliseconds when the topic was updated

Example:

1699564800000