Endpoint list
This document lists all available Platform Chat API endpoints.
tip
- All Platform Chat API endpoints use the POST method.
- If this is your first time using the API, we strongly recommend reviewing Getting started first.
Default behaviors
Keep the following default behaviors in mind when integrating the Platform Chat API:
- Your App Server can send messages directly via the API. When sending as a user to a group or open channel, the user does not need to be a member.
- API calls from your App Server are not recorded in the Console's connection logs. However, messages sent via the API can be queried through the Console's message flow tool.
- If your app uses profanity filters, message callbacks, or third-party moderation, messages sent via the API are not filtered by default. To enable filtering, turn on Moderate messages sent by server API on the Chat settings page.
- If full message routing is enabled, messages sent via the API are not routed by default. To enable routing, turn on Include Server API Messaging in post-event webhooks on the Chat settings page.
User management
| Endpoint | API URL | Rate limit |
|---|---|---|
| Register a user | /v4/auth/access-token/issue | 200/sec |
| Expire an access token | /v4/auth/access-token/expire | 100/sec |
| Get user info | /v4/user/get | 100/sec |
| Update user info | /v4/user/update | 100/sec |
| Soft-delete a user | /v4/user/soft-delete | 100 users/sec |
| Query soft-deleted users | /v4/user/soft-deleted/list | 100/sec |
| Restore a user | /v4/user/restore | 100 users/sec |
| Ban a user | /v4/user/ban | 100/sec |
| Unban a user | /v4/user/unban | 100/sec |
| List banned users | /v4/user/ban/list | 100/sec |
| Check user online status | /v4/user/online-status/get | 100/sec |
| Mute a user in direct channels | /v4/channel-type/mute/set | 100/sec |
| List muted direct channel users | /v4/channel-type/mute/list | 100/sec |
| Batch set user tags | /v4/user/tag/batch/set | 10/sec |
| Get user tags | /v4/user/tag/batch/get | 100/sec |
User blocklist
| Endpoint | API URL | Rate limit |
|---|---|---|
| Add to blocklist | /v4/user/blocklist/add | 100/sec |
| Remove from blocklist | /v4/user/blocklist/remove | 100/sec |
| Get blocklist | /v4/user/blocklist/get | 100/sec |
Message management
| Endpoint | API URL | Rate limit |
|---|---|---|
| Send a direct message | /v4/direct-channel/message/send | 6,000 msgs/min (by recipient count) |
| Send a group message | /v4/group-channel/message/send | 20/sec (by target group count) |
| Send a community channel message | /v4/community-channel/message/send | 100/sec (by target group count); 20/sec per channel |
| Send an open channel message | /v4/open-channel/message/send | 100/sec (by target open channel count) |
| Broadcast to all open channels | /v4/open-channel/message/broadcast | 1/sec |
| Set message metadata | /v4/message/metadata/set | 100/sec (max 20 for group messages) |
| Delete message metadata | /v4/channel-type/message/metadata/delete | 100/sec (max 20 for group messages) |
| Get message metadata | /v4/channel-type/message/metadata/list | 100/sec |
| Delete a message (recall) | /v4/message/delete | 100/sec |
| Clear messages | /v4/channel/message/history/clean | 100/sec |
Channel management
| Endpoint | API URL | Rate limit |
|---|---|---|
| Pin a channel | /v4/channel/pin/set | 100/sec |
| Get channel attributes | /v4/channel/attribute/get | 100/sec |
| Set channel DND | /v4/channel/push/set | 100/sec |
| Get channel DND | /v4/channel/notification/get | 100/sec |
| Set DND by channel type | /v4/channel-type/notification/set | 100/sec |
| Get DND by channel type | /v4/channel-type/notification/get | 100/sec |
| Add user channel tag | /v4/user/channel/tag/add | 100/sec |
| Remove user channel tag | /v4/user/channel/tag/remove | 100/sec |
| Add tag to channel | /v4/channel/tag/add | 100/sec |
| Remove tag from channel | /v4/channel/tag/remove | 100/sec |
| Get channels by tag | /v4/channel/tag/list | 100/sec |
System messages
| Endpoint | API URL | Rate limit |
|---|---|---|
| Send a system message | /v4/system-channel/message/send | 100 msgs/sec (by recipient count) |
| Recall a system message | /v4/message/delete | 100/sec |
| Broadcast to all users (persistent) | /v4/system-channel/message/broadcast-all | 2/hour, 3/day |
| Broadcast to online users | /v4/system-channel/message/broadcast-online | 60/min |
| Push to tagged users | /v4/system-channel/push | 2/hour, 3/day (shared) |
| Push by app package name | /v4/system-channel/push | 2/hour, 3/day (shared) |
| Recall broadcast to all users | /v4/system-channel/message/broadcast/delete | 2/hour, 3/day |
Group channel management
| Endpoint | API URL | Rate limit |
|---|---|---|
| Create a group | /v4/group-channel/create | 100/sec |
| Dismiss a group | /v4/group-channel/dismiss | 100/sec |
| Join a group | /v4/group-channel/join | 100/sec |
| Leave a group | /v4/group-channel/quit | 100/sec |
| Query group members | /v4/group-channel/member/list | 100/sec |
| Query user's groups | /v4/group-channel/joined/list | 100/sec |
| Update group info | /v4/group-channel/profile/update | 100/sec |
Group channel mute and freeze
| Endpoint | API URL | Rate limit |
|---|---|---|
| Mute a group member | /v4/group-channel/user/mute-list/add | 100/sec |
| Unmute a group member | /v4/group-channel/user/mute-list/remove | 100/sec |
| List muted group members | /v4/group-channel/user/mute-list-get | 100/sec |
| Freeze a group | /v4/group-channel/freeze-list/add | 100/sec |
| Unfreeze a group | /v4/group-channel/freeze-list/remove | 100/sec |
| Query group freeze status | /v4/group-channel/freeze-list/get | 100/sec |
| Add to allowed senders list | /v4/group-channel/allowed-sender-list/add | 100/sec |
| Remove from allowed senders list | /v4/group-channel/allowed-sender-list/remove | 100/sec |
| Query allowed senders list | /v4/group-channel/allowed-sender-list/get | 100/sec |
Open channel management
| Endpoint | API URL | Rate limit |
|---|---|---|
| Create an open channel | /v4/open-channel/create | 100/sec |
| Set auto-destroy type | /v4/open-channel/destroy-type/set | 100/sec |
| Destroy an open channel | /v4/open-channel/destroy | 100/sec |
| Get open channel info | /v4/open-channel/get | 100/sec |
Open channel participants and moderation
| Endpoint | API URL | Rate limit |
|---|---|---|
| List participants | /v4/open-channel/participant/list | 100/sec |
| Check if a user is a participant | /v4/open-channel/participant/exist | 100/sec |
| Batch check participants | /v4/open-channel/participant/exist | 100/sec |
| Mute a participant | /v4/open-channel/participant/mute-list/add | 100/sec |
| Unmute a participant | /v4/open-channel/participant/mute-list/remove | 100/sec |
| List muted participants | /v4/open-channel/participant/mute-list/get | 100/sec |
| Freeze an open channel | /v4/open-channel/freeze-list/add | 100/sec |
| Unfreeze an open channel | /v4/open-channel/freeze-list/remove | 100/sec |
| List frozen open channels | /v4/open-channel/freeze-list/get | 100/sec |
| Check open channel freeze status | /v4/open-channel/freeze/check | 100/sec |
| Add to allowed senders list | /v4/open-channel/participant/allowed-sender-list/add | 100/sec |
| Remove from allowed senders list | /v4/open-channel/participant/allowed-sender-list/remove | 100/sec |
| Query allowed senders list | /v4/open-channel/participant/allowed-sender-list/get | 100/sec |
| Mute a user globally | /v4/open-channel/participant/global-mute-list/add | 100/sec |
| Unmute a user globally | /v4/open-channel/participant/global-mute-list/remove | 100/sec |
| List globally muted users | /v4/open-channel/participant/global-mute-list/get | 100/sec |
| Ban a participant | /v4/open-channel/participant/ban-list/add | 100/sec |
| Unban a participant | /v4/open-channel/participant/ban-list/remove | 100/sec |
| List banned participants | /v4/open-channel/participant/ban-list/get | 100/sec |
Open channel metadata (KV)
tip
The rate limits marked "shared" in this section do not have independent quotas. Set and batch-set share a combined limit of 100 attributes per second. Delete and batch-delete share a separate combined limit of 100 attributes per second.
| Endpoint | API URL | Rate limit |
|---|---|---|
| Batch set metadata | /v4/open-channel/metadata/batch/set | 100 attrs/sec (shared) |
| Batch delete metadata | /v4/open-channel/metadata/batch/remove | 100 attrs/sec (shared) |
| Query metadata | /v4/open-channel/metadata/batch/get | 100/sec |
Open channel message priority
| Endpoint | API URL | Rate limit |
|---|---|---|
| Add low-priority message types | /v4/open-channel/low-priority-message-type-list/add | 100/sec |
| Remove low-priority message types | /v4/open-channel/low-priority-message-type-list/remove | 100/sec |
| Query low-priority message types | /v4/open-channel/low-priority-message-type-list/get | 100/sec |
Open channel priority senders and priority messages
| Endpoint | API URL | Rate limit |
|---|---|---|
| Add priority senders | /v4/open-channel/participant/priority-sender-list/add | 100/sec |
| Remove priority senders | /v4/open-channel/participant/priority-sender-list/remove | 100/sec |
| Query priority senders | /v4/open-channel/participant/priority-sender-list/get | 100/sec |
| Add priority message types | /v4/open-channel/priority-message-type-list/add | 100/sec |
| Remove priority message types | /v4/open-channel/priority-message-type-list/remove | 100/sec |
| Query priority message types | /v4/open-channel/priority-message-type-list/get | 100/sec |