ComTrack

API reference

Chats API

List and create channels, manage members, and send or delete messages.

2 min readUpdated

GETPOSTDELETEhttps://commissionconnector.com/api/zapier/chat/...

Base URL:

https://commissionconnector.com

Auth on every request:

X-API-KEY: your-api-key

or:

?api-key=your-api-key

Channels

List Channels

GET /api/zapier/chat/channels

Returns all non-DM channels. Each channel includes a members array.

Example response:

[
  {
    "id": "uuid",
    "name": "general",
    "channel_type": "everyone",
    "is_direct_message": false,
    "created_at": "2026-01-01T00:00:00Z",
    "members": [
      {
        "id": "uuid",
        "name": "Jane Smith",
        "user_type": "owner"
      }
    ]
  }
]

Example:

curl -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/channels

Create Channel

POST /api/zapier/chat/channels

Fields:

Field Required Notes
name yes Channel name
channel_type yes everyone or private

Notes:

everyone auto-adds all org members. private is invite-only.

Returns 201.

Example:

curl -X POST \
  -H "X-API-KEY: your-key" \
  -H "Content-Type: application/json" \
  -d '{"name":"sales","channel_type":"private"}' \
  https://commissionconnector.com/api/zapier/chat/channels

Channel Members

List Members in Channel

GET /api/zapier/chat/channels/:id/members

Example:

curl -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/members

Add Member to Channel

POST /api/zapier/chat/channels/:id/members

Fields:

Field Required
user_id yes

Returns 200.

Example:

curl -X POST \
  -H "X-API-KEY: your-key" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"USER_ID"}' \
  https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/members

Remove Member from Channel

DELETE /api/zapier/chat/channels/:id/members/:user_id

Returns 204.

Example:

curl -X DELETE \
  -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/members/USER_ID

Messages

List Messages in Channel

GET /api/zapier/chat/channels/:id/messages

Returns top-level messages only, no thread replies, newest first. Each message includes user.id and user.name.

Query params:

Param Default Max
limit 100 200

Example:

curl -H "X-API-KEY: your-key" \
  "https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/messages?limit=100"

List All Messages

GET /api/zapier/chat/messages

Same shape as channel messages, but spans all channels in the org.

Example:

curl -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/messages

Get Message by ID

GET /api/zapier/chat/channels/:channel_id/messages

Fetches messages from the channel and returns the one matching the provided message ID. Used by the Chats: Get Message action.

Fields:

Field Required
channel_id yes
message_id yes

Example response:

{
  "id": "uuid",
  "content": "Hello everyone!",
  "channel_id": "uuid",
  "user_id": "uuid",
  "user": {
    "id": "uuid",
    "name": "John Doe"
  },
  "message_type": "text",
  "created_at": "2026-01-01T00:00:00Z"
}

Example:

curl -H "X-API-KEY: your-key" \
  "https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/messages?message_id=MESSAGE_ID"

Send Message to Channel

POST /api/zapier/chat/channels/:id/messages

Fields:

Field Required Notes
content yes Message body
message_type no text default, or system

Returns 201.

Example:

curl -X POST \
  -H "X-API-KEY: your-key" \
  -H "Content-Type: application/json" \
  -d '{"content":"Hello everyone!","message_type":"text"}' \
  https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/messages

Delete Message

DELETE /api/zapier/chat/channels/:id/messages/:msg_id

Returns 204.

Returns 404 if the message is not in that channel.

Example:

curl -X DELETE \
  -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/channels/CHANNEL_ID/messages/MESSAGE_ID

Direct Messages

Create or Find DM Channel

POST /api/zapier/chat/dm

Finds an existing DM between the API key owner and the target user, or creates one if it doesn’t exist.

Fields:

Field Required
user_id yes

Example response:

{
  "id": "uuid",
  "channel_id": "uuid"
}

Example:

curl -X POST \
  -H "X-API-KEY: your-key" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"USER_ID"}' \
  https://commissionconnector.com/api/zapier/chat/dm

Users

List Chat Users

GET /api/zapier/chat/users

Returns all org users eligible for chat. Placeholder accounts are excluded.

Each user includes:

{
  "id": "uuid",
  "name": "Jane Smith",
  "email": "jane@example.com",
  "user_type": "owner",
  "created_at": "2026-01-01T00:00:00Z"
}

Example:

curl -H "X-API-KEY: your-key" \
  https://commissionconnector.com/api/zapier/chat/users

Errors

{
  "message": "Error description"
}
Status Meaning
400 Bad request — missing or invalid field
401 Unauthorized — API key missing or invalid
404 Not found
500 Server error

Was this article helpful?