Appearance
Common
About 7459 wordsAbout 25 min
Curl SDK - Video API
Table of Contents
- GetApp
- ListBlockLists
- CreateBlockList
- UpdateBlockList
- DeleteBlockList
- ListDevices
- CreateDevice
- DeleteDevice
- CreateGuest
- LongPoll
- GetOG
- CreatePoll
- UpdatePoll
- QueryPolls
- GetPoll
- UpdatePollPartial
- DeletePoll
- CreatePollOption
- UpdatePollOption
- GetPollOption
- DeletePollOption
- QueryPollVotes
- UpdatePushNotificationPreferences
- UploadFile
- DeleteFile
- UploadImage
- DeleteImage
- ListUserGroups
- CreateUserGroup
- SearchUserGroups
- GetUserGroup
- UpdateUserGroup
- DeleteUserGroup
- AddUserGroupMembers
- RemoveUserGroupMembers
- QueryUsers
- UpdateUsers
- UpdateUsersPartial
- GetBlockedUsers
- BlockUsers
- GetUserLiveLocations
- UpdateLiveLocation
- UnblockUsers
- Types Reference
GetApp
Retrieve the current application settings to understand the existing configuration. Use this method when you need to view or verify your app's settings.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/app" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetApplicationResponse
ListBlockLists
Obtain a list of all block lists to review and manage content restrictions. Use this method to see existing block lists in your application.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/blocklists?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListBlockListResponse
Parameters
Query Parameters:
team(string)
CreateBlockList
Create a new block list to define content restrictions for your application. Use this method when you need to add a new set of rules for blocking content.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/blocklists" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"words": ["value1", "value2"],
"is_plural_check_enabled": true,
"type": "messaging"
}'Example: with team and is_leet_check_enabled
curl -X POST "https://video.stream-io-api.com/api/v2/blocklists" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"words": ["value1", "value2"],
"is_leet_check_enabled": true,
"team": "example_value"
}'Response: CreateBlockListResponse
Parameters
Request Body:
is_leet_check_enabled(bool)is_plural_check_enabled(bool)name(string) (required): Block list nameteam(string)type(string): Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, wordwords([]string) (required): List of words to block
UpdateBlockList
Modify an existing block list to change its rules or settings. Use this method when updates or corrections are needed for a block list.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/blocklists/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"is_leet_check_enabled": true,
"is_plural_check_enabled": true
}'Example: with team and words
curl -X PUT "https://video.stream-io-api.com/api/v2/blocklists/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"team": "example_value",
"words": ["value1", "value2"]
}'Response: UpdateBlockListResponse
Parameters
Path Parameters:
name(string) (required)
Request Body:
is_leet_check_enabled(bool)is_plural_check_enabled(bool)team(string)words([]string): List of words to block
DeleteBlockList
Remove a block list that is no longer needed to clean up old or unused content restrictions. Use this method when you want to permanently delete a block list.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/blocklists/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
name(string) (required)
Query Parameters:
team(string)
ListDevices
Retrieve a list of all connected devices to manage and monitor them efficiently. Use this method to view and select devices for further operations.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/devices" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListDevicesResponse
CreateDevice
Add a new device to your network for improved management and integration. Use this method when you need to register a new device to the system.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/devices" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"push_provider": "example_value",
"push_provider_name": "example_value",
"voip_token": true
}'Response: Response
Parameters
Request Body:
id(string) (required): Device IDpush_provider(string) (required): Push providerpush_provider_name(string): Push provider namevoip_token(bool): When true the token is for Apple VoIP push notifications
DeleteDevice
Remove a device from your system when it is no longer needed or to free up resources. Use this method to maintain an updated list of active devices.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/devices?id=example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Query Parameters:
id(string) (required)
CreateGuest
Generate a temporary guest profile to grant limited access to resources. Use this method to provide short-term access without creating a permanent user account.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/guest" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} }
}'Response: CreateGuestResponse
Parameters
Request Body:
user(UserRequest) (required): User object which server acts upon
LongPoll
The LongPoll method establishes a persistent connection to receive real-time updates from a server, ideal for applications that require immediate data synchronization without constant reconnections. Use this method when you need to efficiently handle continuous data streams or server events with minimal latency.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/longpoll?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Parameters
Query Parameters:
json()connection_id(string)
GetOG
Retrieves Open Graph metadata for a video, which can be used to enhance video sharing and display on social media platforms.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/og?url=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetOGResponse
Parameters
Query Parameters:
url(string) (required)
CreatePoll
Initiate a new poll to gather feedback or opinions from users, ideal for engagement and decision-making processes.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"allow_answers": true,
"id": "example-id"
}'Example: with allow_user_suggested_options and description
curl -X POST "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"allow_user_suggested_options": true,
"description": "example_value"
}'Example: with enforce_unique_vote and Custom
curl -X POST "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"Custom": {},
"enforce_unique_vote": true
}'Example: with is_closed and max_votes_allowed
curl -X POST "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"is_closed": true,
"max_votes_allowed": 1
}'Response: PollResponse
Parameters
Request Body:
Custom(object)allow_answers(bool): Indicates whether users can suggest user defined answersallow_user_suggested_options(bool)description(string): A description of the pollenforce_unique_vote(bool): Indicates whether users can cast multiple votesid(string)is_closed(bool): Indicates whether the poll is open for votingmax_votes_allowed(int): Indicates the maximum amount of votes a user can castname(string) (required): The name of the polloptions([]PollOptionInput)voting_visibility(string)
UpdatePoll
Modify existing poll details to correct or enhance information, ensuring the poll remains relevant and accurate.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"Custom": {},
"allow_answers": true
}'Example: with allow_user_suggested_options and description
curl -X PUT "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"allow_user_suggested_options": true,
"description": "example_value"
}'Example: with enforce_unique_vote and is_closed
curl -X PUT "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"enforce_unique_vote": true,
"is_closed": true
}'Example: with max_votes_allowed and options
curl -X PUT "https://video.stream-io-api.com/api/v2/polls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"max_votes_allowed": 1,
"options": [{ "id": "example-id", "custom": {} }]
}'Response: PollResponse
Parameters
Request Body:
Custom(object)allow_answers(bool): Allow answersallow_user_suggested_options(bool): Allow user suggested optionsdescription(string): Poll descriptionenforce_unique_vote(bool): Enforce unique voteid(string) (required): Poll IDis_closed(bool): Is closedmax_votes_allowed(int): Max votes allowedname(string) (required): Poll nameoptions([]PollOptionRequest): Poll optionsvoting_visibility(string): Voting visibility
QueryPolls
Search and retrieve a list of polls based on specific criteria, useful for managing and analyzing multiple polls efficiently.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/polls/query?user_id=user-123" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1
}'Example: with filter and sort
curl -X POST "https://video.stream-io-api.com/api/v2/polls/query?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"sort": [{ "direction": 1 }]
}'Example: with next and prev
curl -X POST "https://video.stream-io-api.com/api/v2/polls/query?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"prev": "example_value"
}'Response: QueryPollsResponse
Parameters
Query Parameters:
user_id(string)
Request Body:
filter(object): Filter to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
GetPoll
Access detailed information about a specific poll, providing insights into its current status and content.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/polls/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: PollResponse
Parameters
Path Parameters:
poll_id(string) (required)
Query Parameters:
user_id(string)
UpdatePollPartial
Make targeted changes to specific fields of a poll without altering the entire structure, enabling quick updates and customization.
Example
curl -X PATCH "https://video.stream-io-api.com/api/v2/polls/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"set": {},
"unset": ["value1", "value2"]
}'Response: PollResponse
Parameters
Path Parameters:
poll_id(string) (required)
Request Body:
set(object): Sets new field valuesunset([]string): Array of field names to unset
DeletePoll
Remove a poll permanently, useful for managing outdated or irrelevant polls to maintain a clean and organized system.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/polls/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
poll_id(string) (required)
Query Parameters:
user_id(string)
CreatePollOption
Add a new option to an existing poll, allowing for expanded choices and more comprehensive feedback from participants.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/polls/example_value/options" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"text": "Hello, World!",
"Custom": {}
}'Response: PollOptionResponse
Parameters
Path Parameters:
poll_id(string) (required)
Request Body:
Custom(object)text(string) (required): Option text
UpdatePollOption
Edit an existing poll option to ensure accuracy and clarity, improving participant understanding and response quality.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/polls/example_value/options" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"text": "Hello, World!",
"Custom": {}
}'Response: PollOptionResponse
Parameters
Path Parameters:
poll_id(string) (required)
Request Body:
Custom(object)id(string) (required): Option IDtext(string) (required): Option text
GetPollOption
Retrieve details about a specific poll option, useful for analyzing its role and impact within the poll.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/polls/example_value/options/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: PollOptionResponse
Parameters
Path Parameters:
poll_id(string) (required)option_id(string) (required)
Query Parameters:
user_id(string)
DeletePollOption
Removes a specific option from a poll, useful for managing and updating active polls by eliminating outdated or incorrect options.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/polls/example_value/options/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
poll_id(string) (required)option_id(string) (required)
Query Parameters:
user_id(string)
QueryPollVotes
Retrieves the current vote counts for each option in a poll, providing insights into poll results and participant preferences.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/polls/example_value/votes?user_id=user-123" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1
}'Example: with filter and sort
curl -X POST "https://video.stream-io-api.com/api/v2/polls/example_value/votes?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"sort": [{ "direction": 1 }]
}'Example: with next and prev
curl -X POST "https://video.stream-io-api.com/api/v2/polls/example_value/votes?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"prev": "example_value"
}'Response: PollVotesResponse
Parameters
Path Parameters:
poll_id(string) (required)
Query Parameters:
user_id(string)
Request Body:
filter(object): Filter to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
UpdatePushNotificationPreferences
Allows users to customize their push notification settings, ensuring they receive only the notifications that are most relevant to them.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/push_preferences" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"preferences": [{ "call_level": "example_value" }]
}'Response: UpsertPushPreferencesResponse
Parameters
Request Body:
preferences([]PushPreferenceInput) (required): A list of push preferences for channels, calls, or the user.
UploadFile
Upload a file to the server for storage or processing. Use this method to add new files to your application, ensuring they are accessible for future operations.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/uploads/file" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"file": "example_value",
"user": { "id": "example-id" }
}'Response: FileUploadResponse
Parameters
Request Body:
file(string): file fielduser(OnlyUserID): user for the request server side only
DeleteFile
Remove a file from the server to free up space or eliminate outdated content. Use this method when you need to delete unnecessary or obsolete files.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/uploads/file?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Query Parameters:
url(string)
UploadImage
Upload an image to the server for use or display within your application. Use this method to add new images that enhance your application's content or user interface.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/uploads/image" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"file": "example_value",
"upload_sizes": [{ "crop": "example_value" }]
}'Example: with user
curl -X POST "https://video.stream-io-api.com/api/v2/uploads/image" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id" }
}'Response: ImageUploadResponse
Parameters
Request Body:
file(string)upload_sizes([]ImageSize): field with JSON-encoded array of image size configurationsuser(OnlyUserID)
DeleteImage
Remove an image from the server to manage storage and update visual content. Use this method when you need to delete images that are no longer required or have been replaced.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/uploads/image?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Query Parameters:
url(string)
ListUserGroups
Obtain a list of all user groups within the system, which is helpful for managing user access and permissions effectively.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/usergroups?limit=10&id_gt=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with created_at_gt and team_id
curl -X GET "https://video.stream-io-api.com/api/v2/usergroups?created_at_gt=example_value&team_id=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListUserGroupsResponse
Parameters
Query Parameters:
limit(int)id_gt(string)created_at_gt(string)team_id(string)
CreateUserGroup
Establish a new user group to organize users and define their access levels, facilitating better management of permissions and collaboration.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/usergroups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"description": "example_value",
"id": "example-id"
}'Example: with member_ids and team_id
curl -X POST "https://video.stream-io-api.com/api/v2/usergroups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"member_ids": ["id-1", "id-2"],
"team_id": "example_value"
}'Response: CreateUserGroupResponse
Parameters
Request Body:
description(string): An optional description for the groupid(string): Optional user group ID. If not provided, a UUID v7 will be generatedmember_ids([]string): Optional initial list of user IDs to add as membersname(string) (required): The user friendly name of the user groupteam_id(string): Optional team ID to scope the group to a team
SearchUserGroups
Find specific user groups based on certain criteria, making it easier to manage and organize users within the system.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/usergroups/search?query=example_value&limit=10&name_gt=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with id_gt and team_id
curl -X GET "https://video.stream-io-api.com/api/v2/usergroups/search?query=example_value&id_gt=example_value&team_id=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: SearchUserGroupsResponse
Parameters
Query Parameters:
query(string) (required)limit(int)name_gt(string)id_gt(string)team_id(string)
GetUserGroup
Retrieve detailed information about a specific user group, which is useful for reviewing group settings and making informed access management decisions.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/usergroups/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetUserGroupResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
team_id(string)
UpdateUserGroup
Modify the settings or membership of an existing user group to keep your user organization and permissions current and effective.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/usergroups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"description": "example_value",
"name": "Example Name"
}'Example: with team_id
curl -X PUT "https://video.stream-io-api.com/api/v2/usergroups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"team_id": "example_value"
}'Response: UpdateUserGroupResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
description(string): The new description for the groupname(string): The new name of the user groupteam_id(string)
DeleteUserGroup
Remove a user group from the system when it's no longer needed, simplifying user management and ensuring that permissions are not unnecessarily extended.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/usergroups/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
team_id(string)
AddUserGroupMembers
Use this method to add members to a user group, enabling them to access group-specific resources and features. This is helpful when you need to expand group participation or grant permissions to new users.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/usergroups/example-id/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"member_ids": ["id-1", "id-2"],
"as_admin": true,
"team_id": "example_value"
}'Response: AddUserGroupMembersResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
as_admin(bool): Whether to add the members as group admins. Defaults to falsemember_ids([]string) (required): List of user IDs to add as membersteam_id(string)
RemoveUserGroupMembers
This method allows you to remove members from a user group, restricting their access to group-specific resources and features. It is useful when you need to manage group membership or revoke permissions from users who no longer require access.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/usergroups/example-id/members/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"member_ids": ["id-1", "id-2"],
"team_id": "example_value"
}'Response: RemoveUserGroupMembersResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
member_ids([]string) (required): List of user IDs to removeteam_id(string)
QueryUsers
Search and retrieve user information based on specific criteria. Use this method to access user data for analysis, management, or reporting purposes.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/users?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: QueryUsersResponse
Parameters
Query Parameters:
payload()
UpdateUsers
Add or modify user information to keep your user database current. Use this method when you need to create new user profiles or update existing ones with the latest details.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"users": ["user-123", "user-456"]
}'Response: UpdateUsersResponse
Parameters
Request Body:
users(object) (required): Object containing users
UpdateUsersPartial
Make targeted updates to specific user fields without altering the entire profile. Use this method for efficient updates to user data, such as changing an email address or phone number.
Example
curl -X PATCH "https://video.stream-io-api.com/api/v2/users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"users": ["user-123", "user-456"]
}'Response: UpdateUsersResponse
Parameters
Request Body:
users([]UpdateUserPartialRequest) (required)
GetBlockedUsers
Retrieve a list of users who have been blocked, allowing you to manage or review blocked accounts for moderation purposes.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/users/block" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetBlockedUsersResponse
BlockUsers
Prevent specified users from accessing certain features or content by adding them to the blocked list, useful for maintaining community standards.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/users/block" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"blocked_user_id": "user-123"
}'Response: BlockUsersResponse
Parameters
Request Body:
blocked_user_id(string) (required): User id to block
GetUserLiveLocations
Access the real-time location data of users who have shared their location, useful for tracking or providing location-based services.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/users/live_locations" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: SharedLocationsResponse
UpdateLiveLocation
Modify the current live location of a user, ensuring that location-based services receive accurate and up-to-date information.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/users/live_locations" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"message_id": "message-789",
"end_at": 1.0,
"latitude": 1.0
}'Example: with longitude
curl -X PUT "https://video.stream-io-api.com/api/v2/users/live_locations" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"message_id": "message-789",
"longitude": 1.0
}'Response: SharedLocationResponse
Parameters
Request Body:
end_at(float): Time when the live location expireslatitude(float): Latitude coordinatelongitude(float): Longitude coordinatemessage_id(string) (required): Live location ID
UnblockUsers
Remove users from the blocked list, restoring their access to previously restricted features or content.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/users/unblock" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"blocked_user_id": "user-123"
}'Response: UnblockUsersResponse
Parameters
Request Body:
blocked_user_id(string) (required)
Types Reference
This section documents the types/interfaces used in this API. These types are extracted from the OpenAPI specification.
Action
// Action
{
"name": "string",
"style": "string",
"text": "string",
"type": "string",
"value": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | |
| text | string | Yes | |
| type | string | Yes | |
| style | string | No | |
| value | string | No |
AddUserGroupMembersResponse
Response for adding members to a user group
// AddUserGroupMembersResponse
{
"duration": "string",
"user_group": UserGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
AppResponseFields
// AppResponseFields
{
"async_url_enrich_enabled": false,
"auto_translation_enabled": false,
"file_upload_config": FileUploadConfig,
"id": 0,
"image_upload_config": FileUploadConfig,
"name": "string",
"placement": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async_url_enrich_enabled | boolean | Yes | |
| auto_translation_enabled | boolean | Yes | |
| file_upload_config | FileUploadConfig | Yes | |
| id | number | Yes | |
| image_upload_config | FileUploadConfig | Yes | |
| name | string | Yes | |
| placement | string | Yes |
BlockListResponse
Block list contains restricted words
// BlockListResponse
{
"created_at": 0,
"id": "string",
"is_leet_check_enabled": false,
"is_plural_check_enabled": false,
"name": "string",
"team": "string",
"type": "string",
"updated_at": 0,
"words": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| is_leet_check_enabled | boolean | Yes | |
| is_plural_check_enabled | boolean | Yes | |
| name | string | Yes | Block list name |
| type | string | Yes | Block list type. One of: regex, domain, domain_allowlist, email, email_allowl... |
| words | string[] | Yes | List of words to block |
| created_at | number | No | Date/time of creation |
| id | string | No | |
| team | string | No | |
| updated_at | number | No | Date/time of the last update |
BlockUsersResponse
// BlockUsersResponse
{
"blocked_by_user_id": "string",
"blocked_user_id": "string",
"created_at": 0,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocked_by_user_id | string | Yes | User id who blocked another user |
| blocked_user_id | string | Yes | User id who got blocked |
| created_at | number | Yes | Timestamp when the user was blocked |
| duration | string | Yes | Duration of the request in milliseconds |
BlockedUserResponse
// BlockedUserResponse
{
"blocked_user": UserResponse,
"blocked_user_id": "string",
"created_at": 0,
"user": UserResponse,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocked_user | UserResponse | Yes | User who got blocked |
| blocked_user_id | string | Yes | ID of the user who got blocked |
| created_at | number | Yes | |
| user | UserResponse | Yes | User who blocked another user |
| user_id | string | Yes | ID of the user who blocked another user |
ChannelResponse
Represents channel in chat
// ChannelResponse
{
"auto_translation_enabled": false,
"auto_translation_language": "string",
"blocked": false,
"cid": "string",
"config": ChannelConfigWithInfo,
"cooldown": 0,
"created_at": 0,
"created_by": UserResponse,
"custom": {},
"deleted_at": 0,
"disabled": false,
"filter_tags": [],
"frozen": false,
"hidden": false,
"hide_messages_before": 0,
"id": "string",
"last_message_at": 0,
"member_count": 0,
"members": [],
"message_count": 0,
"mute_expires_at": 0,
"muted": false,
"own_capabilities": [],
"team": "string",
"truncated_at": 0,
"truncated_by": UserResponse,
"type": "string",
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| cid | string | Yes | Channel CID (<type>:<id>) |
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | Custom data for this object |
| disabled | boolean | Yes | |
| frozen | boolean | Yes | Whether channel is frozen or not |
| id | string | Yes | Channel unique ID |
| type | string | Yes | Type of the channel |
| updated_at | number | Yes | Date/time of the last update |
| auto_translation_enabled | boolean | No | Whether auto translation is enabled or not |
| auto_translation_language | string | No | Language to translate to when auto translation is active |
| blocked | boolean | No | Whether this channel is blocked by current user or not |
| config | ChannelConfigWithInfo | No | Channel configuration |
| cooldown | number | No | Cooldown period after sending each message |
| created_by | UserResponse | No | Creator of the channel |
| deleted_at | number | No | Date/time of deletion |
| filter_tags | string[] | No | List of filter tags associated with the channel |
| hidden | boolean | No | Whether this channel is hidden by current user or not |
| hide_messages_before | number | No | Date since when the message history is accessible |
| last_message_at | number | No | Date of the last message sent |
| member_count | number | No | Number of members in the channel |
| members | ChannelMemberResponse[] | No | List of channel members (max 100) |
| message_count | number | No | Number of messages in the channel |
| mute_expires_at | number | No | Date of mute expiration |
| muted | boolean | No | Whether this channel is muted or not |
| own_capabilities | ChannelOwnCapability[] | No | List of channel capabilities of authenticated user |
| team | string | No | Team the channel belongs to (multi-tenant only) |
| truncated_at | number | No | Date of the latest truncation of the channel |
| truncated_by | UserResponse | No |
ChatPreferencesInput
// ChatPreferencesInput
{
"channel_mentions": "all",
"default_preference": "all",
"direct_mentions": "all",
"group_mentions": "all",
"here_mentions": "all",
"role_mentions": "all",
"thread_replies": "all"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_mentions | 'all' | 'none' | No |
| default_preference | 'all' | 'none' | No |
| direct_mentions | 'all' | 'none' | No |
| group_mentions | 'all' | 'none' | No |
| here_mentions | 'all' | 'none' | No |
| role_mentions | 'all' | 'none' | No |
| thread_replies | 'all' | 'none' | No |
CreateBlockListResponse
Basic response information
// CreateBlockListResponse
{
"blocklist": BlockListResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| blocklist | BlockListResponse | No |
CreateGuestResponse
// CreateGuestResponse
{
"access_token": "string",
"duration": "string",
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_token | string | Yes | the access token to authenticate the user |
| duration | string | Yes | Duration of the request in milliseconds |
| user | UserResponse | Yes | User object which server acts upon |
CreateUserGroupResponse
Response for creating a user group
// CreateUserGroupResponse
{
"duration": "string",
"user_group": UserGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_group | UserGroupResponse | No | The created user group |
DeviceResponse
Response for Device
// DeviceResponse
{
"created_at": 0,
"disabled": false,
"disabled_reason": "string",
"id": "string",
"push_provider": "string",
"push_provider_name": "string",
"user_id": "string",
"voip": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | Date/time of creation |
| id | string | Yes | Device ID |
| push_provider | string | Yes | Push provider |
| user_id | string | Yes | User ID |
| disabled | boolean | No | Whether device is disabled or not |
| disabled_reason | string | No | Reason explaining why device had been disabled |
| push_provider_name | string | No | Push provider name |
| voip | boolean | No | When true the token is for Apple VoIP push notifications |
FeedsPreferences
// FeedsPreferences
{
"comment": "all",
"comment_mention": "all",
"comment_reaction": "all",
"comment_reply": "all",
"custom_activity_types": {},
"follow": "all",
"mention": "all",
"reaction": "all"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | 'all' | 'none' | No |
| comment_mention | 'all' | 'none' | No |
| comment_reaction | 'all' | 'none' | No |
| comment_reply | 'all' | 'none' | No |
| custom_activity_types | Record<string, any> | No | Push notification preferences for custom activity types. Map of activity type... |
| follow | 'all' | 'none' | No |
| mention | 'all' | 'none' | No |
| reaction | 'all' | 'none' | No |
Field
// Field
{
"short": false,
"title": "string",
"value": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| short | boolean | Yes | |
| title | string | Yes | |
| value | string | Yes |
FileUploadResponse
// FileUploadResponse
{
"duration": "string",
"file": "string",
"thumb_url": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| file | string | No | URL to the uploaded asset. Should be used to put to asset_url attachment field |
| thumb_url | string | No | URL of the file thumbnail for supported file formats. Should be put to `thumb... |
FullUserResponse
// FullUserResponse
{
"avg_response_time": 0,
"ban_expires": 0,
"banned": false,
"blocked_user_ids": [],
"channel_mutes": [],
"created_at": 0,
"custom": {},
"deactivated_at": 0,
"deleted_at": 0,
"devices": [],
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"last_active": 0,
"latest_hidden_channels": [],
"mutes": [],
"name": "string",
"online": false,
"privacy_settings": PrivacySettingsResponse,
"revoke_tokens_issued_before": 0,
"role": "string",
"shadow_banned": false,
"teams": [],
"teams_role": {},
"total_unread_count": 0,
"unread_channels": 0,
"unread_count": 0,
"unread_threads": 0,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | boolean | Yes | |
| blocked_user_ids | string[] | Yes | |
| channel_mutes | ChannelMute[] | Yes | |
| created_at | number | Yes | |
| custom | Record<string, any> | Yes | |
| devices | DeviceResponse[] | Yes | |
| id | string | Yes | |
| invisible | boolean | Yes | |
| language | string | Yes | |
| mutes | UserMuteResponse[] | Yes | |
| online | boolean | Yes | |
| role | string | Yes | |
| shadow_banned | boolean | Yes | |
| teams | string[] | Yes | |
| total_unread_count | number | Yes | |
| unread_channels | number | Yes | |
| unread_count | number | Yes | |
| unread_threads | number | Yes | |
| updated_at | number | Yes | |
| avg_response_time | number | No | |
| ban_expires | number | No | |
| deactivated_at | number | No | |
| deleted_at | number | No | |
| image | string | No | |
| last_active | number | No | |
| latest_hidden_channels | string[] | No | |
| name | string | No | |
| privacy_settings | PrivacySettingsResponse | No | |
| revoke_tokens_issued_before | number | No | |
| teams_role | Record<string, any> | No |
GetApplicationResponse
Basic response information
// GetApplicationResponse
{
"app": AppResponseFields,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app | AppResponseFields | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
GetBlockedUsersResponse
// GetBlockedUsersResponse
{
"blocks": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocks | BlockedUserResponse[] | Yes | Array of blocked user object |
| duration | string | Yes | Duration of the request in milliseconds |
GetOGResponse
// GetOGResponse
{
"actions": [],
"asset_url": "string",
"author_icon": "string",
"author_link": "string",
"author_name": "string",
"color": "string",
"custom": {},
"duration": "string",
"fallback": "string",
"fields": [],
"footer": "string",
"footer_icon": "string",
"giphy": Images,
"image_url": "string",
"og_scrape_url": "string",
"original_height": 0,
"original_width": 0,
"pretext": "string",
"text": "string",
"thumb_url": "string",
"title": "string",
"title_link": "string",
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | Yes | |
| duration | string | Yes | |
| actions | Action[] | No | |
| asset_url | string | No | URL of detected video or audio |
| author_icon | string | No | |
| author_link | string | No | og:site |
| author_name | string | No | og:site_name |
| color | string | No | |
| fallback | string | No | |
| fields | Field[] | No | |
| footer | string | No | |
| footer_icon | string | No | |
| giphy | Images | No | |
| image_url | string | No | URL of detected image |
| og_scrape_url | string | No | extracted url from the text |
| original_height | number | No | |
| original_width | number | No | |
| pretext | string | No | |
| text | string | No | og:description |
| thumb_url | string | No | URL of detected thumb image |
| title | string | No | og:title |
| title_link | string | No | og:url |
| type | string | No | Attachment type, could be empty, image, audio or video |
GetUserGroupResponse
Response for getting a user group
// GetUserGroupResponse
{
"duration": "string",
"user_group": UserGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_group | UserGroupResponse | No | The user group |
ImageSize
// ImageSize
{
"crop": "string",
"height": 0,
"resize": "string",
"width": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| crop | string | No | Crop mode. One of: top, bottom, left, right, center |
| height | number | No | Target image height |
| resize | string | No | Resize method. One of: clip, crop, scale, fill |
| width | number | No | Target image width |
ImageUploadResponse
// ImageUploadResponse
{
"duration": "string",
"file": "string",
"thumb_url": "string",
"upload_sizes": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| file | string | No | |
| thumb_url | string | No | |
| upload_sizes | ImageSize[] | No | Array of image size configurations |
Images
// Images
{
"fixed_height": ImageData,
"fixed_height_downsampled": ImageData,
"fixed_height_still": ImageData,
"fixed_width": ImageData,
"fixed_width_downsampled": ImageData,
"fixed_width_still": ImageData,
"original": ImageData
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| fixed_height | ImageData | Yes | |
| fixed_height_downsampled | ImageData | Yes | |
| fixed_height_still | ImageData | Yes | |
| fixed_width | ImageData | Yes | |
| fixed_width_downsampled | ImageData | Yes | |
| fixed_width_still | ImageData | Yes | |
| original | ImageData | Yes |
ListBlockListResponse
Basic response information
// ListBlockListResponse
{
"blocklists": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocklists | BlockListResponse[] | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
ListDevicesResponse
List devices response
// ListDevicesResponse
{
"devices": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| devices | DeviceResponse[] | Yes | List of devices |
| duration | string | Yes |
ListUserGroupsResponse
Response for listing user groups
// ListUserGroupsResponse
{
"duration": "string",
"user_groups": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_groups | UserGroupResponse[] | Yes | List of user groups |
MessageResponse
Represents any chat message
// MessageResponse
{
"attachments": [],
"cid": "string",
"command": "string",
"created_at": 0,
"custom": {},
"deleted_at": 0,
"deleted_for_me": false,
"deleted_reply_count": 0,
"draft": DraftResponse,
"html": "string",
"i18n": {},
"id": "string",
"image_labels": {},
"latest_reactions": [],
"member": ChannelMemberResponse,
"mentioned_channel": false,
"mentioned_group_ids": [],
"mentioned_here": false,
"mentioned_roles": [],
"mentioned_users": [],
"message_text_updated_at": 0,
"mml": "string",
"moderation": ModerationV2Response,
"own_reactions": [],
"parent_id": "string",
"pin_expires": 0,
"pinned": false,
"pinned_at": 0,
"pinned_by": UserResponse,
"poll": PollResponseData,
"poll_id": "string",
"quoted_message": MessageResponse,
"quoted_message_id": "string",
"reaction_counts": {},
"reaction_groups": {},
"reaction_scores": {},
"reminder": ReminderResponseData,
"reply_count": 0,
"restricted_visibility": [],
"shadowed": false,
"shared_location": SharedLocationResponseData,
"show_in_channel": false,
"silent": false,
"text": "string",
"thread_participants": [],
"type": "string",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Attachment[] | Yes | Array of message attachments |
| cid | string | Yes | Channel unique identifier in <type>:<id> format |
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | |
| deleted_reply_count | number | Yes | |
| html | string | Yes | Contains HTML markup of the message. Can only be set when using server-side API |
| id | string | Yes | Message ID is unique string identifier of the message |
| latest_reactions | ReactionResponse[] | Yes | List of 10 latest reactions to this message |
| mentioned_channel | boolean | Yes | Whether the message mentioned the channel tag |
| mentioned_here | boolean | Yes | Whether the message mentioned online users with @here tag |
| mentioned_users | UserResponse[] | Yes | List of mentioned users |
| own_reactions | ReactionResponse[] | Yes | List of 10 latest reactions of authenticated user to this message |
| pinned | boolean | Yes | Whether message is pinned or not |
| reaction_counts | Record<string, any> | Yes | An object containing number of reactions of each type. Key: reaction type (st... |
| reaction_scores | Record<string, any> | Yes | An object containing scores of reactions of each type. Key: reaction type (st... |
| reply_count | number | Yes | Number of replies to this message |
| restricted_visibility | string[] | Yes | A list of user ids that have restricted visibility to the message, if the lis... |
| shadowed | boolean | Yes | Whether the message was shadowed or not |
| silent | boolean | Yes | Whether message is silent or not |
| text | string | Yes | Text of the message. Should be empty if mml is provided |
| type | string | Yes | Contains type of the message. One of: regular, ephemeral, error, reply, syste... |
| updated_at | number | Yes | Date/time of the last update |
| user | UserResponse | Yes | Sender of the message. Required when using server-side API |
| command | string | No | Contains provided slash command |
| deleted_at | number | No | Date/time of deletion |
| deleted_for_me | boolean | No | |
| draft | DraftResponse | No | |
| i18n | Record<string, any> | No | Object with translations. Key language contains the original language key. ... |
| image_labels | Record<string, any> | No | Contains image moderation information |
| member | ChannelMemberResponse | No | Channel member data for the message sender including only the channel_role |
| mentioned_group_ids | string[] | No | List of user group IDs mentioned in the message. Group members who are also c... |
| mentioned_roles | string[] | No | List of roles mentioned in the message (e.g. admin, channel_moderator, custom... |
| message_text_updated_at | number | No | |
| mml | string | No | Should be empty if text is provided. Can only be set when using server-side... |
| moderation | ModerationV2Response | No | |
| parent_id | string | No | ID of parent message (thread) |
| pin_expires | number | No | Date when pinned message expires |
| pinned_at | number | No | Date when message got pinned |
| pinned_by | UserResponse | No | Contains user who pinned the message |
| poll | PollResponseData | No | |
| poll_id | string | No | Identifier of the poll to include in the message |
| quoted_message | MessageResponse | No | Contains quoted message |
| quoted_message_id | string | No | |
| reaction_groups | Record<string, any> | No | |
| reminder | ReminderResponseData | No | |
| shared_location | SharedLocationResponseData | No | Contains shared location data |
| show_in_channel | boolean | No | Whether thread reply should be shown in the channel as well |
| thread_participants | UserResponse[] | No | List of users who participate in thread |
OnlyUserID
// OnlyUserID
{
"id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes |
PollOptionInput
// PollOptionInput
{
"custom": {},
"text": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | No | |
| text | string | No |
PollOptionRequest
// PollOptionRequest
{
"custom": {},
"id": "string",
"text": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | |
| custom | Record<string, any> | No | |
| text | string | No |
PollOptionResponse
// PollOptionResponse
{
"duration": "string",
"poll_option": PollOptionResponseData
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| poll_option | PollOptionResponseData | Yes | Poll option |
PollOptionResponseData
// PollOptionResponseData
{
"custom": {},
"id": "string",
"text": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | Yes | |
| id | string | Yes | |
| text | string | Yes |
PollResponse
// PollResponse
{
"duration": "string",
"poll": PollResponseData
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| poll | PollResponseData | Yes | Poll |
PollResponseData
// PollResponseData
{
"allow_answers": false,
"allow_user_suggested_options": false,
"answers_count": 0,
"created_at": 0,
"created_by": UserResponse,
"created_by_id": "string",
"custom": {},
"description": "string",
"enforce_unique_vote": false,
"id": "string",
"is_closed": false,
"latest_answers": [],
"latest_votes_by_option": {},
"max_votes_allowed": 0,
"name": "string",
"options": [],
"own_votes": [],
"updated_at": 0,
"vote_count": 0,
"vote_counts_by_option": {},
"voting_visibility": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allow_answers | boolean | Yes | |
| allow_user_suggested_options | boolean | Yes | |
| answers_count | number | Yes | |
| created_at | number | Yes | |
| created_by_id | string | Yes | |
| custom | Record<string, any> | Yes | |
| description | string | Yes | |
| enforce_unique_vote | boolean | Yes | |
| id | string | Yes | |
| latest_answers | PollVoteResponseData[] | Yes | |
| latest_votes_by_option | Record<string, any> | Yes | |
| name | string | Yes | |
| options | PollOptionResponseData[] | Yes | |
| own_votes | PollVoteResponseData[] | Yes | |
| updated_at | number | Yes | |
| vote_count | number | Yes | |
| vote_counts_by_option | Record<string, any> | Yes | |
| voting_visibility | string | Yes | |
| created_by | UserResponse | No | |
| is_closed | boolean | No | |
| max_votes_allowed | number | No |
PollVoteResponseData
// PollVoteResponseData
{
"answer_text": "string",
"created_at": 0,
"id": "string",
"is_answer": false,
"option_id": "string",
"poll_id": "string",
"updated_at": 0,
"user": UserResponse,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | |
| id | string | Yes | |
| option_id | string | Yes | |
| poll_id | string | Yes | |
| updated_at | number | Yes | |
| answer_text | string | No | |
| is_answer | boolean | No | |
| user | UserResponse | No | |
| user_id | string | No |
PollVotesResponse
// PollVotesResponse
{
"duration": "string",
"next": "string",
"prev": "string",
"votes": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| votes | PollVoteResponseData[] | Yes | Poll votes |
| next | string | No | |
| prev | string | No |
PrivacySettingsResponse
// PrivacySettingsResponse
{
"delivery_receipts": DeliveryReceiptsResponse,
"read_receipts": ReadReceiptsResponse,
"typing_indicators": TypingIndicatorsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| delivery_receipts | DeliveryReceiptsResponse | No | |
| read_receipts | ReadReceiptsResponse | No | |
| typing_indicators | TypingIndicatorsResponse | No |
PushPreferenceInput
// PushPreferenceInput
{
"call_level": "all",
"channel_cid": "string",
"chat_level": "all",
"chat_preferences": ChatPreferencesInput,
"disabled_until": 0,
"feeds_level": "all",
"feeds_preferences": FeedsPreferences,
"remove_disable": false,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_level | 'all' | 'none' | 'default' |
| channel_cid | string | No | Set the push preferences for a specific channel. If empty it sets the default... |
| chat_level | 'all' | 'mentions' | 'direct_mentions' |
| chat_preferences | ChatPreferencesInput | No | |
| disabled_until | number | No | Disable push notifications till a certain time |
| feeds_level | 'all' | 'none' | 'default' |
| feeds_preferences | FeedsPreferences | No | Set granular feeds preferences for reactions, comments, new followers, mentio... |
| remove_disable | boolean | No | Remove the disabled until time. (IE stop snoozing notifications) |
| user_id | string | No | The user id for which to set the push preferences. Required when using server... |
QueryPollsResponse
// QueryPollsResponse
{
"duration": "string",
"next": "string",
"polls": [],
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| polls | PollResponseData[] | Yes | Polls data returned by the query |
| next | string | No | |
| prev | string | No |
QueryUsersResponse
// QueryUsersResponse
{
"duration": "string",
"users": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| users | FullUserResponse[] | Yes | Array of users as result of filters applied. |
RemoveUserGroupMembersResponse
Response for removing members from a user group
// RemoveUserGroupMembersResponse
{
"duration": "string",
"user_group": UserGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
Response
Basic response information
// Response
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
SearchUserGroupsResponse
Response for searching user groups
// SearchUserGroupsResponse
{
"duration": "string",
"user_groups": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_groups | UserGroupResponse[] | Yes | List of matching user groups |
SharedLocationResponse
// SharedLocationResponse
{
"channel": ChannelResponse,
"channel_cid": "string",
"created_at": 0,
"created_by_device_id": "string",
"duration": "string",
"end_at": 0,
"latitude": 0,
"longitude": 0,
"message": MessageResponse,
"message_id": "string",
"updated_at": 0,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_cid | string | Yes | Channel CID |
| created_at | number | Yes | Date/time of creation |
| created_by_device_id | string | Yes | Device ID that created the live location |
| duration | string | Yes | |
| latitude | number | Yes | Latitude coordinate |
| longitude | number | Yes | Longitude coordinate |
| message_id | string | Yes | Message ID |
| updated_at | number | Yes | Date/time of the last update |
| user_id | string | Yes | User ID |
| channel | ChannelResponse | No | |
| end_at | number | No | Time when the live location expires |
| message | MessageResponse | No |
SharedLocationResponseData
// SharedLocationResponseData
{
"channel": ChannelResponse,
"channel_cid": "string",
"created_at": 0,
"created_by_device_id": "string",
"end_at": 0,
"latitude": 0,
"longitude": 0,
"message": MessageResponse,
"message_id": "string",
"updated_at": 0,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_cid | string | Yes | |
| created_at | number | Yes | |
| created_by_device_id | string | Yes | |
| latitude | number | Yes | |
| longitude | number | Yes | |
| message_id | string | Yes | |
| updated_at | number | Yes | |
| user_id | string | Yes | |
| channel | ChannelResponse | No | |
| end_at | number | No | |
| message | MessageResponse | No |
SharedLocationsResponse
// SharedLocationsResponse
{
"active_live_locations": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| active_live_locations | SharedLocationResponseData[] | Yes | |
| duration | string | Yes |
SortParamRequest
// SortParamRequest
{
"direction": 0,
"field": "string",
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| direction | number | No | Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One o... |
| field | string | No | Name of field to sort by |
| type | string | No | Type of field to sort by. Empty string or omitted means string type (default)... |
UnblockUsersResponse
// UnblockUsersResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
UpdateBlockListResponse
Basic response information
// UpdateBlockListResponse
{
"blocklist": BlockListResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| blocklist | BlockListResponse | No |
UpdateUserGroupResponse
Response for updating a user group
// UpdateUserGroupResponse
{
"duration": "string",
"user_group": UserGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
UpdateUserPartialRequest
// UpdateUserPartialRequest
{
"id": "string",
"set": {},
"unset": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | User ID to update |
| set | Record<string, any> | No | |
| unset | string[] | No |
UpdateUsersResponse
// UpdateUsersResponse
{
"duration": "string",
"membership_deletion_task_id": "string",
"users": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| membership_deletion_task_id | string | Yes | |
| users | Record<string, any> | Yes | Object containing users |
UpsertPushPreferencesResponse
// UpsertPushPreferencesResponse
{
"duration": "string",
"user_channel_preferences": {},
"user_preferences": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| user_channel_preferences | Record<string, any> | Yes | The channel specific push notification preferences, only returned for channel... |
| user_preferences | Record<string, any> | Yes | The user preferences, always returned regardless if you edited it |
UserGroupResponse
// UserGroupResponse
{
"created_at": 0,
"created_by": "string",
"description": "string",
"id": "string",
"members": [],
"name": "string",
"team_id": "string",
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | |
| id | string | Yes | |
| name | string | Yes | |
| updated_at | number | Yes | |
| created_by | string | No | |
| description | string | No | |
| members | UserGroupMember[] | No | |
| team_id | string | No |
UserRequest
User request object
// UserRequest
{
"custom": {},
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"name": "string",
"privacy_settings": PrivacySettingsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | User ID |
| custom | Record<string, any> | No | Custom user data |
| image | string | No | User's profile image URL |
| invisible | boolean | No | |
| language | string | No | |
| name | string | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No |
UserResponse
User response object
// UserResponse
{
"avg_response_time": 0,
"banned": false,
"blocked_user_ids": [],
"created_at": 0,
"custom": {},
"deactivated_at": 0,
"deleted_at": 0,
"id": "string",
"image": "string",
"language": "string",
"last_active": 0,
"name": "string",
"online": false,
"revoke_tokens_issued_before": 0,
"role": "string",
"teams": [],
"teams_role": {},
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | boolean | Yes | Whether a user is banned or not |
| blocked_user_ids | string[] | Yes | |
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | Custom data for this object |
| id | string | Yes | Unique user identifier |
| language | string | Yes | Preferred language of a user |
| online | boolean | Yes | Whether a user online or not |
| role | string | Yes | Determines the set of user permissions |
| teams | string[] | Yes | List of teams user is a part of |
| updated_at | number | Yes | Date/time of the last update |
| avg_response_time | number | No | |
| deactivated_at | number | No | Date of deactivation |
| deleted_at | number | No | Date/time of deletion |
| image | string | No | |
| last_active | number | No | Date of last activity |
| name | string | No | Optional name of user |
| revoke_tokens_issued_before | number | No | Revocation date for tokens |
| teams_role | Record<string, any> | No |