openapi: 3.0.3 info: title: Stream product:chat product:common API version: v228.3.0 servers: - description: Stream API url: https://chat.stream-io-api.com security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] tags: - name: product:common paths: /api/v2/app: get: description: 'This Method returns the application settings ' operationId: GetApp responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetApplicationResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get App Settings tags: - product:common patch: description: 'This Method updates one or more application settings ' operationId: UpdateApp requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update App Settings tags: - product:common /api/v2/blocklists: get: description: 'Returns all available block lists ' operationId: ListBlockLists parameters: - in: query name: team schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List block lists tags: - product:common post: description: 'Creates a new application blocklist, once created the blocklist can be used by any channel type ' operationId: CreateBlockList requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBlockListRequest' description: Block list required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create block list tags: - product:common /api/v2/blocklists/{name}: delete: description: 'Deletes previously created application blocklist ' operationId: DeleteBlockList parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team schema: type: string x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete block list tags: - product:common get: description: 'Returns block list by given name ' operationId: GetBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: '001' - in: query name: team schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetBlockListResponse' description: GetBlockListResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get block list tags: - product:common put: description: 'Updates contents of the block list ' operationId: UpdateBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListRequest' description: Update block list required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update block list tags: - product:common /api/v2/check_push: post: description: 'Sends a test message via push, this is a test endpoint to verify your push settings ' operationId: CheckPush requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPushRequest' description: CheckPushRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckPushResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check push tags: - product:common /api/v2/check_sns: post: description: 'Validates Amazon SNS configuration ' operationId: CheckSNS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSNSRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckSNSResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SNS tags: - product:common /api/v2/check_sqs: post: description: 'Validates Amazon SQS credentials ' operationId: CheckSQS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSQSRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckSQSResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SQS tags: - product:common /api/v2/devices: delete: description: 'Deletes one device ' operationId: DeleteDevice parameters: - in: query name: id required: true schema: description: Device ID to delete title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete device tags: - product:common get: description: 'Returns all available devices ' operationId: ListDevices parameters: - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' description: ListDevicesResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List devices tags: - product:common post: description: 'Adds a new device to a user, if the same device already exists the call will have no effect ' operationId: CreateDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeviceRequest' description: CreateDeviceRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create device tags: - product:common /api/v2/export/users: post: description: 'Exports user profile, reactions and messages for list of given users ' operationId: ExportUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export users tags: - product:common /api/v2/external_storage: get: description: 'Lists external storage ' operationId: ListExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List external storage tags: - product:common post: description: 'Creates new external storage ' operationId: CreateExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageRequest' description: CreateExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create external storage tags: - product:common /api/v2/external_storage/{name}: delete: description: 'Deletes external storage ' operationId: DeleteExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:common put: description: ' ' operationId: UpdateExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageRequest' description: ExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update External Storage tags: - product:common /api/v2/external_storage/{name}/check: get: description: ' ' operationId: CheckExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CheckExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check External Storage tags: - product:common /api/v2/guest: post: description: ' ' operationId: CreateGuest requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGuestRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateGuestResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Guest tags: - product:common /api/v2/import_urls: post: description: 'Creates a new import URL ' operationId: CreateImportURL requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportURLRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportURLResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import URL tags: - product:common /api/v2/imports: get: description: 'Gets an import ' operationId: ListImports responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListImportsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:common post: description: 'Creates a new import ' operationId: CreateImport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import tags: - product:common /api/v2/imports/{id}: get: description: 'Gets an import ' operationId: GetImport parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetImportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:common /api/v2/imports/v2: get: description: 'Lists all import v2 tasks for the app ' operationId: ListImportV2Tasks parameters: - in: query name: state schema: format: int32 type: integer writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListImportV2TasksResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List import v2 tasks tags: - product:common post: description: 'Creates a new import v2 task ' operationId: CreateImportV2Task requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskRequest' description: ClientRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import v2 task tags: - product:common /api/v2/imports/v2/{id}: delete: description: 'Deletes an import v2 task. Can only delete tasks in queued state. ' operationId: DeleteImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete import v2 task tags: - product:common get: description: 'Gets a single import v2 task by ID ' operationId: GetImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import v2 task tags: - product:common /api/v2/imports/v2/external-storage: delete: description: 'Removes the external storage configuration for the app. Idempotent: succeeds even if no configuration exists. ' operationId: DeleteImporterExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:common get: description: 'Returns the current external storage configuration for the app. Returns 404 if no configuration exists. ' operationId: GetImporterExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get external storage tags: - product:common put: description: 'Creates or updates the external storage configuration for the app. Currently only AWS S3 (via cross-account IAM role assumption) is supported. ' operationId: UpsertImporterExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert external storage tags: - product:common /api/v2/imports/v2/external-storage/validate: post: description: 'Validates the configured external S3 storage by performing a live STS AssumeRole and S3 ListObjectsV2 check. ' operationId: ValidateImporterExternalStorage responses: '201': content: application/json: schema: $ref: '#/components/schemas/ValidateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Validate external storage tags: - product:common /api/v2/og: get: description: 'Get an OpenGraph attachment for a link ' operationId: GetOG parameters: - in: query name: url required: true schema: description: URL to be scraped title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOGResponse' description: Get OG Attachment '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get OG tags: - product:common /api/v2/permissions: get: description: 'Lists all available permissions ' operationId: ListPermissions responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListPermissionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List permissions tags: - product:common /api/v2/permissions/{id}: get: description: 'Gets custom permission ' operationId: GetPermission parameters: - in: path name: id required: true schema: description: Permission ID title: ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCustomPermissionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get permission tags: - product:common /api/v2/polls: post: description: 'Creates a new poll ' operationId: CreatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollRequest' description: Create Poll Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll tags: - product:common put: description: 'Updates a poll Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated ' operationId: UpdatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll tags: - product:common /api/v2/polls/{poll_id}: delete: description: 'Deletes a poll Sends events: - feeds.poll.deleted - poll.deleted ' operationId: DeletePoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll tags: - product:common get: description: 'Retrieves a poll ' operationId: GetPoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll tags: - product:common patch: description: 'Updates a poll partially Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated ' operationId: UpdatePollPartial parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial update poll tags: - product:common /api/v2/polls/{poll_id}/options: post: description: 'Creates a poll option Sends events: - feeds.poll.updated - poll.updated ' operationId: CreatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollOptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll option tags: - product:common put: description: 'Updates a poll option Sends events: - feeds.poll.updated - poll.updated ' operationId: UpdatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollOptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll option tags: - product:common /api/v2/polls/{poll_id}/options/{option_id}: delete: description: 'Deletes a poll option Sends events: - feeds.poll.updated - poll.updated ' operationId: DeletePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll option tags: - product:common get: description: 'Retrieves a poll option ' operationId: GetPollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll option tags: - product:common /api/v2/polls/{poll_id}/votes: post: description: 'Queries votes ' operationId: QueryPollVotes parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollVotesRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollVotesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query votes tags: - product:common /api/v2/polls/query: post: description: 'Queries polls ' operationId: QueryPolls parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryPollsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query polls tags: - product:common /api/v2/push_preferences: post: description: 'Upserts the push preferences for a user and or channel member. Set to all, mentions or none ' operationId: UpdatePushNotificationPreferences requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Push notification preferences tags: - product:common /api/v2/push_providers: get: description: 'List details of all push providers. ' operationId: ListPushProviders responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListPushProvidersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List push providers tags: - product:common post: description: 'Upsert a push provider for v2 with multi bundle/package support ' operationId: UpsertPushProvider requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push provider tags: - product:common /api/v2/push_providers/{type}/{name}: delete: description: 'Delete a push provider from v2 with multi bundle/package support. v1 isn''t supported in this endpoint ' operationId: DeletePushProvider parameters: - in: path name: type required: true schema: enum: - apn - firebase - huawei - xiaomi type: string writeOnly: true x-stream-index: '001' - in: path name: name required: true schema: maxLength: 36 minLength: 1 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a push provider tags: - product:common /api/v2/push_templates: get: description: 'Retrieve push notification templates for Chat. ' operationId: GetPushTemplates parameters: - in: query name: push_provider_name schema: description: Push provider name to filter templates title: string type: string writeOnly: true x-stream-index: '002' - in: query name: push_provider_type required: true schema: description: 'Push provider type to filter templates. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetPushTemplatesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get push notification templates tags: - product:common post: description: 'Create or update a push notification template for a specific event type and push provider ' operationId: UpsertPushTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push notification template tags: - product:common /api/v2/rate_limits: get: description: 'Get rate limits usage and quotas ' operationId: GetRateLimits parameters: - in: query name: server_side schema: description: Whether to include server-side platform limits or not title: Server-side type: boolean writeOnly: true x-stream-index: '001' - in: query name: android schema: description: Whether to include Android platform limits or not title: Android type: boolean writeOnly: true x-stream-index: '002' - in: query name: ios schema: description: Whether to include iOS platform limits or not title: iOS type: boolean writeOnly: true x-stream-index: '003' - in: query name: web schema: description: Whether to include web platform limits or not title: Web type: boolean writeOnly: true x-stream-index: '004' - in: query name: endpoints schema: description: Specific endpoints to show limits for, as a comma-separated list of values title: Endpoints type: string writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRateLimitsResponse' description: Get Rate Limits Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get rate limits tags: - product:common /api/v2/roles: get: description: 'Lists all available roles ' operationId: ListRoles responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRolesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List roles tags: - product:common post: description: 'Creates custom role ' operationId: CreateRole requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRoleRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateRoleResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create role tags: - product:common /api/v2/roles/{name}: delete: description: 'Deletes custom role ' operationId: DeleteRole parameters: - in: path name: name required: true schema: description: Role name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete role tags: - product:common /api/v2/tasks/{id}: get: description: 'Gets status of a task ' operationId: GetTask parameters: - in: path name: id required: true schema: description: Task ID title: ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetTaskResponse' description: Get Task Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get status of a task tags: - product:common /api/v2/uploads/file: delete: description: 'Deletes previously uploaded file ' operationId: DeleteFile parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:common post: description: 'Uploads file ' operationId: UploadFile requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileUploadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:common /api/v2/uploads/image: delete: description: 'Deletes previously uploaded image ' operationId: DeleteImage parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:common post: description: 'Uploads image ' operationId: UploadImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ImageUploadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ImageUploadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:common /api/v2/usergroups: get: description: 'Lists user groups with cursor-based pagination ' operationId: ListUserGroups parameters: - in: query name: limit schema: format: int32 maximum: 100 minimum: 1 type: integer writeOnly: true x-stream-index: '001' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '002' - in: query name: created_at_gt schema: type: string writeOnly: true x-stream-index: '003' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListUserGroupsResponse' description: ListUserGroupsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List user groups tags: - product:common post: description: 'Creates a new user group, optionally with initial members ' operationId: CreateUserGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupRequest' description: CreateUserGroupRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupResponse' description: CreateUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create user group tags: - product:common /api/v2/usergroups/{id}: delete: description: 'Deletes a user group and all its members ' operationId: DeleteUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete user group tags: - product:common get: description: 'Gets a user group by ID, including its members ' operationId: GetUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetUserGroupResponse' description: GetUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user group tags: - product:common put: description: 'Updates a user group''s name and/or description. team_id is immutable. ' operationId: UpdateUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupRequest' description: UpdateUserGroupRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupResponse' description: UpdateUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update user group tags: - product:common /api/v2/usergroups/{id}/members: post: description: 'Adds members to a user group. All user IDs must exist. The operation is all-or-nothing. ' operationId: AddUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersRequest' description: AddUserGroupMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersResponse' description: AddUserGroupMembersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add user group members tags: - product:common /api/v2/usergroups/{id}/members/delete: post: description: 'Removes members from a user group. Users already not in the group are silently ignored. ' operationId: RemoveUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersRequest' description: RemoveUserGroupMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersResponse' description: RemoveUserGroupMembersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Remove user group members tags: - product:common /api/v2/usergroups/search: get: description: 'Searches user groups by name prefix for autocomplete ' operationId: SearchUserGroups parameters: - in: query name: query required: true schema: maxLength: 255 minLength: 1 type: string writeOnly: true x-stream-index: '001' - in: query name: limit schema: format: int32 maximum: 25 minimum: 1 type: integer writeOnly: true x-stream-index: '002' - in: query name: name_gt schema: type: string writeOnly: true x-stream-index: '003' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '004' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchUserGroupsResponse' description: SearchUserGroupsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search user groups tags: - product:common /api/v2/users: get: description: 'Find and filter users ' operationId: QueryUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryUsersPayload' x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query users tags: - product:common patch: description: 'Updates certain fields of the user Sends events: - user.presence.changed - user.updated ' operationId: UpdateUsersPartial requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update user tags: - product:common post: description: 'Update or create users in bulk Sends events: - user.updated ' operationId: UpdateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert users tags: - product:common /api/v2/users/{user_id}/deactivate: post: description: 'Deactivates user with possibility to activate it back Sends events: - user.deactivated ' operationId: DeactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeactivateUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate user tags: - product:common /api/v2/users/{user_id}/export: get: description: 'Exports the user''s profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions ' operationId: ExportUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export user tags: - product:common /api/v2/users/{user_id}/reactivate: post: description: 'Activates user who''s been deactivated previously Sends events: - user.reactivated ' operationId: ReactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReactivateUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate user tags: - product:common /api/v2/users/block: get: description: 'Get list of blocked Users ' operationId: GetBlockedUsers parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetBlockedUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get list of blocked Users tags: - product:common post: description: 'Block users ' operationId: BlockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/BlockUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Block user tags: - product:common /api/v2/users/deactivate: post: description: 'Deactivate users in batches Sends events: - user.deactivated ' operationId: DeactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersRequest' description: DeactivateUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate users tags: - product:common /api/v2/users/delete: post: description: 'Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted ' operationId: DeleteUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Users tags: - product:common /api/v2/users/live_locations: get: description: 'Retrieves all active live locations for a user ' operationId: GetUserLiveLocations parameters: - in: query name: user_id schema: description: User ID to get live locations for. If not provided, returns live locations for the authenticated user. title: string type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharedLocationsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user live locations tags: - product:common put: description: 'Updates an existing live location with new coordinates or expiration time ' operationId: UpdateLiveLocation parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '005.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateLiveLocationRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SharedLocationResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update live location tags: - product:common /api/v2/users/reactivate: post: description: 'Reactivate users in batches Sends events: - user.reactivated ' operationId: ReactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersRequest' description: ReactivateUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate users tags: - product:common /api/v2/users/restore: post: description: 'Restore soft deleted users ' operationId: RestoreUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore users tags: - product:common /api/v2/users/unblock: post: description: 'Unblock users ' operationId: UnblockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UnblockUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnblockUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unblock user tags: - product:common components: schemas: AsyncModerationCallbackConfig: properties: mode: enum: - CALLBACK_MODE_NONE - CALLBACK_MODE_REST - CALLBACK_MODE_TWIRP type: string x-stream-index: '002' server_url: type: string x-stream-index: '001' type: object CreateGuestResponse: nullable: true properties: access_token: description: the access token to authenticate the user title: Access token type: string x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' user: $ref: '#/components/schemas/UserResponse' description: User object which server acts upon title: User x-stream-index: '001' required: - user - access_token - duration type: object RTMPLocation: properties: name: type: string x-stream-index: '001' stream_key: type: string x-stream-index: '003' stream_url: type: string x-stream-index: '002' required: - name - stream_url - stream_key type: object CreateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object CreateBlockListRequest: description: Block list contains restricted words nullable: true properties: is_leet_check_enabled: type: boolean x-stream-index: '001' is_plural_check_enabled: type: boolean x-stream-index: '002' name: description: Block list name maxLength: 255 title: Name type: string x-stream-index: '003' team: type: string x-stream-index: '006' type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' enum: - regex - domain - domain_allowlist - email - email_allowlist - word title: Type type: string x-stream-index: '005' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '004' required: - name - words title: Block list type: object x-stream-docs-page-id: block_lists BlockUsersRequest: nullable: true properties: blocked_user_id: description: User id to block title: BlockedUserID type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - blocked_user_id type: object BlockListResponse: description: Block list contains restricted words properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001' id: type: string x-stream-index: '003' is_leet_check_enabled: type: boolean x-stream-index: 008 is_plural_check_enabled: type: boolean x-stream-index: 009 name: description: Block list name title: Name type: string x-stream-index: '004' team: type: string x-stream-index: '007' type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' title: Type type: string x-stream-index: '005' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '002' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '006' required: - name - type - words - is_leet_check_enabled - is_plural_check_enabled title: Block list type: object x-stream-docs-page-id: block_lists GetBlockListResponse: description: Response for get block list nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' description: Block list object title: BlockListResponse x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - duration title: GetBlockListResponse type: object x-stream-docs-page-id: get_block_list NotificationSettings: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '002' call_missed: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '006' call_notification: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '004' call_ring: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '005' enabled: type: boolean x-stream-index: '001' session_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '003' required: - enabled - call_live_started - session_started - call_notification - call_ring - call_missed type: object APIError: nullable: true properties: StatusCode: description: Response HTTP status code format: int32 title: Status code type: integer x-stream-index: '004' code: description: API error code format: int32 title: Code type: integer x-stream-index: '001' details: description: Additional error-specific information items: type: integer title: Details type: array x-stream-index: '007' duration: description: Request duration title: Duration type: string x-stream-index: '005' exception_fields: additionalProperties: type: string description: Additional error info title: Exception fields type: object x-stream-index: '003' message: description: Message describing an error title: Message type: string x-stream-index: '002' more_info: description: URL with additional information title: More info type: string x-stream-index: '006' unrecoverable: description: Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it title: Unrecoverable type: boolean x-stream-index: 008 required: - code - message - StatusCode - duration - more_info - details title: Error response type: object GetBlockedUsersResponse: nullable: true properties: blocks: description: Array of blocked user object items: $ref: '#/components/schemas/BlockedUserResponse' title: Blocks type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - blocks - duration type: object PollResponseData: properties: allow_answers: type: boolean x-stream-index: 008 allow_user_suggested_options: type: boolean x-stream-index: '007' answers_count: format: int32 type: integer x-stream-index: '012' created_at: format: date-time type: number x-stream-index: 019 created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: 018 created_by_id: type: string x-stream-index: '017' custom: additionalProperties: {} type: object x-stream-index: '021' description: type: string x-stream-index: '003' enforce_unique_vote: type: boolean x-stream-index: '005' id: type: string x-stream-index: '001' is_closed: type: boolean x-stream-index: 009 latest_answers: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '015' latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData' type: array type: object x-stream-index: '014' max_votes_allowed: format: int32 type: integer x-stream-index: '006' name: type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: '011' own_votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '016' updated_at: format: date-time type: number x-stream-index: '020' vote_count: format: int32 type: integer x-stream-index: '010' vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: '013' voting_visibility: type: string x-stream-index: '004' required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - custom type: object RecordSettings: properties: audio_only: type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '004' mode: type: string x-stream-index: '002' quality: type: string x-stream-index: '003' required: - mode type: object CreateUserGroupRequest: description: Request body for creating a user group nullable: true properties: description: description: An optional description for the group maxLength: 1024 title: Description type: string x-stream-index: '003' id: description: Optional user group ID. If not provided, a UUID v7 will be generated maxLength: 255 title: ID type: string x-stream-index: '001' member_ids: description: Optional initial list of user IDs to add as members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: '005' name: description: The user friendly name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: '002' team_id: description: Optional team ID to scope the group to a team maxLength: 255 title: Team ID type: string x-stream-index: '004' required: - name title: CreateUserGroupRequest type: object ChannelConfigWithInfo: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.029 blocklist: type: string x-stream-index: 001.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: '001.003' connect_events: type: boolean x-stream-index: 001.002.004 count_messages: type: boolean x-stream-index: 001.002.020 created_at: format: date-time type: number x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.013 delivery_events: type: boolean x-stream-index: 001.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 001.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.022 mutes: type: boolean x-stream-index: 001.002.010 name: type: string x-stream-index: 001.002.001 partition_size: format: int32 type: integer x-stream-index: 001.002.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 001.002.031 polls: type: boolean x-stream-index: 001.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.002.033 push_notifications: type: boolean x-stream-index: 001.002.014 quotes: type: boolean x-stream-index: 001.002.009 reactions: type: boolean x-stream-index: 001.002.007 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.015 replies: type: boolean x-stream-index: 001.002.008 search: type: boolean x-stream-index: 001.002.006 shared_locations: type: boolean x-stream-index: 001.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.002.032 typing_events: type: boolean x-stream-index: 001.002.002 updated_at: format: date-time type: number x-stream-index: 001.001.004 uploads: type: boolean x-stream-index: 001.002.011 url_enrichment: type: boolean x-stream-index: 001.002.012 user_message_reminders: type: boolean x-stream-index: 001.002.018 required: - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: object S3Request: description: Config for creating Amazon S3 storage. properties: s3_api_key: description: 'The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application.' title: S3ApiKey type: string x-stream-index: '002' s3_custom_endpoint_url: description: The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters. title: S3CustomEndpointURL type: string x-stream-index: '004' s3_region: description: The AWS region where the bucket is hosted title: S3Region type: string x-stream-index: '001' s3_secret: description: The AWS API Secret title: S3Secret type: string x-stream-index: '003' required: - s3_region title: S3Request type: object HuaweiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '003' id: type: string x-stream-index: '001' secret: type: string x-stream-index: '002' type: object ListExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' external_storages: additionalProperties: $ref: '#/components/schemas/ExternalStorageResponse' type: object x-stream-index: '002' required: - duration - external_storages title: Response type: object IngressVideoLayer: nullable: true properties: bitrate: minimum: 1000 type: integer x-stream-index: '002' codec: enum: - h264 - vp8 type: string x-stream-index: '001' frame_rate: maximum: 60 minimum: 1 type: integer x-stream-index: '003' max_dimension: minimum: 240 type: integer x-stream-index: '005' min_dimension: minimum: 240 type: integer x-stream-index: '004' required: - codec - bitrate - frame_rate - min_dimension - max_dimension type: object CreateImportRequest: nullable: true properties: merge_custom: type: boolean x-stream-index: '003' mode: enum: - insert - upsert type: string x-stream-index: '002' path: type: string x-stream-index: '001' required: - path - mode type: object UpdateUserPartialRequest: properties: id: description: User ID to update title: ID type: string x-stream-index: '001' set: additionalProperties: {} type: object x-stream-index: '002.001' unset: items: type: string type: array x-stream-index: '002.002' required: - id type: object GeofenceResponse: nullable: true properties: country_codes: items: type: string type: array x-stream-index: '004' description: type: string x-stream-index: '003' name: type: string x-stream-index: '001' type: type: string x-stream-index: '002' required: - name type: object PollResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: '001' required: - poll - duration type: object DataDogInfo: properties: api_key: type: string x-stream-index: '001' enabled: type: boolean x-stream-index: '003' site: type: string x-stream-index: '002' type: object LayoutSettings: properties: detect_orientation: type: boolean x-stream-index: '005' external_app_url: type: string x-stream-index: '003' external_css_url: type: string x-stream-index: '004' name: enum: - spotlight - grid - single-participant - mobile - custom type: string x-stream-index: '001' options: additionalProperties: {} type: object x-stream-index: '002' required: - name - external_app_url - external_css_url type: object UpdatePollPartialRequest: nullable: true properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: '002.001' x-stream-map: description: New value to set key: field title: Value unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: '002.002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: object CheckSQSRequest: nullable: true properties: sqs_key: description: AWS SQS access key title: SQS key type: string x-stream-index: '002' sqs_secret: description: AWS SQS key secret title: SQS secret type: string x-stream-index: '003' sqs_url: description: AWS SQS endpoint URL title: SQS URL type: string x-stream-index: '001' type: object PollVoteResponseData: nullable: true properties: answer_text: type: string x-stream-index: '005' created_at: format: date-time type: number x-stream-index: 008 id: type: string x-stream-index: '002' is_answer: type: boolean x-stream-index: '004' option_id: type: string x-stream-index: '003' poll_id: type: string x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - poll_id - id - option_id - created_at - updated_at type: object DeviceErrorInfo: properties: error_message: type: string x-stream-index: '003' provider: type: string x-stream-index: '001' provider_name: type: string x-stream-index: '002' required: - provider - provider_name - error_message type: object GetOGResponse: nullable: true properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: '001.015' asset_url: description: URL of detected video or audio title: Image URL type: string x-stream-index: '001.017' author_icon: type: string x-stream-index: '001.007' author_link: description: og:site title: Author Link type: string x-stream-index: '001.006' author_name: description: og:site_name title: Author Name type: string x-stream-index: '001.005' color: type: string x-stream-index: '001.003' custom: additionalProperties: {} type: object x-stream-index: '001.018' duration: type: string x-stream-index: '002.001' fallback: type: string x-stream-index: '001.002' fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: '001.016' footer: type: string x-stream-index: '001.013' footer_icon: type: string x-stream-index: '001.014' giphy: $ref: '#/components/schemas/Images' x-stream-index: '001.019' image_url: description: URL of detected image title: Image URL type: string x-stream-index: '001.011' og_scrape_url: description: extracted url from the text title: OG Scrape URL type: string x-stream-index: '001.020' original_height: format: int32 type: integer x-stream-index: '001.022' original_width: format: int32 type: integer x-stream-index: '001.021' pretext: type: string x-stream-index: '001.004' text: description: og:description title: Text type: string x-stream-index: '001.010' thumb_url: description: URL of detected thumb image title: Image URL type: string x-stream-index: '001.012' title: description: og:title title: Title type: string x-stream-index: '001.008' title_link: description: og:url title: Title Link type: string x-stream-index: '001.009' type: description: Attachment type, could be empty, image, audio or video title: Type type: string x-stream-index: '001.001' required: - custom - duration title: Get OG Attachment type: object x-stream-docs-page-id: og UpsertPushTemplateResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' template: $ref: '#/components/schemas/PushTemplateResponse' x-stream-index: '002' required: - duration title: Response type: object DeactivateUserResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: '001' required: - duration type: object GetApplicationResponse: description: Basic response information nullable: true properties: app: $ref: '#/components/schemas/AppResponseFields' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - app - duration title: Response type: object CheckSQSResponse: nullable: true properties: data: additionalProperties: {} description: Error data title: ReadOnlyData type: object x-stream-index: '003' duration: type: string x-stream-index: '004.001' error: description: Error text title: Error type: string x-stream-index: '002' status: description: 'Validation result. One of: ok, error' title: Status type: string x-stream-index: '001' required: - status - duration type: object TargetResolution: properties: bitrate: format: int32 maximum: 6000000 type: integer x-stream-index: '003' height: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '002' width: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '001' required: - width - height - bitrate type: object UpdateLiveLocationRequest: nullable: true properties: end_at: description: Time when the live location expires format: date-time title: string type: number x-stream-index: '004' latitude: description: Latitude coordinate format: float maximum: 90 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: '002' longitude: description: Longitude coordinate format: float maximum: 180 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: '003' message_id: description: Live location ID title: string type: string x-stream-index: '001' required: - message_id type: object DeleteUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: description: ID of the task to delete users title: Task ID type: string x-stream-index: '001' required: - task_id - duration type: object ReactivateUsersRequest: description: Reactivate users in batches nullable: true properties: created_by_id: description: ID of the user who's reactivating the users title: Created by ID type: string x-stream-index: '003' restore_channels: type: boolean x-stream-index: '004' restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: '002' user_ids: description: User IDs to reactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001' required: - user_ids title: ReactivateUsersRequest type: object AzureRequest: description: Config for creating Azure Blob Storage storage properties: abs_account_name: description: The account name title: AccountName type: string x-stream-index: '001' abs_client_id: description: The client id title: ClientID type: string x-stream-index: '003' abs_client_secret: description: The client secret title: ClientSecret type: string x-stream-index: '004' abs_tenant_id: description: The tenant id title: TenantID type: string x-stream-index: '002' required: - abs_account_name - abs_tenant_id - abs_client_id - abs_client_secret title: AzureRequest type: object GetRateLimitsResponse: nullable: true properties: android: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the Android platform title: Android type: object x-stream-index: '002' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name duration: type: string x-stream-index: '005.001' ios: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the iOS platform title: iOS type: object x-stream-index: '003' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name server_side: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the server-side platform title: Server-side type: object x-stream-index: '001' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name web: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the web platform title: Web type: object x-stream-index: '004' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name required: - duration title: Get Rate Limits Response type: object x-stream-docs-page-id: rate_limits UpsertPushTemplateRequest: nullable: true properties: enable_push: description: Whether to send push notification for this event title: boolean type: boolean x-stream-index: '002' event_type: description: 'Event type. One of: message.new, message.updated, reaction.new, notification.reminder_due, feeds.activity.added, feeds.comment.added, feeds.activity.reaction.added, feeds.comment.reaction.added, feeds.follow.created, feeds.notification_feed.updated' enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated title: string type: string x-stream-index: '003' push_provider_name: description: Push provider name title: string type: string x-stream-index: '004' push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string x-stream-index: '005' template: description: Push template title: string type: string x-stream-index: '006' required: - event_type - push_provider_type type: object CreateBlockListResponse: description: Basic response information nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - duration title: Response type: object ListDevicesResponse: description: List devices response nullable: true properties: devices: description: List of devices items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - devices - duration title: ListDevicesResponse type: object GetExternalStorageAWSS3Response: properties: bucket: type: string x-stream-index: '002' path_prefix: type: string x-stream-index: '004' region: type: string x-stream-index: '003' role_arn: type: string x-stream-index: '001' required: - role_arn - bucket - region type: object UpsertPushPreferencesResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' user_channel_preferences: additionalProperties: additionalProperties: $ref: '#/components/schemas/ChannelPushPreferencesResponse' type: object description: The channel specific push notification preferences, only returned for channels you've edited. title: User Channel Notification Preferences type: object x-stream-index: '002' user_preferences: additionalProperties: $ref: '#/components/schemas/PushPreferencesResponse' description: The user preferences, always returned regardless if you edited it title: User Preferences type: object x-stream-index: '001' required: - user_preferences - user_channel_preferences - duration type: object QueryUsersPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned: operators: - $eq type: boolean bypass_moderation: operators: - $eq - $ne type: boolean created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date email: operators: - $eq - $in type: string id: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string language: operators: - $eq - $ne type: string last_active: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string role: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string shadow_banned: operators: - $eq - $ne type: boolean teams: operators: - $_none - $contains - $eq - $in type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date username: operators: - $autocomplete - $eq type: string x-stream-index: '001' include_deactivated_users: type: boolean x-stream-index: '004' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' offset: format: int32 maximum: 1000 minimum: 0 type: integer x-stream-index: '005.002' presence: type: boolean x-stream-index: '003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' required: - filter_conditions type: object PollOptionResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' poll_option: $ref: '#/components/schemas/PollOptionResponseData' description: Poll option title: PollOptionResponseData x-stream-index: '001' required: - poll_option - duration type: object UpdateUserGroupRequest: description: Request body for updating a user group nullable: true properties: description: description: The new description for the group maxLength: 1024 title: Description type: string x-stream-index: '003' name: description: The new name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '004' title: UpdateUserGroupRequest type: object ReactionGroupResponse: description: ReactionGroupResponse contains all information about a reaction of the same type. nullable: true properties: count: description: Count is the number of reactions of this type. format: int32 title: Count type: integer x-stream-index: '001' first_reaction_at: description: FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting. format: date-time title: FirstReactionAt type: number x-stream-index: '003' last_reaction_at: description: LastReactionAt is the time of the last reaction of this type. format: date-time title: LastReactionAt type: number x-stream-index: '004' latest_reactions_by: description: The most recent users who reacted with this type, ordered by most recent first. items: $ref: '#/components/schemas/ReactionGroupUserResponse' title: LatestReactionsBy type: array x-stream-index: '005' sum_scores: description: 'SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`.' format: int32 title: SumScores type: integer x-stream-index: '002' required: - count - sum_scores - first_reaction_at - last_reaction_at - latest_reactions_by title: ReactionGroupResponse type: object PollVotesResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' votes: description: Poll votes items: $ref: '#/components/schemas/PollVoteResponseData' title: PollVoteResponseList type: array x-stream-index: '001' required: - votes - duration type: object DeactivateUserRequest: nullable: true properties: created_by_id: description: ID of the user who deactivated the user title: Created by ID type: string x-stream-index: '003' mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: '002' type: object CreateRoleRequest: nullable: true properties: name: description: Role name maxLength: 64 title: Name type: string x-stream-index: '001' required: - name type: object VideoSettings: properties: access_request_enabled: type: boolean x-stream-index: '002' camera_default_on: type: boolean x-stream-index: '004' camera_facing: enum: - front - back - external type: string x-stream-index: '005' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled - target_resolution - camera_default_on - camera_facing type: object ExportUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 25 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: object ThumbnailsSettings: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object UserGroupMember: nullable: true properties: app_pk: format: int64 type: integer x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '006' group_id: type: string x-stream-index: '003' is_admin: type: boolean x-stream-index: '005' user_id: type: string x-stream-index: '004' required: - app_pk - group_id - user_id - is_admin - created_at type: object SpeechSegmentConfig: properties: max_speech_caption_ms: format: int32 type: integer x-stream-index: '001' silence_duration_ms: format: int32 type: integer x-stream-index: '002' type: object CallSettings: properties: audio: $ref: '#/components/schemas/AudioSettings' x-stream-index: '001' backstage: $ref: '#/components/schemas/BackstageSettings' x-stream-index: '002' broadcasting: $ref: '#/components/schemas/BroadcastSettings' x-stream-index: 009 frame_recording: $ref: '#/components/schemas/FrameRecordSettings' x-stream-index: '006' geofencing: $ref: '#/components/schemas/GeofenceSettings' x-stream-index: '010' individual_recording: $ref: '#/components/schemas/IndividualRecordSettings' x-stream-index: '007' ingress: $ref: '#/components/schemas/IngressSettings' x-stream-index: '016' limits: $ref: '#/components/schemas/LimitsSettings' x-stream-index: '014' raw_recording: $ref: '#/components/schemas/RawRecordSettings' x-stream-index: 008 recording: $ref: '#/components/schemas/RecordSettings' x-stream-index: '005' ring: $ref: '#/components/schemas/RingSettings' x-stream-index: '012' screensharing: $ref: '#/components/schemas/ScreensharingSettings' x-stream-index: '004' session: $ref: '#/components/schemas/SessionSettings' x-stream-index: '015' thumbnails: $ref: '#/components/schemas/ThumbnailsSettings' x-stream-index: '013' transcription: $ref: '#/components/schemas/TranscriptionSettings' x-stream-index: '011' video: $ref: '#/components/schemas/VideoSettings' x-stream-index: '003' type: object NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object PushConfig: properties: offline_only: type: boolean x-stream-index: '002' version: enum: - v1 - v2 - v3 type: string x-stream-index: '001' required: - version type: object CheckSNSResponse: nullable: true properties: data: additionalProperties: {} description: Error data title: ReadOnlyData type: object x-stream-index: '003' duration: type: string x-stream-index: '004.001' error: description: Error text title: Error type: string x-stream-index: '002' status: description: 'Validation result. One of: ok, error' title: Status type: string x-stream-index: '001' required: - status - duration type: object ChannelOwnCapability: description: All possibility of string to use enum: - ban-channel-members - cast-poll-vote - connect-events - create-attachment - delete-any-message - delete-channel - delete-own-message - delivery-events - flag-message - freeze-channel - join-channel - leave-channel - mute-channel - pin-message - query-poll-votes - quote-message - read-events - search-messages - send-custom-events - send-links - send-message - send-poll - send-reaction - send-reply - send-restricted-visibility-message - send-typing-events - set-channel-cooldown - share-location - skip-slow-mode - slow-mode - typing-events - update-any-message - update-channel - update-channel-members - update-own-message - update-thread - upload-file title: ChannelOwnCapability type: string ReactionResponse: properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '006' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: 008 message_id: description: Message ID title: Message ID type: string x-stream-index: '001' score: description: Score of the reaction format: int32 title: Score type: integer x-stream-index: '005' type: description: Type of reaction title: Type type: string x-stream-index: '004' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '007' user: $ref: '#/components/schemas/UserResponse' description: User title: UserResponse x-stream-index: '003' user_id: description: User ID title: User ID type: string x-stream-index: '002' required: - message_id - user_id - user - type - score - created_at - updated_at - custom type: object CreateDeviceRequest: description: Create device request nullable: true properties: id: description: Device ID maxLength: 255 minLength: 1 title: ID type: string x-stream-index: '001' push_provider: description: Push provider enum: - firebase - apn - huawei - xiaomi title: PushProvider type: string x-stream-index: '002' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: '005.001' voip_token: description: When true the token is for Apple VoIP push notifications title: VoipToken type: boolean x-stream-index: '004' required: - id - push_provider title: CreateDeviceRequest type: object FullUserResponse: properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: format: date-time type: number x-stream-index: '016' banned: type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '015' bypass_moderation: type: boolean x-stream-index: '014' channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: '007' created_at: format: date-time type: number x-stream-index: '001.009' custom: additionalProperties: {} type: object x-stream-index: '001.004' deactivated_at: format: date-time type: number x-stream-index: '001.016' deleted_at: format: date-time type: number x-stream-index: '001.011' devices: items: $ref: '#/components/schemas/DeviceResponse' type: array x-stream-index: '004' id: type: string x-stream-index: '001.001' image: type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: '005' language: type: string x-stream-index: '001.005' last_active: format: date-time type: number x-stream-index: '001.014' latest_hidden_channels: items: type: string type: array x-stream-index: '012' mutes: items: $ref: '#/components/schemas/UserMuteResponse' type: array x-stream-index: '006' name: type: string x-stream-index: '001.002' online: type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '003' revoke_tokens_issued_before: format: date-time type: number x-stream-index: '001.015' role: type: string x-stream-index: '001.006' shadow_banned: type: boolean x-stream-index: '013' teams: items: type: string type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' total_unread_count: format: int32 type: integer x-stream-index: 009 unread_channels: format: int32 type: integer x-stream-index: '010' unread_count: format: int32 type: integer x-stream-index: 008 unread_threads: format: int32 type: integer x-stream-index: '011' updated_at: format: date-time type: number x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - invisible - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads - shadow_banned - blocked_user_ids type: object Permission: properties: action: description: Action name this permission is for (e.g. SendMessage) title: Action type: string x-stream-index: '004' condition: additionalProperties: {} description: MongoDB style condition which decides whether or not the permission is granted title: Condition type: object x-stream-index: '007' custom: description: Whether this is a custom permission or built-in title: Custom type: boolean x-stream-index: 009 description: description: Description of the permission title: Description type: string x-stream-index: '003' id: description: Unique permission ID title: ID type: string x-stream-index: '001' level: description: 'Level at which permission could be applied (app or channel). One of: app, channel' title: Level type: string x-stream-index: '010' name: description: Name of the permission title: Name type: string x-stream-index: '002' owner: description: Whether this permission applies to resource owner or not title: Owner type: boolean x-stream-index: '005' same_team: description: Whether this permission applies to teammates (multi-tenancy mode only) title: Same team type: boolean x-stream-index: '006' tags: description: List of tags of the permission items: type: string title: Tags type: array x-stream-index: '011' required: - id - name - description - action - owner - same_team - custom - level - tags type: object ListPermissionsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' permissions: items: $ref: '#/components/schemas/Permission' type: array x-stream-index: '001' required: - permissions - duration title: Response type: object GetImportV2TaskResponse: description: Basic response information nullable: true properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '007' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '009.001' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' result: readOnly: true type: object x-stream-index: '006' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: number x-stream-index: 008 required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: object UpdateExternalStorageResponse: description: Basic response information nullable: true properties: bucket: type: string x-stream-index: '001.003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' name: type: string x-stream-index: '001.001' path: type: string x-stream-index: '001.004' type: enum: - s3 - gcs - abs type: string x-stream-index: '001.002' required: - name - type - bucket - path - duration title: Response type: object IngressVideoEncodingOptions: properties: layers: items: $ref: '#/components/schemas/IngressVideoLayer' minItems: 1 type: array x-stream-index: '002' source: $ref: '#/components/schemas/IngressSource' x-stream-index: '001' required: - layers type: object GetExternalStorageResponse: description: Basic response information nullable: true properties: aws_s3: $ref: '#/components/schemas/GetExternalStorageAWSS3Response' x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '005.001' type: type: string x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: '004' required: - type - created_at - updated_at - duration title: Response type: object XiaomiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '003' package_name: type: string x-stream-index: '001' secret: type: string x-stream-index: '002' type: object UpsertPushPreferencesRequest: nullable: true properties: preferences: description: A list of push preferences for channels, calls, or the user. items: $ref: '#/components/schemas/PushPreferenceInput' type: array x-stream-index: '001' required: - preferences type: object CheckPushResponse: nullable: true properties: device_errors: additionalProperties: $ref: '#/components/schemas/DeviceErrorInfo' description: Object with device errors title: Device errors type: object x-stream-index: '001' x-stream-map: key: device_id duration: type: string x-stream-index: '008.001' event_type: description: The event type that was tested title: Event type type: string x-stream-index: '004' general_errors: description: List of general errors items: type: string title: General errors type: array x-stream-index: '002' rendered_apn_template: title: Rendered APN template type: string x-stream-index: '005' rendered_firebase_template: title: Rendered Firebase template type: string x-stream-index: '006' rendered_message: additionalProperties: type: string title: Rendered message type: object x-stream-index: '007' skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: '003' required: - duration type: object CreateImportV2TaskRequest: description: Client request nullable: true properties: product: enum: - chat - feeds type: string x-stream-index: '001' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - product - settings title: ClientRequest type: object Policy: properties: action: type: integer x-stream-index: '007' created_at: format: date-time type: number x-stream-index: '010' name: type: string x-stream-index: '004' owner: type: boolean x-stream-index: 008 priority: format: int32 type: integer x-stream-index: 009 resources: items: type: string type: array x-stream-index: '005' roles: items: type: string type: array x-stream-index: '006' updated_at: format: date-time type: number x-stream-index: '011' required: - name - resources - roles - action - owner - priority - created_at - updated_at type: object CreateImportV2TaskResponse: description: Basic response information nullable: true properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '006' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '008.001' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: number x-stream-index: '007' required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: object FeedsPreferencesResponse: properties: comment: type: string x-stream-index: '002' comment_mention: type: string x-stream-index: '006' comment_reaction: type: string x-stream-index: '004' comment_reply: type: string x-stream-index: '005' custom_activity_types: additionalProperties: type: string type: object x-stream-index: 008 follow: type: string x-stream-index: '001' mention: type: string x-stream-index: '007' reaction: type: string x-stream-index: '003' type: object PollOptionResponseData: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: '003' id: type: string x-stream-index: '001' text: type: string x-stream-index: '002' required: - id - text - custom type: object RemoveUserGroupMembersRequest: description: Request body for removing members from a user group nullable: true properties: member_ids: description: List of user IDs to remove items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '003' required: - member_ids title: RemoveUserGroupMembersRequest type: object UserMuteResponse: nullable: true properties: created_at: format: date-time type: number x-stream-index: '004' expires: format: date-time type: number x-stream-index: '003' target: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' updated_at: format: date-time type: number x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' required: - created_at - updated_at type: object HLSSettings: properties: auto_on: type: boolean x-stream-index: '001' enabled: type: boolean x-stream-index: '002' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '004' quality_tracks: items: type: string type: array x-stream-index: '003' required: - auto_on - enabled - quality_tracks type: object IngressSource: properties: fps: maximum: 60 minimum: 1 type: integer x-stream-index: '003' height: minimum: 2 type: integer x-stream-index: '002' width: minimum: 2 type: integer x-stream-index: '001' required: - width - height - fps type: object UpsertExternalStorageAWSS3Request: properties: bucket: type: string x-stream-index: '002' path_prefix: type: string x-stream-index: '004' region: type: string x-stream-index: '003' role_arn: type: string x-stream-index: '001' required: - role_arn - bucket - region type: object GetTaskResponse: nullable: true properties: created_at: format: date-time type: number x-stream-index: '001.003' duration: type: string x-stream-index: '004.001' error: $ref: '#/components/schemas/ErrorResult' description: Error produced by task title: Error x-stream-index: '003' result: additionalProperties: {} description: Result produced by task after completion title: Result type: object x-stream-index: '002' status: description: Current status of task title: Status type: string x-stream-index: '001.002' task_id: description: ID of task title: Task ID type: string x-stream-index: '001.001' updated_at: format: date-time type: number x-stream-index: '001.004' required: - task_id - status - created_at - updated_at - duration title: Get Task Response type: object x-stream-docs-page-id: tasks ChatPreferencesInput: properties: channel_mentions: enum: - all - none type: string x-stream-index: '007' default_preference: enum: - all - none type: string x-stream-index: '001' direct_mentions: enum: - all - none type: string x-stream-index: '002' group_mentions: enum: - all - none type: string x-stream-index: '004' here_mentions: enum: - all - none type: string x-stream-index: '006' role_mentions: enum: - all - none type: string x-stream-index: '003' thread_replies: enum: - all - none type: string x-stream-index: '005' type: object ListPushProvidersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' push_providers: items: $ref: '#/components/schemas/PushProviderResponse' type: array x-stream-index: '001' required: - push_providers - duration title: Response type: object ChannelMemberResponse: nullable: true properties: archived_at: format: date-time type: number x-stream-index: '016' ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: number x-stream-index: '013' banned: description: Whether member is banned this channel or not title: Banned type: boolean x-stream-index: '012' channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: 018 created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: 009 custom: additionalProperties: {} type: object x-stream-index: '004' deleted_at: format: date-time type: number x-stream-index: '011' deleted_messages: items: type: string type: array x-stream-index: '020' invite_accepted_at: description: Date when invite was accepted format: date-time title: Invited accepted at type: number x-stream-index: '006' invite_rejected_at: description: Date when invite was rejected format: date-time title: Invited rejected at type: number x-stream-index: '007' invited: description: Whether member was invited or not title: Invited type: boolean x-stream-index: '005' is_moderator: description: Whether member is channel moderator or not title: Is moderator type: boolean x-stream-index: '003' notifications_muted: type: boolean x-stream-index: 019 pinned_at: format: date-time type: number x-stream-index: '015' role: description: 'Permission level of the member in the channel (DEPRECATED: use channel_role instead). One of: member, moderator, admin, owner' title: Role type: string x-stream-index: '017' shadow_banned: description: Whether member is shadow banned in this channel or not title: Shadow banned type: boolean x-stream-index: '014' status: type: string x-stream-index: 008 updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '010' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' user_id: title: User ID type: string x-stream-index: '001' required: - custom - created_at - updated_at - banned - shadow_banned - channel_role - notifications_muted title: Channel member type: object ListRolesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' roles: items: $ref: '#/components/schemas/Role' type: array x-stream-index: '001' required: - roles - duration title: Response type: object QueryPollsRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '003' type: object CreateImportURLRequest: nullable: true properties: filename: type: string x-stream-index: '001' type: object UnblockUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration type: object Thresholds: description: Sets thresholds for AI moderation properties: explicit: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for explicit messages title: LabelThresholds x-stream-index: '001' spam: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for spam title: LabelThresholds x-stream-index: '002' toxic: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for toxic messages title: LabelThresholds x-stream-index: '003' title: Auto moderation thresholds type: object ListImportV2TasksResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_tasks: items: $ref: '#/components/schemas/ImportV2TaskItem' type: array x-stream-index: '001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' required: - import_tasks - duration title: Response type: object DeleteUsersRequest: nullable: true properties: calls: description: 'Calls delete mode. Affected calls are those that include exactly two members, one of whom is the user being deleted. * null or empty string - doesn''t delete any calls * soft - marks user''s calls and their related data as deleted (soft-delete) * hard - deletes user''s calls and their data completely (hard-delete) ' enum: - soft - hard title: Delete User's calls type: string x-stream-index: 001.002.004 conversations: description: 'Conversation channels delete mode. Conversation channel is any channel which only has two members one of which is the user being deleted. * null or empty string - doesn''t delete any conversation channels * soft - marks all conversation channels as deleted (same effect as Delete Channels with ''hard'' option disabled) * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with ''hard'' option enabled) ' enum: - soft - hard title: Delete Conversations type: string x-stream-index: 001.002.003 files: description: 'Delete user files. * false or empty string - doesn''t delete any files * true - deletes all files uploaded by the user, including images and attachments. ' title: Delete User's files type: boolean x-stream-index: 001.002.005 messages: description: 'Message delete mode. * null or empty string - doesn''t delete user messages * soft - marks all user messages as deleted without removing any related message data * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags * hard - deletes messages completely with all related information ' enum: - soft - pruning - hard title: Delete Messages type: string x-stream-index: 001.002.002 new_call_owner_id: type: string x-stream-index: 001.002.007 new_channel_owner_id: type: string x-stream-index: 001.002.006 user: description: 'User delete mode. * soft - marks user as deleted and retains all user data * pruning - marks user as deleted and nullifies user information * hard - deletes user completely. Requires ''hard'' option for messages and conversations as well ' enum: - soft - pruning - hard title: Delete User type: string x-stream-index: 001.002.001 user_ids: description: IDs of users to delete items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001.001' required: - user_ids type: object FirebaseConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '001' apn_template: type: string x-stream-index: '005' credentials_json: type: string x-stream-index: '006' data_template: type: string x-stream-index: '004' notification_template: type: string x-stream-index: '003' server_key: type: string x-stream-index: '002' type: object UpdatePollRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '011' allow_answers: description: Allow answers title: boolean type: boolean x-stream-index: 009 allow_user_suggested_options: description: Allow user suggested options title: boolean type: boolean x-stream-index: 008 description: description: Poll description title: string type: string x-stream-index: '003' enforce_unique_vote: description: Enforce unique vote title: boolean type: boolean x-stream-index: '005' id: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' is_closed: description: Is closed title: boolean type: boolean x-stream-index: '010' max_votes_allowed: description: Max votes allowed format: int32 maximum: 10 title: integer type: integer x-stream-index: '007' name: description: Poll name title: string type: string x-stream-index: '002' options: description: Poll options items: $ref: '#/components/schemas/PollOptionRequest' maxItems: 100 title: PollOptions type: array x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '012.002' user_id: type: string x-stream-index: '012.001' voting_visibility: description: Voting visibility enum: - anonymous - public title: string type: string x-stream-index: '006' required: - id - name type: object AddUserGroupMembersResponse: description: Response for adding members to a user group nullable: true properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: AddUserGroupMembersResponse type: object LabelThresholds: properties: block: description: Threshold for automatic message block format: float maximum: 1 minimum: 0 title: Block type: number x-stream-index: '002' flag: description: Threshold for automatic message flag format: float maximum: 1 minimum: 0 title: Flag type: number x-stream-index: '001' type: object SearchUserGroupsResponse: description: Response for searching user groups nullable: true properties: duration: type: string x-stream-index: '002.001' user_groups: description: List of matching user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: '001' required: - user_groups - duration title: SearchUserGroupsResponse type: object ReminderResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: number x-stream-index: 008 message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '005' message_id: type: string x-stream-index: '004' remind_at: format: date-time type: number x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - channel_cid - message_id - user_id - created_at - updated_at type: object FCM: properties: data: additionalProperties: {} type: object x-stream-index: '001' type: object ExternalStorageResponse: properties: bucket: type: string x-stream-index: '003' name: type: string x-stream-index: '001' path: type: string x-stream-index: '004' type: enum: - s3 - gcs - abs type: string x-stream-index: '002' required: - name - type - bucket - path type: object Action: nullable: true properties: name: type: string x-stream-index: '001' style: type: string x-stream-index: '003' text: type: string x-stream-index: '002' type: type: string x-stream-index: '004' value: type: string x-stream-index: '005' required: - name - text - type type: object CreateImportURLResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' path: type: string x-stream-index: '001' upload_url: type: string x-stream-index: '002' required: - path - upload_url - duration title: Response type: object ImageUploadResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.003.001 file: type: string x-stream-index: '001.001' thumb_url: type: string x-stream-index: '001.002' upload_sizes: description: Array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' required: - duration type: object ModerationV2Response: properties: action: type: string x-stream-index: '001' blocklist_matched: type: string x-stream-index: '005' blocklists_matched: items: type: string type: array x-stream-index: '006' image_harms: items: type: string type: array x-stream-index: '004' original_text: type: string x-stream-index: '002' platform_circumvented: type: boolean x-stream-index: 008 semantic_filter_matched: type: string x-stream-index: '007' text_harms: items: type: string type: array x-stream-index: '003' required: - action - original_text type: object PushProviderRequest: properties: apn_auth_key: type: string x-stream-index: '006' apn_auth_type: type: string x-stream-index: '011' apn_development: type: boolean x-stream-index: '012' apn_host: type: string x-stream-index: '013' apn_key_id: type: string x-stream-index: '007' apn_notification_template: type: string x-stream-index: '014' apn_p12_cert: type: string x-stream-index: 008 apn_team_id: type: string x-stream-index: 009 apn_topic: type: string x-stream-index: '010' description: maxLength: 128 type: string x-stream-index: '003' disabled_at: format: date-time type: number x-stream-index: '004' disabled_reason: maxLength: 255 type: string x-stream-index: '005' firebase_apn_template: type: string x-stream-index: 019 firebase_credentials: type: string x-stream-index: '016' firebase_data_template: type: string x-stream-index: '017' firebase_host: type: string x-stream-index: '020' firebase_notification_template: type: string x-stream-index: 018 firebase_server_key: type: string x-stream-index: '015' huawei_app_id: type: string x-stream-index: '021' huawei_app_secret: type: string x-stream-index: '022' name: maxLength: 36 minLength: 1 type: string x-stream-index: '001' type: type: string x-stream-index: '002' xiaomi_app_secret: type: string x-stream-index: '024' xiaomi_package_name: type: string x-stream-index: '023' required: - name type: object Role: properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' custom: description: Whether this is a custom role or built-in title: Custom type: boolean x-stream-index: '002' name: description: Unique role name title: Name type: string x-stream-index: '001' scopes: description: List of scopes where this role is currently present. `.app` means that role is present in app-level grants items: type: string title: Scopes type: array x-stream-index: '003' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '005' required: - name - custom - scopes - created_at - updated_at type: object ErrorResult: properties: description: type: string x-stream-index: '002' stacktrace: type: string x-stream-index: '003' type: type: string x-stream-index: '001' version: type: string x-stream-index: '004' required: - type - description type: object PushPreferencesResponse: nullable: true properties: call_level: type: string x-stream-index: '003' chat_level: type: string x-stream-index: '001' chat_preferences: $ref: '#/components/schemas/ChatPreferencesResponse' x-stream-index: '002' disabled_until: format: date-time type: number x-stream-index: '006' feeds_level: type: string x-stream-index: '004' feeds_preferences: $ref: '#/components/schemas/FeedsPreferencesResponse' x-stream-index: '005' type: object EventHook: nullable: true properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: 020.001.002 created_at: format: date-time type: number x-stream-index: '021' enabled: type: boolean x-stream-index: '003' event_types: items: type: string type: array x-stream-index: '004' failover_config: $ref: '#/components/schemas/WebhookFailoverConfig' x-stream-index: '020.003' hook_type: type: string x-stream-index: '002' id: type: string x-stream-index: '001' product: type: string x-stream-index: 018 should_send_custom_events: type: boolean x-stream-index: 019 sns_auth_type: type: string x-stream-index: '014' sns_event_based_message_group_id_enabled: type: boolean x-stream-index: '020.002' sns_key: type: string x-stream-index: '015' sns_region: type: string x-stream-index: '013' sns_role_arn: type: string x-stream-index: '017' sns_secret: type: string x-stream-index: '016' sns_topic_arn: type: string x-stream-index: '012' sqs_auth_type: type: string x-stream-index: 008 sqs_key: type: string x-stream-index: 009 sqs_queue_url: type: string x-stream-index: '006' sqs_region: type: string x-stream-index: '007' sqs_role_arn: type: string x-stream-index: '011' sqs_secret: type: string x-stream-index: '010' timeout_ms: format: int32 type: integer x-stream-index: 020.001.001 updated_at: format: date-time type: number x-stream-index: '022' webhook_url: type: string x-stream-index: '005' type: object RemoveUserGroupMembersResponse: description: Response for removing members from a user group nullable: true properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: RemoveUserGroupMembersResponse type: object AudioSettings: properties: access_request_enabled: type: boolean x-stream-index: '001' default_device: enum: - speaker - earpiece type: string x-stream-index: '006' hifi_audio_enabled: type: boolean x-stream-index: 008 mic_default_on: type: boolean x-stream-index: '004' noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: '007' opus_dtx_enabled: type: boolean x-stream-index: '002' redundant_coding_enabled: type: boolean x-stream-index: '003' speaker_default_on: type: boolean x-stream-index: '005' required: - access_request_enabled - opus_dtx_enabled - redundant_coding_enabled - mic_default_on - speaker_default_on - default_device - hifi_audio_enabled type: object CheckSNSRequest: nullable: true properties: sns_key: description: AWS SNS access key title: SNS key type: string x-stream-index: '002' sns_secret: description: AWS SNS key secret title: SNS secret type: string x-stream-index: '003' sns_topic_arn: description: AWS SNS topic ARN title: SNS Topic ARN type: string x-stream-index: '001' type: object APNConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '005' auth_key: type: string x-stream-index: '006.001' auth_type: enum: - certificate - token type: string x-stream-index: '001' bundle_id: type: string x-stream-index: '004' development: type: boolean x-stream-index: '002' host: type: string x-stream-index: '003' key_id: type: string x-stream-index: '006.002' notification_template: type: string x-stream-index: 008 p12_cert: type: string x-stream-index: '007.001' team_id: type: string x-stream-index: '006.003' type: object UnblockUsersRequest: nullable: true properties: blocked_user_id: type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - blocked_user_id type: object APNS: properties: body: type: string x-stream-index: '002' content-available: format: int32 type: integer x-stream-index: '004' data: additionalProperties: {} type: object x-stream-index: '006' mutable-content: format: int32 type: integer x-stream-index: '005' sound: type: string x-stream-index: '003' title: type: string x-stream-index: '001' required: - title - body type: object UserResponse: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: number x-stream-index: '004' banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: number x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: number x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' online: description: Whether a user online or not title: Online type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: number x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object SharedLocationResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '001.011' channel_cid: description: Channel CID title: string type: string x-stream-index: '001.001' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.008' created_by_device_id: description: Device ID that created the live location title: string type: string x-stream-index: '001.006' duration: type: string x-stream-index: '002.001' end_at: description: Time when the live location expires format: date-time title: string type: number x-stream-index: '001.007' latitude: description: Latitude coordinate format: float title: number type: number x-stream-index: '001.004' longitude: description: Longitude coordinate format: float title: number type: number x-stream-index: '001.005' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001.010' message_id: description: Message ID title: string type: string x-stream-index: '001.002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.009' user_id: description: User ID title: string type: string x-stream-index: '001.003' required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at - duration type: object DeviceResponse: description: Response for Device nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: object PrivacySettingsResponse: properties: delivery_receipts: $ref: '#/components/schemas/DeliveryReceiptsResponse' x-stream-index: '003' read_receipts: $ref: '#/components/schemas/ReadReceiptsResponse' x-stream-index: '002' typing_indicators: $ref: '#/components/schemas/TypingIndicatorsResponse' x-stream-index: '001' type: object ChatPreferencesResponse: properties: channel_mentions: type: string x-stream-index: '007' default_preference: type: string x-stream-index: '001' direct_mentions: type: string x-stream-index: '002' group_mentions: type: string x-stream-index: '004' here_mentions: type: string x-stream-index: '006' role_mentions: type: string x-stream-index: '003' thread_replies: type: string x-stream-index: '005' type: object FileUploadRequest: nullable: true properties: file: description: file field title: File type: string x-stream-index: '001' user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: '002' type: object DeactivateUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: type: string x-stream-index: '001' required: - task_id - duration title: Response type: object Response: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001' required: - duration title: Response type: object ExportUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: type: string x-stream-index: '001' required: - task_id - duration title: Response type: object ImageUploadRequest: nullable: true properties: file: type: string x-stream-index: '001.001' upload_sizes: description: field with JSON-encoded array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' user: $ref: '#/components/schemas/OnlyUserID' x-stream-index: '001.002' type: object ExportUserResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' messages: description: List of exported messages items: $ref: '#/components/schemas/MessageResponse' title: Messages type: array x-stream-index: '002' reactions: description: List of exported reactions items: $ref: '#/components/schemas/ReactionResponse' title: Reactions type: array x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' description: Exported user object title: User x-stream-index: '001' required: - duration type: object RawRecordSettings: properties: audio_only: type: boolean x-stream-index: '002' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object CallType: nullable: true properties: app: format: int32 type: integer x-stream-index: '003' created_at: format: date-time type: number x-stream-index: '005' id: format: int32 type: integer x-stream-index: '002' name: type: string x-stream-index: '004' notification_settings: $ref: '#/components/schemas/NotificationSettings' x-stream-index: 008 recording_external_storage: type: string x-stream-index: 009 settings: $ref: '#/components/schemas/CallSettings' x-stream-index: '007' updated_at: format: date-time type: number x-stream-index: '006' required: - id - app - name - created_at - updated_at - recording_external_storage type: object ReactivateUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.002.001 task_id: type: string x-stream-index: '001.001' required: - task_id - duration title: Response type: object Command: description: Represents custom chat command nullable: true properties: args: description: Arguments help text, shown in commands auto-completion title: Arguments type: string x-stream-index: '006' created_at: description: Date/time of creation format: date-time readOnly: true title: Created at type: number x-stream-index: '001' description: description: Description, shown in commands auto-completion title: Description type: string x-stream-index: '005' name: description: Unique command name title: Name type: string x-stream-index: '004' set: description: Set name used for grouping commands title: Set type: string x-stream-index: '007' updated_at: description: Date/time of the last update format: date-time readOnly: true title: Updated at type: number x-stream-index: '002' required: - name - description - args - set title: Command type: object ReactionGroupUserResponse: description: Contains information about a user who reacted with this reaction type. properties: created_at: description: The time when the user reacted. format: date-time title: CreatedAt type: number x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' description: The full user object. title: User x-stream-index: '002' user_id: description: The ID of the user who reacted. title: UserID type: string x-stream-index: '001' required: - user_id - created_at title: ReactionGroupUserResponse type: object UpdateExternalStorageRequest: description: External storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - storage_type - bucket title: ExternalStorageRequest type: object UpdateUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' membership_deletion_task_id: type: string x-stream-index: '002' users: additionalProperties: $ref: '#/components/schemas/FullUserResponse' description: Object containing users title: Users type: object x-stream-index: '001' x-stream-map: key: user_id required: - users - membership_deletion_task_id - duration type: object CreateUserGroupResponse: description: Response for creating a user group nullable: true properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The created user group title: UserGroup x-stream-index: '001' required: - duration title: CreateUserGroupResponse type: object UpsertExternalStorageRequest: nullable: true properties: aws_s3: $ref: '#/components/schemas/UpsertExternalStorageAWSS3Request' x-stream-index: '002' type: enum: - aws_s3 type: string x-stream-index: '001' required: - type type: object ScreensharingSettings: properties: access_request_enabled: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled type: object CreatePollRequest: description: Contains all information needed to create a new poll nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '011' allow_answers: description: Indicates whether users can suggest user defined answers title: Allow answers type: boolean x-stream-index: 009 allow_user_suggested_options: type: boolean x-stream-index: 008 description: description: A description of the poll title: Description type: string x-stream-index: '003' enforce_unique_vote: description: Indicates whether users can cast multiple votes title: Multiple choice type: boolean x-stream-index: '006' id: maxLength: 255 type: string x-stream-index: '001' is_closed: description: Indicates whether the poll is open for voting title: Is closed type: boolean x-stream-index: '010' max_votes_allowed: description: Indicates the maximum amount of votes a user can cast format: int32 maximum: 10 title: Maximum votes allowed type: integer x-stream-index: '007' name: description: The name of the poll title: Name type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionInput' maxItems: 100 type: array x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '012.002' user_id: type: string x-stream-index: '012.001' voting_visibility: enum: - anonymous - public type: string x-stream-index: '005' required: - name title: Create Poll Request type: object FileUploadConfig: properties: allowed_file_extensions: items: type: string type: array x-stream-index: '001' allowed_mime_types: items: type: string type: array x-stream-index: '003' blocked_file_extensions: items: type: string type: array x-stream-index: '002' blocked_mime_types: items: type: string type: array x-stream-index: '004' size_limit: format: int32 maximum: 104857600 minimum: 0 type: integer x-stream-index: '005' required: - size_limit type: object HuaweiConfigFields: properties: enabled: type: boolean x-stream-index: '001' id: type: string x-stream-index: '002' secret: type: string x-stream-index: '003' required: - enabled type: object LimitsSettings: properties: max_duration_seconds: format: int32 type: integer x-stream-index: '004' max_participants: format: int32 type: integer x-stream-index: '001' max_participants_exclude_owner: type: boolean x-stream-index: '003' max_participants_exclude_roles: items: type: string type: array x-stream-index: '002' required: - max_participants_exclude_roles type: object UpsertPushProviderResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' push_provider: $ref: '#/components/schemas/PushProviderResponse' x-stream-index: '001' required: - push_provider - duration title: Response type: object CheckExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' file_url: type: string x-stream-index: '002' required: - duration - file_url title: Response type: object CreateExternalStorageRequest: description: Create external storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' name: description: The name of the provider, this must be unique title: Name type: string x-stream-index: '001' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - name - storage_type - bucket title: CreateExternalStorageRequest type: object SharedLocationResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '011' channel_cid: type: string x-stream-index: '001' created_at: format: date-time type: number x-stream-index: 008 created_by_device_id: type: string x-stream-index: '006' end_at: format: date-time type: number x-stream-index: '007' latitude: format: float type: number x-stream-index: '004' longitude: format: float type: number x-stream-index: '005' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '010' message_id: type: string x-stream-index: '002' updated_at: format: date-time type: number x-stream-index: 009 user_id: type: string x-stream-index: '003' required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at type: object CreateImportResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: '001' required: - duration title: Response type: object ImageSize: properties: crop: description: 'Crop mode. One of: top, bottom, left, right, center' title: Crop type: string x-stream-index: '001' height: description: Target image height format: int32 title: Height type: integer x-stream-index: '003' resize: description: 'Resize method. One of: clip, crop, scale, fill' title: Resize type: string x-stream-index: '002' width: description: Target image width format: int32 title: Width type: integer x-stream-index: '004' title: Image size configuration type: object DraftPayloadResponse: description: Contains the draft message content properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: '004' custom: additionalProperties: {} type: object x-stream-index: '007' html: description: Contains HTML markup of the message title: HTML content type: string x-stream-index: '010' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: 008 mml: description: MML content of the message title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '005' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '013' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: 009 show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: '006' silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '012' text: description: Text of the message title: Text type: string x-stream-index: '002' type: description: 'Contains type of the message. One of: regular, system' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '011' required: - id - text - custom title: Draft Message Payload type: object BroadcastSettings: properties: enabled: type: boolean x-stream-index: '001' hls: $ref: '#/components/schemas/HLSSettings' x-stream-index: '002' rtmp: $ref: '#/components/schemas/RTMPSettings' x-stream-index: '003' required: - enabled type: object ReactivateUserResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.002.001 user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: '001.001' required: - duration type: object Field: nullable: true properties: short: type: boolean x-stream-index: '003' title: type: string x-stream-index: '001' value: type: string x-stream-index: '002' required: - title - value - short type: object TranslationSettings: properties: enabled: type: boolean x-stream-index: '001' languages: items: enum: - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk type: string type: array x-stream-index: '002' required: - enabled - languages type: object DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object ImportTaskHistory: nullable: true properties: created_at: format: date-time type: number x-stream-index: '005' next_state: type: string x-stream-index: '007' prev_state: type: string x-stream-index: '006' required: - created_at - prev_state - next_state type: object GeofenceSettings: properties: names: items: type: string type: array x-stream-index: '001' required: - names type: object ChannelResponse: description: Represents channel in chat properties: auto_translation_enabled: description: Whether auto translation is enabled or not title: Auto translation type: boolean x-stream-index: '017' auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: 018 blocked: description: Whether this channel is blocked by current user or not title: Blocked type: boolean x-stream-index: '023' cid: description: Channel CID (:) title: CID type: string x-stream-index: '003' config: $ref: '#/components/schemas/ChannelConfigWithInfo' description: Channel configuration title: ChannelConfigWithInfo x-stream-index: '013' cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: '020' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '005' created_by: $ref: '#/components/schemas/UserResponse' description: Creator of the channel title: UserResponse x-stream-index: 008 custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '026' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '007' disabled: type: boolean x-stream-index: '010' filter_tags: description: List of filter tags associated with the channel items: type: string title: Filter tags type: array x-stream-index: 028 frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: 009 hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: '022' hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: number x-stream-index: 019 id: description: Channel unique ID title: ID type: string x-stream-index: '001' last_message_at: description: Date of the last message sent format: date-time title: Last message at type: number x-stream-index: '004' member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: '012' members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMemberResponse' title: Channel members type: array x-stream-index: '011' message_count: description: Number of messages in the channel format: int64 title: Message count type: integer x-stream-index: '027' mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: number x-stream-index: '015' muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: '014' own_capabilities: description: List of channel capabilities of authenticated user items: $ref: '#/components/schemas/ChannelOwnCapability' title: ChannelOwnCapability type: array x-stream-index: '021' team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: '016' truncated_at: description: Date of the latest truncation of the channel format: date-time title: UserResponse type: number x-stream-index: '024' truncated_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '025' type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: '002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '006' required: - id - type - cid - created_at - updated_at - frozen - disabled - custom title: Channel type: object UpdateBlockListResponse: description: Basic response information nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - duration title: Response type: object OnlyUserID: properties: id: type: string x-stream-index: '001' required: - id type: object IndividualRecordSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' output_types: items: type: string type: array x-stream-index: '002' required: - mode type: object APNConfigFields: properties: auth_key: type: string x-stream-index: 009 auth_type: type: string x-stream-index: '003' bundle_id: type: string x-stream-index: '006' development: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' host: type: string x-stream-index: '005' key_id: type: string x-stream-index: 008 notification_template: type: string x-stream-index: '004' p12_cert: type: string x-stream-index: '010' team_id: type: string x-stream-index: '007' required: - enabled - development type: object FirebaseConfigFields: properties: apn_template: type: string x-stream-index: '004' credentials_json: type: string x-stream-index: '006' data_template: type: string x-stream-index: '003' enabled: type: boolean x-stream-index: '001' notification_template: type: string x-stream-index: '002' server_key: type: string x-stream-index: '005' required: - enabled type: object ListBlockListResponse: description: Basic response information nullable: true properties: blocklists: items: $ref: '#/components/schemas/BlockListResponse' type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - blocklists - duration title: Response type: object FeedsPreferences: properties: comment: description: 'Push notification preference for comments on user''s activities. One of: all, none' enum: - all - none title: Comment type: string x-stream-index: '002' comment_mention: description: 'Push notification preference for mentions in comments. One of: all, none' enum: - all - none title: Comment Mention type: string x-stream-index: '006' comment_reaction: description: 'Push notification preference for reactions on comments. One of: all, none' enum: - all - none title: Comment Reaction type: string x-stream-index: '004' comment_reply: description: 'Push notification preference for replies to comments. One of: all, none' enum: - all - none title: Comment Reply type: string x-stream-index: '005' custom_activity_types: additionalProperties: type: string description: Push notification preferences for custom activity types. Map of activity type to preference (all or none) title: Custom Activity Types type: object x-stream-index: 008 follow: description: 'Push notification preference for new followers. One of: all, none' enum: - all - none title: Follow type: string x-stream-index: '001' mention: description: 'Push notification preference for mentions in activities. One of: all, none' enum: - all - none title: Mention type: string x-stream-index: '007' reaction: description: 'Push notification preference for reactions on user''s activities or comments. One of: all, none' enum: - all - none title: Reaction type: string x-stream-index: '003' title: Feeds Preferences type: object ChannelConfig: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: '001.028' automod: enum: - disabled - simple - AI type: string x-stream-index: '001.023' automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: '001.024' automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: '001.029' blocklist: type: string x-stream-index: '001.025' blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: '001.026' blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: '001.027' chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: '001.034' commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: '003' connect_events: type: boolean x-stream-index: '001.004' count_messages: type: boolean x-stream-index: '001.020' created_at: format: date-time type: number x-stream-index: '002.003' custom_events: type: boolean x-stream-index: '001.013' delivery_events: type: boolean x-stream-index: '001.005' mark_messages_pending: type: boolean x-stream-index: '001.016' max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: '001.022' mutes: type: boolean x-stream-index: '001.010' name: type: string x-stream-index: '001.001' partition_size: format: int32 type: integer x-stream-index: '001.030' partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: '001.031' polls: type: boolean x-stream-index: '001.017' push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: '001.033' push_notifications: type: boolean x-stream-index: '001.014' quotes: type: boolean x-stream-index: '001.009' reactions: type: boolean x-stream-index: '001.007' read_events: type: boolean x-stream-index: '001.003' reminders: type: boolean x-stream-index: '001.015' replies: type: boolean x-stream-index: '001.008' search: type: boolean x-stream-index: '001.006' shared_locations: type: boolean x-stream-index: '001.019' skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: '001.032' typing_events: type: boolean x-stream-index: '001.002' updated_at: format: date-time type: number x-stream-index: '002.004' uploads: type: boolean x-stream-index: '001.011' url_enrichment: type: boolean x-stream-index: '001.012' user_message_reminders: type: boolean x-stream-index: '001.018' required: - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands type: object AsyncModerationConfiguration: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: '002' timeout_ms: format: int32 type: integer x-stream-index: '001' type: object BlockedUserResponse: nullable: true properties: blocked_user: $ref: '#/components/schemas/UserResponse' description: User who got blocked title: User x-stream-index: '003' blocked_user_id: description: ID of the user who got blocked title: UserID type: string x-stream-index: '004' created_at: format: date-time type: number x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' description: User who blocked another user title: User x-stream-index: '001' user_id: description: ID of the user who blocked another user title: UserID type: string x-stream-index: '002' required: - user - user_id - blocked_user - blocked_user_id - created_at type: object PushProviderResponse: properties: apn_auth_key: type: string x-stream-index: 008 apn_auth_type: type: string x-stream-index: '013' apn_development: type: boolean x-stream-index: '014' apn_host: type: string x-stream-index: '015' apn_key_id: type: string x-stream-index: 009 apn_p12_cert: type: string x-stream-index: '010' apn_sandbox_certificate: type: boolean x-stream-index: '016' apn_supports_remote_notifications: type: boolean x-stream-index: 018 apn_supports_voip_notifications: type: boolean x-stream-index: '017' apn_team_id: type: string x-stream-index: '011' apn_topic: type: string x-stream-index: '012' created_at: format: date-time type: number x-stream-index: '004' description: type: string x-stream-index: '003' disabled_at: format: date-time type: number x-stream-index: '006' disabled_reason: type: string x-stream-index: '007' firebase_apn_template: type: string x-stream-index: '023' firebase_credentials: type: string x-stream-index: '020' firebase_data_template: type: string x-stream-index: '021' firebase_host: type: string x-stream-index: '024' firebase_notification_template: type: string x-stream-index: '022' firebase_server_key: type: string x-stream-index: 019 huawei_app_id: type: string x-stream-index: '025' huawei_app_secret: type: string x-stream-index: '026' name: type: string x-stream-index: '001' type: type: string x-stream-index: '002' updated_at: format: date-time type: number x-stream-index: '005' xiaomi_app_secret: type: string x-stream-index: 028 xiaomi_package_name: type: string x-stream-index: '027' required: - name - type - created_at - updated_at type: object IngressAudioEncodingOptions: properties: bitrate: maximum: 128000 minimum: 16000 type: integer x-stream-index: '003' channels: enum: - '1' - '2' format: int32 type: integer x-stream-index: '001' enable_dtx: type: boolean x-stream-index: '002' required: - channels - enable_dtx - bitrate type: object AddUserGroupMembersRequest: description: Request body for adding members to a user group nullable: true properties: as_admin: description: Whether to add the members as group admins. Defaults to false title: As Admin type: boolean x-stream-index: '003' member_ids: description: List of user IDs to add as members items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '004' required: - member_ids title: AddUserGroupMembersRequest type: object EventNotificationSettings: properties: apns: $ref: '#/components/schemas/APNS' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' fcm: $ref: '#/components/schemas/FCM' x-stream-index: '003' required: - enabled - apns - fcm type: object PushTemplate: nullable: true properties: created_at: format: date-time type: number x-stream-index: '007' enable_push: type: boolean x-stream-index: '003' event_type: enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated type: string x-stream-index: '005' template: type: string x-stream-index: '006' updated_at: format: date-time type: number x-stream-index: 008 required: - enable_push - event_type - created_at - updated_at type: object Images: properties: fixed_height: $ref: '#/components/schemas/ImageData' x-stream-index: '002' fixed_height_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '004' fixed_height_still: $ref: '#/components/schemas/ImageData' x-stream-index: '003' fixed_width: $ref: '#/components/schemas/ImageData' x-stream-index: '005' fixed_width_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '007' fixed_width_still: $ref: '#/components/schemas/ImageData' x-stream-index: '006' original: $ref: '#/components/schemas/ImageData' x-stream-index: '001' required: - original - fixed_height - fixed_height_still - fixed_height_downsampled - fixed_width - fixed_width_still - fixed_width_downsampled type: object UserRequest: description: User request object properties: custom: additionalProperties: {} description: Custom user data title: Custom type: object x-stream-index: '004' id: description: User ID title: ID type: string x-stream-index: '001' image: description: User's profile image URL title: Image type: string x-stream-index: '003' invisible: type: boolean x-stream-index: '006' language: type: string x-stream-index: '005' name: description: Optional name of user title: Name type: string x-stream-index: '002' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '007' role: description: User's global role title: Role type: string x-stream-index: 008 teams: description: List of teams the user belongs to items: type: string title: Teams type: array x-stream-index: '010' teams_role: additionalProperties: type: string description: Map of team-specific roles for the user title: TeamsRole type: object x-stream-index: 009 required: - id title: UserRequest type: object UserGroupResponse: properties: created_at: format: date-time type: number x-stream-index: '006' created_by: type: string x-stream-index: 008 description: type: string x-stream-index: '003' id: type: string x-stream-index: '001' members: items: $ref: '#/components/schemas/UserGroupMember' type: array x-stream-index: '005' name: type: string x-stream-index: '002' team_id: type: string x-stream-index: '004' updated_at: format: date-time type: number x-stream-index: '007' required: - id - name - created_at - updated_at type: object SortParamRequest: nullable: true properties: direction: description: 'Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1' format: int32 title: Direction type: integer x-stream-index: '003' field: description: Name of field to sort by title: Field type: string x-stream-index: '001' type: description: 'Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean' title: Type type: string x-stream-index: '002' type: object CreateRoleResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' role: $ref: '#/components/schemas/Role' x-stream-index: '002' required: - duration - role title: Response type: object PushPreferenceInput: nullable: true properties: call_level: description: 'Set the level of call push notifications for the user. One of: all, none, default' enum: - all - none - default title: Call Level type: string x-stream-index: '005' channel_cid: description: Set the push preferences for a specific channel. If empty it sets the default for the user title: Channel CID type: string x-stream-index: '002' chat_level: description: 'Set the level of chat push notifications for the user. Note: "mentions" is deprecated in favor of "direct_mentions". One of: all, mentions, direct_mentions, all_mentions, none, default' enum: - all - mentions - direct_mentions - all_mentions - none - default title: Chat Level type: string x-stream-index: '003' chat_preferences: $ref: '#/components/schemas/ChatPreferencesInput' x-stream-index: '004' disabled_until: description: Disable push notifications till a certain time format: date-time title: Disabled Until type: number x-stream-index: 008 feeds_level: description: 'Set the level of feeds push notifications for the user. One of: all, none, default' enum: - all - none - default title: Feeds Level type: string x-stream-index: '006' feeds_preferences: $ref: '#/components/schemas/FeedsPreferences' description: Set granular feeds preferences for reactions, comments, new followers, mentions, and custom activity types title: Feeds Preferences x-stream-index: '007' remove_disable: description: Remove the disabled until time. (IE stop snoozing notifications) title: Remove Disable type: boolean x-stream-index: 009 user_id: description: The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth. title: User ID type: string x-stream-index: '001' type: object DraftResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '007' message: $ref: '#/components/schemas/DraftPayloadResponse' x-stream-index: '001' parent_id: type: string x-stream-index: '004' parent_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '005' quoted_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '006' required: - message - channel_cid - created_at type: object XiaomiConfigFields: properties: enabled: type: boolean x-stream-index: '001' package_name: type: string x-stream-index: '002' secret: type: string x-stream-index: '003' required: - enabled type: object ChatPreferences: properties: channel_mentions: type: string x-stream-index: '007' default_preference: type: string x-stream-index: '001' direct_mentions: type: string x-stream-index: '002' distinct_channel_messages: type: string x-stream-index: 008 group_mentions: type: string x-stream-index: '004' here_mentions: type: string x-stream-index: '006' role_mentions: type: string x-stream-index: '003' thread_replies: type: string x-stream-index: '005' type: object TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object UpdateUsersRequest: nullable: true properties: users: additionalProperties: $ref: '#/components/schemas/UserRequest' description: Object containing users title: Users type: object x-stream-index: '001' x-stream-map: key: user_id required: - users type: object AppResponseFields: properties: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: '057' allow_multi_user_devices: type: boolean x-stream-index: 018 allowed_flag_reasons: items: type: string type: array x-stream-index: '022' async_url_enrich_enabled: type: boolean x-stream-index: '020' auto_translation_enabled: type: boolean x-stream-index: '023' before_message_send_hook_url: type: string x-stream-index: '024' call_types: additionalProperties: $ref: '#/components/schemas/CallType' type: object x-stream-index: 009 campaign_enabled: type: boolean x-stream-index: '037' cdn_expiration_seconds: format: int32 type: integer x-stream-index: '040' channel_configs: additionalProperties: $ref: '#/components/schemas/ChannelConfig' type: object x-stream-index: 008 custom_action_handler_url: type: string x-stream-index: '025' datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: '043' disable_auth_checks: type: boolean x-stream-index: '013' disable_permissions_checks: type: boolean x-stream-index: '014' enforce_unique_usernames: type: string x-stream-index: '026' event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: 048 feed_audit_logs_enabled: type: boolean x-stream-index: '053' file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '033' geofences: items: $ref: '#/components/schemas/GeofenceResponse' type: array x-stream-index: '042' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '036' guest_user_creation_disabled: type: boolean x-stream-index: '046' id: format: int32 type: integer x-stream-index: '001' image_moderation_enabled: type: boolean x-stream-index: 019 image_moderation_labels: items: type: string type: array x-stream-index: '021' image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '034' max_aggregated_activities_length: format: int32 type: integer x-stream-index: '052' moderation_audio_call_moderation_enabled: type: boolean x-stream-index: '055' moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: '047' moderation_enabled: type: boolean x-stream-index: '044' moderation_llm_configurability_enabled: type: boolean x-stream-index: '051' moderation_multitenant_blocklist_enabled: type: boolean x-stream-index: '045' moderation_s3_image_access_role_arn: type: string x-stream-index: '056' moderation_video_call_moderation_enabled: type: boolean x-stream-index: '054' moderation_webhook_url: type: string x-stream-index: '007' multi_tenant_enabled: type: boolean x-stream-index: '017' name: type: string x-stream-index: '002' organization: type: string x-stream-index: '003' permission_version: type: string x-stream-index: '015' placement: type: string x-stream-index: '004' policies: additionalProperties: items: $ref: '#/components/schemas/Policy' type: array type: object x-stream-index: '010' push_notifications: $ref: '#/components/schemas/PushNotificationFields' x-stream-index: '005' reminders_interval: format: int32 type: integer x-stream-index: 039 revoke_tokens_issued_before: format: date-time type: number x-stream-index: '035' sns_key: type: string x-stream-index: '031' sns_secret: type: string x-stream-index: '032' sns_topic_arn: type: string x-stream-index: '030' sqs_key: type: string x-stream-index: 028 sqs_secret: type: string x-stream-index: 029 sqs_url: type: string x-stream-index: '027' suspended: type: boolean x-stream-index: '011' suspended_explanation: type: string x-stream-index: '012' use_hook_v2: type: boolean x-stream-index: 049 user_response_time_enabled: type: boolean x-stream-index: '050' user_search_disallowed_roles: items: type: string type: array x-stream-index: '016' webhook_events: items: type: string type: array x-stream-index: 038 webhook_url: type: string x-stream-index: '006' required: - id - name - organization - placement - push_notifications - webhook_url - moderation_webhook_url - channel_configs - call_types - policies - suspended - suspended_explanation - disable_auth_checks - disable_permissions_checks - permission_version - user_search_disallowed_roles - multi_tenant_enabled - allow_multi_user_devices - image_moderation_enabled - async_url_enrich_enabled - auto_translation_enabled - custom_action_handler_url - enforce_unique_usernames - sqs_url - sqs_key - sqs_secret - sns_topic_arn - sns_key - sns_secret - file_upload_config - image_upload_config - grants - campaign_enabled - webhook_events - reminders_interval - cdn_expiration_seconds - video_provider - moderation_enabled - moderation_multitenant_blocklist_enabled - guest_user_creation_disabled - event_hooks - use_hook_v2 - user_response_time_enabled - moderation_llm_configurability_enabled - max_aggregated_activities_length - feed_audit_logs_enabled - moderation_video_call_moderation_enabled - moderation_audio_call_moderation_enabled type: object UpdateUsersPartialRequest: nullable: true properties: users: items: $ref: '#/components/schemas/UpdateUserPartialRequest' type: array x-stream-index: '001' required: - users type: object ImageData: properties: frames: type: string x-stream-index: '005' height: type: string x-stream-index: '003' size: type: string x-stream-index: '004' url: type: string x-stream-index: '001' width: type: string x-stream-index: '002' required: - url - width - height - size - frames type: object ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object PushTemplateResponse: properties: created_at: description: Time when the template was created format: date-time title: Created At type: number x-stream-index: '005' enable_push: description: Whether push notification is enabled for this event title: Enable Push type: boolean x-stream-index: '002' event_type: description: Type of event this template applies to title: Event Type type: string x-stream-index: '003' push_provider_internal_id: description: Internal ID of the push provider title: Push Provider Internal ID type: string x-stream-index: '001' template: description: The push notification template title: Template type: string x-stream-index: '004' updated_at: description: Time when the template was last updated format: date-time title: Updated At type: number x-stream-index: '006' required: - push_provider_internal_id - enable_push - event_type - created_at - updated_at title: PushTemplateResponse type: object ImportV2TaskItem: properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '007' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' result: readOnly: true type: object x-stream-index: '006' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: number x-stream-index: 008 required: - id - app_pk - product - state - settings - created_at - updated_at type: object UpsertPushProviderRequest: nullable: true properties: push_provider: $ref: '#/components/schemas/PushProviderRequest' x-stream-index: '001' type: object GetPushTemplatesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' templates: items: $ref: '#/components/schemas/PushTemplateResponse' type: array x-stream-index: '002' required: - duration - templates title: Response type: object CheckPushRequest: description: Check push request nullable: true properties: apn_template: description: Push message template for APN title: APN template type: string x-stream-docs-page-id: push_template x-stream-index: '002' event_type: description: 'Type of event for push templates (default: message.new). One of: message.new, message.updated, reaction.new, reaction.updated, notification.reminder_due' enum: - message.new - message.updated - reaction.new - reaction.updated - notification.reminder_due title: Event type type: string x-stream-index: 008 firebase_data_template: description: Push message data template for Firebase title: Firebase data template type: string x-stream-docs-page-id: push_template x-stream-index: '004' firebase_template: description: Push message template for Firebase title: Firebase template type: string x-stream-docs-page-id: push_template x-stream-index: '003' message_id: description: Message ID to send push notification for title: Message ID type: string x-stream-index: '001' push_provider_name: description: Name of push provider title: Name of push provider type: string x-stream-index: '007' push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' title: Type of push provider type: string x-stream-index: '006' skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: '005' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' title: CheckPushRequest type: object ImportTask: properties: created_at: format: date-time type: number x-stream-index: '011' history: items: $ref: '#/components/schemas/ImportTaskHistory' type: array x-stream-index: '010' id: type: string x-stream-index: '003' mode: type: string x-stream-index: '006' path: type: string x-stream-index: '005' size: format: int64 type: integer x-stream-index: '007' state: type: string x-stream-index: 008 updated_at: format: date-time type: number x-stream-index: '012' required: - id - path - mode - state - history - created_at - updated_at type: object QueryPollVotesRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '003' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '004' type: object RTMPSettings: properties: enabled: type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '003' location: $ref: '#/components/schemas/RTMPLocation' x-stream-index: '004' quality_name: type: string x-stream-index: '002' required: - enabled type: object UpsertExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object GetImportResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: '001' required: - duration title: Response type: object SessionSettings: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: '001' required: - inactivity_timeout_seconds type: object PushProvider: nullable: true properties: apn_auth_key: type: string x-stream-index: '012' apn_auth_type: type: string x-stream-index: '017' apn_development: type: boolean x-stream-index: 018 apn_host: type: string x-stream-index: 019 apn_key_id: type: string x-stream-index: '013' apn_notification_template: type: string x-stream-index: '020' apn_p12_cert: type: string x-stream-index: '014' apn_team_id: type: string x-stream-index: '015' apn_topic: type: string x-stream-index: '016' created_at: format: date-time type: number x-stream-index: 008 description: maxLength: 128 type: string x-stream-index: '007' disabled_at: format: date-time type: number x-stream-index: '010' disabled_reason: maxLength: 255 type: string x-stream-index: '011' firebase_apn_template: type: string x-stream-index: '025' firebase_credentials: type: string x-stream-index: '022' firebase_data_template: type: string x-stream-index: '023' firebase_host: type: string x-stream-index: '026' firebase_notification_template: type: string x-stream-index: '024' firebase_server_key: type: string x-stream-index: '021' huawei_app_id: type: string x-stream-index: '027' huawei_app_secret: type: string x-stream-index: 028 huawei_host: type: string x-stream-index: '032' name: maxLength: 36 minLength: 1 type: string x-stream-index: '005' push_templates: items: $ref: '#/components/schemas/PushTemplate' type: array x-stream-index: '031' type: type: string x-stream-index: '006' updated_at: format: date-time type: number x-stream-index: 009 xiaomi_app_secret: type: string x-stream-index: '030' xiaomi_package_name: type: string x-stream-index: 029 required: - name - type - created_at - updated_at type: object ImportV2TaskSettings: properties: merge_custom: type: boolean x-stream-index: '006' mode: type: string x-stream-index: '003' path: type: string x-stream-index: '004' s3: $ref: '#/components/schemas/ImportV2TaskSettingsS3' x-stream-index: '001' skip_references_check: type: boolean x-stream-index: '005' source: type: string x-stream-index: '002' type: object UpdateAppRequest: nullable: true properties: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: '001.053' allowed_flag_reasons: items: type: string type: array x-stream-index: '001.018' apn_config: $ref: '#/components/schemas/APNConfig' x-stream-index: '001.003' async_moderation_config: $ref: '#/components/schemas/AsyncModerationConfiguration' x-stream-index: '001.040' async_url_enrich_enabled: type: boolean x-stream-index: '001.020' auto_translation_enabled: type: boolean x-stream-index: '001.019' before_message_send_hook_url: type: string x-stream-index: '001.021' cdn_expiration_seconds: format: int32 maximum: 1209600 minimum: 14400 type: integer x-stream-index: '001.039' channel_hide_members_only: type: boolean x-stream-index: '001.034' custom_action_handler_url: type: string x-stream-index: '001.022' datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: '001.041' disable_auth_checks: type: boolean x-stream-index: '001.001' disable_permissions_checks: type: boolean x-stream-index: '001.002' enable_hook_payload_compression: type: boolean x-stream-index: '001.049' enforce_unique_usernames: enum: - 'no' - app - team type: string x-stream-index: '001.023' event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: '001.047' feeds_moderation_enabled: type: boolean x-stream-index: '001.043' feeds_v2_region: type: string x-stream-index: '001.042' file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '001.031' firebase_config: $ref: '#/components/schemas/FirebaseConfig' x-stream-index: '001.004' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '001.035' guest_user_creation_disabled: type: boolean x-stream-index: '001.044' huawei_config: $ref: '#/components/schemas/HuaweiConfig' x-stream-index: '001.005' image_moderation_block_labels: items: type: string type: array x-stream-index: '001.016' image_moderation_enabled: type: boolean x-stream-index: '001.017' image_moderation_labels: items: type: string type: array x-stream-index: '001.015' image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '001.030' max_aggregated_activities_length: format: int32 type: integer x-stream-index: '001.051' migrate_permissions_to_v2: type: boolean x-stream-index: '001.036' moderation_analytics_enabled: type: boolean x-stream-index: '001.010' moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: '001.045' moderation_enabled: type: boolean x-stream-index: '001.009' moderation_s3_image_access_role_arn: type: string x-stream-index: '001.052' moderation_webhook_url: type: string x-stream-index: '001.011' multi_tenant_enabled: type: boolean x-stream-index: '001.014' permission_version: enum: - v1 - v2 type: string x-stream-index: '001.012' push_config: $ref: '#/components/schemas/PushConfig' x-stream-index: '001.007' reminders_interval: format: int32 maximum: 86400 minimum: 60 type: integer x-stream-index: '001.037' reminders_max_members: format: int32 minimum: 2 type: integer x-stream-index: '001.038' revoke_tokens_issued_before: format: date-time type: number x-stream-index: '001.032' sns_key: type: string x-stream-index: '001.028' sns_secret: type: string x-stream-index: '001.029' sns_topic_arn: type: string x-stream-index: '001.027' sqs_key: type: string x-stream-index: '001.025' sqs_secret: type: string x-stream-index: '001.026' sqs_url: type: string x-stream-index: '001.024' user_response_time_enabled: type: boolean x-stream-index: '001.050' user_search_disallowed_roles: items: type: string maxItems: 10 type: array x-stream-index: '001.013' webhook_events: items: type: string type: array x-stream-index: '001.033' webhook_url: type: string x-stream-index: '001.008' xiaomi_config: $ref: '#/components/schemas/XiaomiConfig' x-stream-index: '001.006' type: object LimitInfoResponse: properties: limit: description: The maximum number of API calls allowed per time window format: int64 title: Limit type: integer x-stream-index: '001' remaining: description: The number of remaining calls in the current window format: int64 title: Remaining type: integer x-stream-index: '002' reset: description: The Unix timestamp when the rate limit resets format: int64 title: Reset type: integer x-stream-index: '003' required: - limit - remaining - reset title: LimitInfo type: object x-stream-docs-page-id: rate_limits PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: number x-stream-index: '002' type: object GetCustomPermissionResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' permission: $ref: '#/components/schemas/Permission' x-stream-index: '001' required: - permission - duration title: Response type: object DeleteImportV2TaskResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object UpdateUserGroupResponse: description: Response for updating a user group nullable: true properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: UpdateUserGroupResponse type: object ImportV2TaskSettingsS3: properties: bucket: type: string x-stream-index: '002' dir: type: string x-stream-index: '003' region: type: string x-stream-index: '001' type: object CreateGuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' description: User object which server acts upon title: User x-stream-index: '001' required: - user type: object UpdateBlockListRequest: nullable: true properties: is_leet_check_enabled: type: boolean x-stream-index: '005' is_plural_check_enabled: type: boolean x-stream-index: '006' team: type: string x-stream-index: '002' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '003' title: Update block list type: object x-stream-docs-page-id: update_block_list ValidateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object ListImportsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_tasks: items: $ref: '#/components/schemas/ImportTask' type: array x-stream-index: '001' required: - import_tasks - duration title: Response type: object PushNotificationFields: properties: apn: $ref: '#/components/schemas/APNConfigFields' x-stream-index: '002' firebase: $ref: '#/components/schemas/FirebaseConfigFields' x-stream-index: '003' huawei: $ref: '#/components/schemas/HuaweiConfigFields' x-stream-index: '004' offline_only: type: boolean x-stream-index: '001.002' providers: items: $ref: '#/components/schemas/PushProvider' type: array x-stream-index: '006' version: type: string x-stream-index: '001.001' xiaomi: $ref: '#/components/schemas/XiaomiConfigFields' x-stream-index: '005' required: - version - offline_only - apn - firebase - huawei - xiaomi type: object QueryUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' users: description: Array of users as result of filters applied. items: $ref: '#/components/schemas/FullUserResponse' title: Users type: array x-stream-index: '001' required: - users - duration type: object ReactivateUserRequest: nullable: true properties: created_by_id: description: ID of the user who's reactivating the user title: Created by ID type: string x-stream-index: '004' name: description: Set this field to put new name for the user title: Name type: string x-stream-index: '003' restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: '002' type: object PollOptionInput: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: '003' text: type: string x-stream-index: '002' type: object RestoreUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: object BlockUsersResponse: nullable: true properties: blocked_by_user_id: description: User id who blocked another user title: BlockedByUserID type: string x-stream-index: '002' blocked_user_id: description: User id who got blocked title: BlockedUserID type: string x-stream-index: '003' created_at: description: Timestamp when the user was blocked format: date-time title: CreatedAt type: number x-stream-index: '004' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration - blocked_by_user_id - blocked_user_id - created_at type: object GetUserGroupResponse: description: Response for getting a user group nullable: true properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The user group title: UserGroup x-stream-index: '001' required: - duration title: GetUserGroupResponse type: object TranscriptionSettings: properties: closed_caption_mode: description: 'One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '002' language: description: The language used in this call as a two letter code enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk title: Language type: string x-stream-index: '004' mode: enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '001' speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: '006' translation: $ref: '#/components/schemas/TranslationSettings' x-stream-index: '005' required: - mode - closed_caption_mode - languages - language type: object FileUploadResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' file: description: URL to the uploaded asset. Should be used to put to `asset_url` attachment field title: File type: string x-stream-index: '001' thumb_url: description: URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field title: Thumbnail URL type: string x-stream-index: '002' required: - duration type: object ModerationDashboardPreferences: properties: allowed_moderation_action_reasons: items: type: string type: array x-stream-index: '004' async_review_queue_upsert: type: boolean x-stream-index: '006' disable_audit_logs: type: boolean x-stream-index: '007' disable_flagging_reviewed_entity: type: boolean x-stream-index: '003' escalation_queue_enabled: type: boolean x-stream-index: '010' escalation_reasons: items: type: string type: array x-stream-index: 009 flag_user_on_flagged_content: type: boolean x-stream-index: '002' include_attachment_payload: type: boolean x-stream-index: '011' keyframe_classifications_map: additionalProperties: additionalProperties: type: boolean type: object type: object x-stream-index: 008 media_queue_blur_enabled: type: boolean x-stream-index: '001' overview_dashboard: $ref: '#/components/schemas/OverviewDashboardConfig' x-stream-index: '005' type: object ChannelPushPreferencesResponse: nullable: true properties: chat_level: type: string x-stream-index: '001' chat_preferences: $ref: '#/components/schemas/ChatPreferencesResponse' x-stream-index: '002' disabled_until: format: date-time type: number x-stream-index: '003' type: object UpdatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '004' id: description: Option ID maxLength: 255 title: string type: string x-stream-index: '002' text: description: Option text title: string type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' required: - id - text type: object IngressSettings: properties: audio_encoding_options: $ref: '#/components/schemas/IngressAudioEncodingOptions' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' video_encoding_options: additionalProperties: $ref: '#/components/schemas/IngressVideoEncodingOptions' type: object x-stream-index: '003' required: - enabled type: object BackstageSettings: properties: enabled: type: boolean x-stream-index: '001' join_ahead_time_seconds: format: int32 type: integer x-stream-index: '002' required: - enabled type: object ChannelMute: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Channel that is muted title: Channel x-stream-index: '002' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' expires: description: Date/time of mute expiration format: date-time title: Expires type: number x-stream-index: '003' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' description: Owner of channel mute title: User x-stream-index: '001' required: - created_at - updated_at type: object ListUserGroupsResponse: description: Response for listing user groups nullable: true properties: duration: type: string x-stream-index: '002.001' user_groups: description: List of user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: '001' required: - user_groups - duration title: ListUserGroupsResponse type: object OverviewDashboardConfig: properties: default_date_range_days: format: int32 type: integer x-stream-index: '003' visible_charts: items: type: string type: array x-stream-index: '002' type: object MessageResponse: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: 009 cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: '024' command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: '004' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '025' custom: additionalProperties: {} type: object x-stream-index: 028 deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '027' deleted_for_me: type: boolean x-stream-index: '050' deleted_reply_count: format: int32 type: integer x-stream-index: '020' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '047' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '005' i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: '036' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001' image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: '030' latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse' title: Latest reactions type: array x-stream-index: '010' member: $ref: '#/components/schemas/ChannelMemberResponse' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: 008 mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: '034' mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: '033' mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: '035' mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: '032' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: '031' message_text_updated_at: format: date-time type: number x-stream-index: '042' mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '045' own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse' title: Own reactions type: array x-stream-index: '011' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '017' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: number x-stream-docs-page-id: pinned_messages x-stream-index: '041' pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: 038 pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: number x-stream-docs-page-id: pinned_messages x-stream-index: 039 pinned_by: $ref: '#/components/schemas/UserResponse' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: '040' poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: '044' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '043' quoted_message: $ref: '#/components/schemas/MessageResponse' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: '022' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '021' reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: '012' reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: '016' reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: '013' reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: 048 reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: 019 restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: '046' shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: 029 shared_location: $ref: '#/components/schemas/SharedLocationResponseData' description: Contains shared location data title: Shared Location x-stream-index: 049 show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: 018 silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '037' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '002' thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: '023' type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '006' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '026' user: $ref: '#/components/schemas/UserResponse' description: Sender of the message. Required when using server-side API title: User object x-stream-index: '007' required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility title: Message type: object x-stream-docs-page-id: send_message DeactivateUsersRequest: description: Deactivate users request nullable: true properties: created_by_id: description: ID of the user who deactivated the users title: Created by ID type: string x-stream-index: '003' mark_channels_deleted: type: boolean x-stream-index: '004' mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: '002' user_ids: description: User IDs to deactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001' required: - user_ids title: DeactivateUsersRequest type: object SharedLocationsResponse: nullable: true properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData' type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - active_live_locations - duration type: object PollOptionRequest: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: '003' id: maxLength: 255 type: string x-stream-index: '001' text: type: string x-stream-index: '002' required: - id type: object QueryPollsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' polls: description: Polls data returned by the query items: $ref: '#/components/schemas/PollResponseData' title: PollsResponseData type: array x-stream-index: '001' prev: type: string x-stream-index: '002.002' required: - polls - duration type: object CreatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '003' text: description: Option text title: string type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - text type: object Attachment: description: An attachment is a message object that represents a file uploaded by a user. nullable: true properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: '015' asset_url: type: string x-stream-index: '017' author_icon: type: string x-stream-index: '007' author_link: type: string x-stream-index: '006' author_name: type: string x-stream-index: '005' color: type: string x-stream-index: '003' custom: additionalProperties: {} type: object x-stream-index: 018 fallback: type: string x-stream-index: '002' fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: '016' footer: type: string x-stream-index: '013' footer_icon: type: string x-stream-index: '014' giphy: $ref: '#/components/schemas/Images' x-stream-index: 019 image_url: type: string x-stream-index: '011' og_scrape_url: type: string x-stream-index: '020' original_height: format: int32 type: integer x-stream-index: '022' original_width: format: int32 type: integer x-stream-index: '021' pretext: type: string x-stream-index: '004' text: type: string x-stream-index: '010' thumb_url: type: string x-stream-index: '012' title: type: string x-stream-index: 008 title_link: type: string x-stream-index: 009 type: description: Attachment type (e.g. image, video, url) title: Type type: string x-stream-index: '001' required: - custom title: Attachment type: object x-stream-docs-page-id: file_uploads RingSettings: properties: auto_cancel_timeout_ms: format: int32 type: integer x-stream-index: '002' incoming_call_timeout_ms: format: int32 type: integer x-stream-index: '001' missed_call_timeout_ms: format: int32 type: integer x-stream-index: '003' required: - incoming_call_timeout_ms - auto_cancel_timeout_ms - missed_call_timeout_ms type: object DeleteExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object BlockListOptions: properties: behavior: description: 'Blocklist behavior. One of: flag, block, shadow_block' enum: - flag - block - shadow_block title: Behavior type: string x-stream-index: '002' blocklist: description: Blocklist name title: Blocklist type: string x-stream-index: '001' required: - blocklist - behavior type: object WebhookFailoverConfig: properties: gcs_bucket: type: string x-stream-index: '002' gcs_credentials: type: string x-stream-index: '004' gcs_path: type: string x-stream-index: '003' type: type: string x-stream-index: '001' type: object FrameRecordSettings: properties: capture_interval_in_seconds: format: int32 maximum: 60 minimum: 2 type: integer x-stream-index: '003' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' quality: type: string x-stream-index: '002' required: - mode - capture_interval_in_seconds type: object securitySchemes: JWT: description: 'JWT should be always provided when stream-auth-type=jwt. Using JWT auth request could be authenticated as user or as server-side. When using user authentication permission checking is going to be applied to requests based on the user that is performing a request. The `authorization` header should be a JWT string signed using the secret attached to the API key used to perform requests. **WARNING** all client-side official SDK do not ship with token generation; this is to make sure that the API secret is not shared with an untrusted party such as a browser or a iOS/Android application. Tokens **must** be generated server-side. If you wish, you can configure your application to ignore authentication (see `disable_auth_check`) The JWT string must include only the user_id claim and can include any built-in JWT claim such as iat, exp as well. ' in: header name: Authorization type: apiKey api_key: description: Application API key should be always set in order to authenticate the request. in: query name: api_key type: apiKey stream-auth-type: description: 'Stream-Auth-Type should be always set in order to authenticate the request. Possible values: `jwt` or `anonymous`. `jwt` allows you to authenticate as a user. With this auth type you should also provide valid JWT in Authorization header. `anonymous` allows you to authenticate as anonymous user. Please note that most advanced features are not available to anonymous users.' in: header name: Stream-Auth-Type type: apiKey