POST
/
api
/
v3
/
channels
Create channel
curl --request POST \
  --url https://apix.us.amity.co/api/v3/channels \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "channelId": "<string>",
  "type": "community",
  "displayName": "<string>",
  "avatarFileId": "<string>",
  "metadata": {},
  "tags": [
    "<string>"
  ],
  "userIds": [
    "<string>"
  ],
  "isMuted": true,
  "messageAutoDeleteEnabled": true,
  "autoDeleteMessageByFlagLimit": 500.5,
  "isPublic": true,
  "notificationMode": "default",
  "videoStreamId": "<string>",
  "postId": "<string>"
}'
{
"channels": [
{
"_id": "<string>",
"path": "<string>",
"channelId": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"isDistinct": true,
"metadata": {},
"type": "standard",
"tags": [
"<string>"
],
"isMuted": true,
"isRateLimited": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"rateLimit": 123,
"rateLimitWindow": 123,
"rateLimitTimeout": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"messageAutoDeleteEnabled": true,
"autoDeleteMessageByFlagLimit": 123,
"memberCount": 123,
"messageCount": 123,
"lastActivity": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"avatarFileId": "<string>",
"isDeleted": false,
"messagePreviewId": "<string>",
"isPublic": true,
"notificationMode": "default",
"attachedTo": {
"postId": "<string>",
"videoStreamId": "<string>"
}
}
],
"channelUsers": [
{
"userId": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"channelId": "<string>",
"channelInternalId": "<string>",
"channelPublicId": "<string>",
"membership": "none",
"isBanned": true,
"lastActivity": "2023-11-07T05:31:56Z",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"readToSegment": 123,
"lastMentionedSegment": 123,
"isMuted": true,
"muteTimeout": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messagePreviews": [
{
"messageId": "a85dca058f5b585f86a29f14",
"channelId": "abc665aed9dbb8d036037eed",
"messageFeedId": "507f191e810c19729de860ea",
"segment": 123,
"dataType": "text",
"data": {
"text": "test"
},
"creatorId": "5349b4ddd2781d08c09890f4",
"parentId": "abc665afd7dbb8d036037eea",
"isDeleted": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"messageFeedsInfo": [
{
"messageFeedId": "a85dca058f5b585f86a29f14",
"name": "text",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"messagePreviewId": "<string>"
}
],
"users": [
{
"_id": "<string>",
"path": "<string>",
"userId": "<string>",
"userInternalId": "<string>",
"userPublicId": "<string>",
"roles": [
"<string>"
],
"permissions": [
"MUTE_CHANNEL"
],
"displayName": "<string>",
"profileHandle": "<string>",
"description": "<string>",
"avatarFileId": "<string>",
"avatarCustomUrl": "<string>",
"flagCount": 123,
"hashFlag": {
"bits": 123,
"hashes": 123,
"hash": [
"<string>"
]
},
"metadata": {},
"isGlobalBan": true,
"isBrand": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"isDeleted": true
}
],
"files": [
{
"fileId": "<string>",
"fileUrl": "<string>",
"type": "image",
"accessType": "public",
"altText": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"attributes": {
"name": "<string>",
"extension": "<string>",
"size": 123,
"mimeType": "<string>",
"metadata": {
"exif": {},
"gps": {},
"height": 123,
"width": 123,
"isFull": true
}
}
}
]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Information of channel to be created

channelId
string

A unique identifier for the channel. Maximum length is 100 characters.

Maximum length: 100
type
enum<string>
default:community

Type of the channel. Options are 'community', 'live', or 'broadcast'. Default is 'community'.

Available options:
community,
live,
broadcast
displayName
string

The display name for the channel. Maximum length is 100 characters.

Maximum length: 100
avatarFileId
string

The ID of the file to be used as the channel's avatar. Maximum length is 50 characters.

Maximum length: 50
metadata
object

Additional metadata associated with the channel. Can include custom properties.

tags
string[]

List of tags associated with the channel. Maximum of 10 tags, each up to 100 characters long.

Maximum length: 10
userIds
string[]

List of user IDs to be added to the channel. Maximum of 1000 user IDs, each up to 50 characters long.

Maximum length: 1000
isMuted
boolean

Indicates whether the channel is muted by default for all users.

messageAutoDeleteEnabled
boolean

Indicates whether automatic deletion of messages is enabled for the channel.

autoDeleteMessageByFlagLimit
number

The number of flags required to automatically delete a message. Must be between 1 and 1000.

Required range: 1 <= x <= 1000
isPublic
boolean

Indicates whether the channel is public and visible to all users.

notificationMode
enum<string>

The notification mode for the channel:

  • default - Automatically register push notifications.
  • silent - Do not send notifications.
  • subscribe - Send notifications only to subscribed users.
Available options:
default,
silent,
subscribe
videoStreamId
string

The ID of the parent live video stream (must be a parent stream, not a child stream). This is required when postId is provided. When provided, the channel will be associated with this live stream so that users can perform live chat and live reaction.

postId
string

The ID of the post that videoStreamId belongs to. This required when videoStreamId is provided.

Response

Channels Information

channels
object[]
channelUsers
object[]

List of users in channel with membership and role. Normally, it will return only caller as user. However, it will return all users in conversation channel. For ban/unban events, it will return banned users.

messagePreviews
object[]

Depends on messagePreviewId. if null will be empty array.

messageFeedsInfo
object[]

Depends on messagePreviews. if empty array will be empty array.

users
object[]
files
object[]