curl --request GET \
--url https://apix.us.amity.co/api/v4/channels/{channelId}/users \
--header 'Authorization: Bearer <token>'import requests
url = "https://apix.us.amity.co/api/v4/channels/{channelId}/users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apix.us.amity.co/api/v4/channels/{channelId}/users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apix.us.amity.co/api/v4/channels/{channelId}/users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apix.us.amity.co/api/v4/channels/{channelId}/users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://apix.us.amity.co/api/v4/channels/{channelId}/users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apix.us.amity.co/api/v4/channels/{channelId}/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"channels": [
{
"channelId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<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",
"avatarFileId": "<string>",
"isDeleted": false,
"messagePreviewId": "<string>",
"isPublic": true,
"notificationMode": "default",
"attachedTo": {
"postId": "<string>",
"videoStreamId": "<string>",
"roomId": "<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"
}
],
"users": [
{
"userId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<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,
"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
}
}
}
],
"paging": {
"next": "<string>",
"prev": "<string>"
}
}{
"status": "error",
"code": 400300,
"message": "Forbidden error."
}{
"status": "error",
"code": 400400,
"message": "Resource Not Found."
}{
"status": "error",
"code": 400311,
"message": "RateLimit Exceed."
}{
"status": "error",
"code": 500000,
"message": "Unexpected error"
}Query Channel Users
curl --request GET \
--url https://apix.us.amity.co/api/v4/channels/{channelId}/users \
--header 'Authorization: Bearer <token>'import requests
url = "https://apix.us.amity.co/api/v4/channels/{channelId}/users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apix.us.amity.co/api/v4/channels/{channelId}/users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apix.us.amity.co/api/v4/channels/{channelId}/users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apix.us.amity.co/api/v4/channels/{channelId}/users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://apix.us.amity.co/api/v4/channels/{channelId}/users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apix.us.amity.co/api/v4/channels/{channelId}/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"channels": [
{
"channelId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<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",
"avatarFileId": "<string>",
"isDeleted": false,
"messagePreviewId": "<string>",
"isPublic": true,
"notificationMode": "default",
"attachedTo": {
"postId": "<string>",
"videoStreamId": "<string>",
"roomId": "<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"
}
],
"users": [
{
"userId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"_id": "<string>",
"path": "<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,
"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
}
}
}
],
"paging": {
"next": "<string>",
"prev": "<string>"
}
}{
"status": "error",
"code": 400300,
"message": "Forbidden error."
}{
"status": "error",
"code": 400400,
"message": "Resource Not Found."
}{
"status": "error",
"code": 400311,
"message": "RateLimit Exceed."
}{
"status": "error",
"code": 500000,
"message": "Unexpected error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Channel ID to query users from
1 - 900Query Parameters
Role to filter
1 - 20 elements1 - 900Sort channel users by createdAt or updatedAt, default is lastCreated
lastCreated, firstCreated Member type to filter - member type: User is member of channel - banned type: User is banned member of channel - muted type: User is member of channel but isMuted is true
1 - 3 elementsmuted, banned, member Number of results per page (1-100)
1 <= x <= 100Pagination token for getting next/previous pages
1000Keyword to search for in user information such as displayName, profileHandle, and userId. The search is case-insensitive and supports partial matches.
10000Fields to search channel users for the keyword (up to 3 fields can be specified)
displayName - search by display name
profileHandle - search by profile handle
userId - search by user id
Default is all three fields
3displayName, profileHandle, userId filter deleted members if isDeleted is null, will return both deleted and non-deleted members