Appearance
Common
About 16927 wordsAbout 56 min
Ruby SDK - Feeds API
Table of Contents
- get_app
- update_app
- list_block_lists
- create_block_list
- get_block_list
- update_block_list
- delete_block_list
- check_push
- check_sns
- check_sqs
- list_devices
- create_device
- delete_device
- export_users
- list_external_storage
- create_external_storage
- update_external_storage
- delete_external_storage
- check_external_storage
- create_guest
- create_import_url
- list_imports
- create_import
- list_import_v2_tasks
- create_import_v2_task
- get_importer_external_storage
- upsert_importer_external_storage
- delete_importer_external_storage
- validate_importer_external_storage
- get_import_v2_task
- delete_import_v2_task
- get_import
- get_og
- list_permissions
- get_permission
- create_poll
- update_poll
- query_polls
- get_poll
- update_poll_partial
- delete_poll
- create_poll_option
- update_poll_option
- get_poll_option
- delete_poll_option
- query_poll_votes
- update_push_notification_preferences
- list_push_providers
- upsert_push_provider
- delete_push_provider
- get_push_templates
- upsert_push_template
- get_rate_limits
- list_roles
- create_role
- delete_role
- get_task
- upload_file
- delete_file
- upload_image
- delete_image
- list_user_groups
- create_user_group
- search_user_groups
- get_user_group
- update_user_group
- delete_user_group
- add_user_group_members
- remove_user_group_members
- query_users
- update_users
- update_users_partial
- get_blocked_users
- block_users
- deactivate_users
- delete_users
- get_user_live_locations
- update_live_location
- reactivate_users
- restore_users
- unblock_users
- deactivate_user
- export_user
- reactivate_user
- Types Reference
get_app
Retrieve the current application settings to understand and verify the configuration of your app. Use this method when you need to access or review the app's settings for troubleshooting or validation purposes.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get App Settings
response = client.get_app
puts responseResponse: GetApplicationResponse
update_app
Modify the application settings to adjust the configuration according to your requirements. This method is useful when you need to update settings to improve functionality or comply with new policies.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update App Settings
response = client.update_app(
activity_metrics_config: {},
allowed_flag_reasons: [],
apn_config: { disabled: false }
)
puts responseExample: with async_moderation_config and async_url_enrich_enabled
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update App Settings
response = client.update_app(
async_moderation_config: { callback: { mode: "value" } },
async_url_enrich_enabled: false
)
puts responseExample: with auto_translation_enabled and before_message_send_hook_url
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update App Settings
response = client.update_app(
auto_translation_enabled: false,
before_message_send_hook_url: "value"
)
puts responseExample: with cdn_expiration_seconds and channel_hide_members_only
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update App Settings
response = client.update_app(
cdn_expiration_seconds: 10,
channel_hide_members_only: false
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_metrics_config | Hash | No | - |
| allowed_flag_reasons | []string | No | - |
| apn_config | APNConfig | No | - |
| async_moderation_config | AsyncModerationConfiguration | No | - |
| async_url_enrich_enabled | Boolean | No | - |
| auto_translation_enabled | Boolean | No | - |
| before_message_send_hook_url | String | No | - |
| cdn_expiration_seconds | Integer | No | - |
| channel_hide_members_only | Boolean | No | - |
| custom_action_handler_url | String | No | - |
| datadog_info | DataDogInfo | No | - |
| disable_auth_checks | Boolean | No | - |
| disable_permissions_checks | Boolean | No | - |
| enforce_unique_usernames | String | No | - |
| event_hooks | []EventHook | No | - |
| feeds_moderation_enabled | Boolean | No | - |
| feeds_v2_region | String | No | - |
| file_upload_config | FileUploadConfig | No | - |
| firebase_config | FirebaseConfig | No | - |
| grants | Hash | No | - |
| guest_user_creation_disabled | Boolean | No | - |
| huawei_config | HuaweiConfig | No | - |
| image_moderation_block_labels | []string | No | - |
| image_moderation_enabled | Boolean | No | - |
| image_moderation_labels | []string | No | - |
| image_upload_config | FileUploadConfig | No | - |
| max_aggregated_activities_length | Integer | No | - |
| migrate_permissions_to_v2 | Boolean | No | - |
| moderation_analytics_enabled | Boolean | No | - |
| moderation_dashboard_preferences | ModerationDashboardPreferences | No | - |
| moderation_enabled | Boolean | No | - |
| moderation_s3_image_access_role_arn | String | No | - |
| moderation_webhook_url | String | No | - |
| multi_tenant_enabled | Boolean | No | - |
| permission_version | String | No | - |
| push_config | PushConfig | No | - |
| reminders_interval | Integer | No | - |
| reminders_max_members | Integer | No | - |
| revoke_tokens_issued_before | float | No | - |
| sns_key | String | No | - |
| sns_secret | String | No | - |
| sns_topic_arn | String | No | - |
| sqs_key | String | No | - |
| sqs_secret | String | No | - |
| sqs_url | String | No | - |
| user_response_time_enabled | Boolean | No | - |
| user_search_disallowed_roles | []string | No | - |
| webhook_events | []string | No | - |
| webhook_url | String | No | - |
| xiaomi_config | XiaomiConfig | No | - |
list_block_lists
Obtain a list of all block lists to manage or review the existing lists effectively. Use this method when you need a comprehensive overview of all block lists in your system.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List block lists
response = client.list_block_lists(
team: "value"
)
puts responseResponse: ListBlockListResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| team | String | No | - |
create_block_list
Establish a new block list to prevent certain elements from interacting with your application. This method is essential when introducing new restrictions or security measures.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create block list
response = client.create_block_list(
name: "My Feed",
words: [],
type: "like",
is_plural_check_enabled: false
)
puts responseExample: with team and is_leet_check_enabled
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create block list
response = client.create_block_list(
name: "My Feed",
words: [],
team: "value",
is_leet_check_enabled: false
)
puts responseResponse: CreateBlockListResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Block list name |
| words | []string | Yes | List of words to block |
| is_leet_check_enabled | Boolean | No | - |
| is_plural_check_enabled | Boolean | No | - |
| team | String | No | - |
| type | String | No | Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word |
get_block_list
Access the details of a specific block list to understand its contents and purpose. Use this method when you need to inspect or verify the entries of a particular block list.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get block list
response = client.get_block_list(
name: "My Feed",
team: "value"
)
puts responseResponse: GetBlockListResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
| team | String | No | - |
update_block_list
Modify an existing block list to add, remove, or change its entries. This is useful when updating the list to reflect new restrictions or allow previously blocked interactions.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update block list
response = client.update_block_list(
name: "My Feed",
is_leet_check_enabled: false,
is_plural_check_enabled: false
)
puts responseExample: with team and words
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update block list
response = client.update_block_list(
name: "My Feed",
team: "value",
words: []
)
puts responseResponse: UpdateBlockListResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
| is_leet_check_enabled | Boolean | No | - |
| is_plural_check_enabled | Boolean | No | - |
| team | String | No | - |
| words | []string | No | List of words to block |
delete_block_list
Remove a block list to eliminate its restrictions from your application. Use this method when a block list is no longer needed, or when consolidating lists for efficiency.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete block list
response = client.delete_block_list(
name: "My Feed",
team: "value"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
| team | String | No | - |
check_push
Verify the configuration and status of push notification services to ensure they are functioning correctly. This method is beneficial when diagnosing issues or confirming the setup of push notifications.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check push
response = client.check_push(
user_id: "john",
event_type: "value",
firebase_data_template: "value"
)
puts responseExample: with firebase_template and message_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check push
response = client.check_push(
firebase_template: "value",
message_id: "value"
)
puts responseExample: with push_provider_name and push_provider_type
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check push
response = client.check_push(
push_provider_name: "value",
push_provider_type: "value"
)
puts responseExample: with skip_devices and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check push
response = client.check_push(
skip_devices: false,
user: { id: "activity-123", custom: {} }
)
puts responseResponse: CheckPushResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| apn_template | String | No | Push message template for APN |
| event_type | String | No | Type of event for push templates (default: message.new). One of: message.new, message.updated, re... |
| firebase_data_template | String | No | Push message data template for Firebase |
| firebase_template | String | No | Push message template for Firebase |
| message_id | String | No | Message ID to send push notification for |
| push_provider_name | String | No | Name of push provider |
| push_provider_type | String | No | Push provider type. One of: firebase, apn, huawei, xiaomi |
| skip_devices | Boolean | No | Don't require existing devices to render templates |
| user | UserRequest | No | - |
| user_id | String | No | - |
check_sns
Check the configuration and status of SNS (Simple Notification Service) to ensure proper operation. Use this method when you need to troubleshoot or validate SNS integration.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check SNS
response = client.check_sns(
sns_key: "value",
sns_secret: "value",
sns_topic_arn: "value"
)
puts responseResponse: CheckSNSResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| sns_key | String | No | AWS SNS access key |
| sns_secret | String | No | AWS SNS key secret |
| sns_topic_arn | String | No | AWS SNS topic ARN |
check_sqs
Assess the configuration and status of SQS (Simple Queue Service) to ensure messages are being processed correctly. This is helpful for troubleshooting issues or confirming the setup of SQS.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check SQS
response = client.check_sqs(
sqs_key: "value",
sqs_secret: "value",
sqs_url: "value"
)
puts responseResponse: CheckSQSResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| sqs_key | String | No | AWS SQS access key |
| sqs_secret | String | No | AWS SQS key secret |
| sqs_url | String | No | AWS SQS endpoint URL |
list_devices
Retrieve a comprehensive list of all registered devices, useful for monitoring and managing device inventory.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List devices
response = client.list_devices(
user_id: "john"
)
puts responseResponse: ListDevicesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | No | - |
create_device
Add a new device to your system, ideal for onboarding new hardware into your network.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create device
response = client.create_device(
id: "activity-123",
push_provider: "value",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with push_provider_name and voip_token
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create device
response = client.create_device(
id: "activity-123",
push_provider: "value",
push_provider_name: "value",
voip_token: false
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Device ID |
| push_provider | String | Yes | Push provider |
| push_provider_name | String | No | Push provider name |
| user | UserRequest | No | - |
| user_id | String | No | Server-side only. User ID which server acts upon |
| voip_token | Boolean | No | When true the token is for Apple VoIP push notifications |
delete_device
Remove a specific device from your records, perfect for decommissioning or replacing outdated equipment.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete device
response = client.delete_device(
id: "activity-123",
user_id: "john"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| user_id | String | No | - |
export_users
Generate and download a complete list of users, helpful for data analysis or migration to other systems.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Export users
response = client.export_users(
user_ids: ["user-1", "user-2"]
)
puts responseResponse: ExportUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_ids | []string | Yes | - |
list_external_storage
Get an overview of all configured external storage options, useful for managing and optimizing data storage solutions.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List external storage
response = client.list_external_storage
puts responseResponse: ListExternalStorageResponse
create_external_storage
Set up a new external storage configuration, enabling you to expand your data storage capabilities.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create external storage
response = client.create_external_storage(
bucket: "value",
name: "My Feed",
storage_type: "value",
aws_s3: { s3_region: "value", s3_api_key: "value" },
azure_blob: { abs_account_name: "value", abs_client_id: "value", abs_client_secret: "value", abs_tenant_id: "value" }
)
puts responseExample: with gcs_credentials and path
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create external storage
response = client.create_external_storage(
bucket: "value",
name: "My Feed",
storage_type: "value",
gcs_credentials: "value",
path: "value"
)
puts responseResponse: CreateExternalStorageResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| bucket | String | Yes | The name of the bucket on the service provider |
| name | String | Yes | The name of the provider, this must be unique |
| storage_type | String | Yes | The type of storage to use |
| aws_s3 | S3Request | No | Only required if you want to create an Amazon S3 storage |
| azure_blob | AzureRequest | No | Only required if you want to create an Azure Blob Storage |
| gcs_credentials | String | No | - |
| path | String | No | The path prefix to use for storing files |
update_external_storage
Modify an existing external storage setup, allowing for adjustments in storage parameters or credentials.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update External Storage
response = client.update_external_storage(
name: "My Feed",
bucket: "value",
storage_type: "value",
aws_s3: { s3_region: "value", s3_api_key: "value" },
azure_blob: { abs_account_name: "value", abs_client_id: "value", abs_client_secret: "value", abs_tenant_id: "value" }
)
puts responseExample: with gcs_credentials and path
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update External Storage
response = client.update_external_storage(
name: "My Feed",
bucket: "value",
storage_type: "value",
gcs_credentials: "value",
path: "value"
)
puts responseResponse: UpdateExternalStorageResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
| bucket | String | Yes | The name of the bucket on the service provider |
| storage_type | String | Yes | The type of storage to use |
| aws_s3 | S3Request | No | Only required if you want to create an Amazon S3 storage |
| azure_blob | AzureRequest | No | Only required if you want to create an Azure Blob Storage |
| gcs_credentials | String | No | - |
| path | String | No | The path prefix to use for storing files |
delete_external_storage
Remove an external storage configuration, useful for retiring or replacing storage solutions.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete external storage
response = client.delete_external_storage(
name: "My Feed"
)
puts responseResponse: DeleteExternalStorageResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
check_external_storage
Verify the status and connectivity of an external storage system, ensuring reliable data access and storage integrity.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Check External Storage
response = client.check_external_storage(
name: "My Feed"
)
puts responseResponse: CheckExternalStorageResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
create_guest
Register a temporary guest user, ideal for providing limited access to your system without creating a permanent account.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create Guest
response = client.create_guest(
user: { id: "activity-123", custom: {} }
)
puts responseResponse: CreateGuestResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user | UserRequest | Yes | User object which server acts upon |
create_import_url
Generates a URL for importing data into the system, useful for initiating data imports via a web link.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create import URL
response = client.create_import_url(
filename: "value"
)
puts responseResponse: CreateImportURLResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filename | String | No | - |
list_imports
Retrieves a list of all active and completed data imports, helping users track the status and history of their import activities.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get import
response = client.list_imports
puts responseResponse: ListImportsResponse
create_import
Initiates a new data import process, allowing users to bring external data into the system for further analysis or usage.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create import
response = client.create_import(
mode: "value",
path: "value",
merge_custom: false
)
puts responseResponse: CreateImportResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| mode | String | Yes | - |
| path | String | Yes | - |
| merge_custom | Boolean | No | - |
list_import_v2_tasks
Provides a list of all tasks associated with the version 2 import process, enabling users to monitor and manage complex data import operations.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List import v2 tasks
response = client.list_import_v2_tasks(
state: 10
)
puts responseResponse: ListImportV2TasksResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| state | Integer | No | - |
create_import_v2_task
Starts a new task within the version 2 import framework, offering more granular control over individual data import operations.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create import v2 task
response = client.create_import_v2_task(
product: "value",
settings: { merge_custom: false },
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: CreateImportV2TaskResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| product | String | Yes | - |
| settings | ImportV2TaskSettings | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
get_importer_external_storage
Retrieve details about an external storage configuration. Use this method to check the settings of a previously configured external storage system.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get external storage
response = client.get_importer_external_storage
puts responseResponse: GetExternalStorageResponse
upsert_importer_external_storage
Create or update an external storage configuration. Use this method to ensure your external storage settings are current and correct.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert external storage
response = client.upsert_importer_external_storage(
type: "like",
aws_s3: { bucket: "value", region: "value", role_arn: "value", path_prefix: "value" }
)
puts responseResponse: UpsertExternalStorageResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | - |
| aws_s3 | UpsertExternalStorageAWSS3Request | No | - |
delete_importer_external_storage
Remove an existing external storage configuration. Use this method when you want to disconnect or clean up unused storage settings.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete external storage
response = client.delete_importer_external_storage
puts responseResponse: DeleteExternalStorageResponse
validate_importer_external_storage
Verify the connectivity and configuration of an external storage system. Use this method to test and confirm that your external storage setup is functioning properly.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Validate external storage
response = client.validate_importer_external_storage
puts responseResponse: ValidateExternalStorageResponse
get_import_v2_task
Fetches detailed information about a specific version 2 import task, allowing users to check the progress and details of their import activities.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get import v2 task
response = client.get_import_v2_task(
id: "activity-123"
)
puts responseResponse: GetImportV2TaskResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
delete_import_v2_task
Removes a specific task from the version 2 import process, useful for canceling unwanted or erroneous data import operations.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete import v2 task
response = client.delete_import_v2_task(
id: "activity-123"
)
puts responseResponse: DeleteImportV2TaskResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
get_import
Obtains details about a specific data import, providing users with insights into the import’s configuration and status.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get import
response = client.get_import(
id: "activity-123"
)
puts responseResponse: GetImportResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
get_og
Retrieves Open Graph data, which can be used to enhance the display of web content when shared on social media platforms.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get OG
response = client.get_og(
url: "value"
)
puts responseResponse: GetOGResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | String | Yes | - |
list_permissions
Lists all permissions available to a user or within a system, helping users understand their access rights and control over data and functionalities.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List permissions
response = client.list_permissions
puts responseResponse: ListPermissionsResponse
get_permission
Retrieve the permission settings for a specific user or entity, useful for checking access rights before performing operations.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get permission
response = client.get_permission(
id: "activity-123"
)
puts responseResponse: GetCustomPermissionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
create_poll
Initiate a new poll with specified parameters, ideal for gathering feedback or opinions from a group of users.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll
response = client.create_poll(
name: "My Feed",
user_id: "john",
id: "activity-123"
)
puts responseExample: with allow_user_suggested_options and description
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll
response = client.create_poll(
name: "My Feed",
allow_user_suggested_options: false,
description: "A description"
)
puts responseExample: with enforce_unique_vote and Custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll
response = client.create_poll(
name: "My Feed",
enforce_unique_vote: false,
custom: {}
)
puts responseExample: with is_closed and max_votes_allowed
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll
response = client.create_poll(
name: "My Feed",
is_closed: false,
max_votes_allowed: 10
)
puts responseResponse: PollResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | The name of the poll |
| custom | Hash | No | - |
| allow_answers | Boolean | No | Indicates whether users can suggest user defined answers |
| allow_user_suggested_options | Boolean | No | - |
| description | String | No | A description of the poll |
| enforce_unique_vote | Boolean | No | Indicates whether users can cast multiple votes |
| id | String | No | - |
| is_closed | Boolean | No | Indicates whether the poll is open for voting |
| max_votes_allowed | Integer | No | Indicates the maximum amount of votes a user can cast |
| options | []PollOptionInput | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
| voting_visibility | String | No | - |
update_poll
Modify an existing poll's details, such as its title or description, to keep it relevant and up-to-date.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll
response = client.update_poll(
id: "activity-123",
name: "My Feed",
user_id: "john",
allow_answers: false
)
puts responseExample: with allow_user_suggested_options and description
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll
response = client.update_poll(
id: "activity-123",
name: "My Feed",
allow_user_suggested_options: false,
description: "A description"
)
puts responseExample: with enforce_unique_vote and is_closed
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll
response = client.update_poll(
id: "activity-123",
name: "My Feed",
enforce_unique_vote: false,
is_closed: false
)
puts responseExample: with max_votes_allowed and options
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll
response = client.update_poll(
id: "activity-123",
name: "My Feed",
max_votes_allowed: 10,
options: []
)
puts responseResponse: PollResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Poll ID |
| name | String | Yes | Poll name |
| custom | Hash | No | - |
| allow_answers | Boolean | No | Allow answers |
| allow_user_suggested_options | Boolean | No | Allow user suggested options |
| description | String | No | Poll description |
| enforce_unique_vote | Boolean | No | Enforce unique vote |
| is_closed | Boolean | No | Is closed |
| max_votes_allowed | Integer | No | Max votes allowed |
| options | []PollOptionRequest | No | Poll options |
| user | UserRequest | No | - |
| user_id | String | No | - |
| voting_visibility | String | No | Voting visibility |
query_polls
Search and filter through existing polls based on specific criteria, helping you quickly find the polls of interest.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query polls
response = client.query_polls(
user_id: "john",
limit: 25,
filter: {}
)
puts responseExample: with sort and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query polls
response = client.query_polls(
sort: [],
prev: nil
)
puts responseExample: with next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query polls
response = client.query_polls(
next: nil
)
puts responseResponse: QueryPollsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | No | - |
| filter | Hash | No | Filter to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Array of sort parameters |
get_poll
Access the details of a specific poll, essential for reviewing its content and status before engagement.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get poll
response = client.get_poll(
poll_id: "poll-123",
user_id: "john"
)
puts responseResponse: PollResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| user_id | String | No | - |
update_poll_partial
Make targeted updates to specific fields of a poll without altering its entire structure, useful for quick adjustments.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial update poll
response = client.update_poll_partial(
poll_id: "poll-123",
user_id: "john",
unset: []
)
puts responseExample: with user and set
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial update poll
response = client.update_poll_partial(
poll_id: "poll-123",
user: { id: "activity-123", custom: {} },
set: {}
)
puts responseResponse: PollResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| set | Hash | No | Sets new field values |
| unset | []string | No | Array of field names to unset |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_poll
Remove a poll from the system, useful for maintaining a clean and relevant set of active polls.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete poll
response = client.delete_poll(
poll_id: "poll-123",
user_id: "john"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| user_id | String | No | - |
create_poll_option
Add a new option to an existing poll, expanding the choices available to participants for more comprehensive feedback.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll option
response = client.create_poll_option(
poll_id: "poll-123",
text: "Hello, world!",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with Custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create poll option
response = client.create_poll_option(
poll_id: "poll-123",
text: "Hello, world!",
custom: {}
)
puts responseResponse: PollOptionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| text | String | Yes | Option text |
| custom | Hash | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
update_poll_option
Modify an existing poll option to correct or improve the available responses, ensuring clarity and accuracy.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll option
response = client.update_poll_option(
poll_id: "poll-123",
id: "activity-123",
text: "Hello, world!",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with Custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update poll option
response = client.update_poll_option(
poll_id: "poll-123",
id: "activity-123",
text: "Hello, world!",
custom: {}
)
puts responseResponse: PollOptionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| id | String | Yes | Option ID |
| text | String | Yes | Option text |
| custom | Hash | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
get_poll_option
Retrieve details about a specific poll option, aiding in the analysis or review of available choices within a poll.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get poll option
response = client.get_poll_option(
poll_id: "poll-123",
option_id: "value",
user_id: "john"
)
puts responseResponse: PollOptionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| option_id | String | Yes | - |
| user_id | String | No | - |
delete_poll_option
Remove a specific option from a poll, useful for managing and updating active polls by eliminating outdated or incorrect choices.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete poll option
response = client.delete_poll_option(
poll_id: "poll-123",
option_id: "value",
user_id: "john"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| option_id | String | Yes | - |
| user_id | String | No | - |
query_poll_votes
Retrieve the current vote counts for a poll, enabling you to assess poll engagement and results in real-time.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query votes
response = client.query_poll_votes(
poll_id: "poll-123",
user_id: "john",
limit: 25
)
puts responseExample: with filter and sort
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query votes
response = client.query_poll_votes(
poll_id: "poll-123",
filter: {},
sort: []
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query votes
response = client.query_poll_votes(
poll_id: "poll-123",
prev: nil,
next: nil
)
puts responseResponse: PollVotesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| poll_id | String | Yes | - |
| user_id | String | No | - |
| filter | Hash | No | Filter to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Array of sort parameters |
update_push_notification_preferences
Modify user preferences for receiving push notifications, ensuring users only receive relevant and desired notifications.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Push notification preferences
response = client.update_push_notification_preferences(
preferences: []
)
puts responseResponse: UpsertPushPreferencesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| preferences | []PushPreferenceInput | Yes | A list of push preferences for channels, calls, or the user. |
list_push_providers
Obtain a list of all available push notification providers, helpful for understanding your options and managing your notification delivery services.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List push providers
response = client.list_push_providers
puts responseResponse: ListPushProvidersResponse
upsert_push_provider
Create or update the configuration of a push notification provider, allowing you to maintain an effective notification system by adding new providers or adjusting existing ones.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert a push provider
response = client.upsert_push_provider(
push_provider: { name: "My Feed", apn_auth_key: "value" }
)
puts responseResponse: UpsertPushProviderResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| push_provider | PushProviderRequest | No | - |
delete_push_provider
Remove a push notification provider from your system, ideal for cleaning up outdated configurations or switching to a different service provider.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a push provider
response = client.delete_push_provider(
type: "like",
name: "My Feed"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | - |
| name | String | Yes | - |
get_push_templates
Access a collection of predefined push notification templates, streamlining the process of sending consistent and branded notifications to your users.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get push notification templates
response = client.get_push_templates(
push_provider_type: "value",
push_provider_name: "value"
)
puts responseResponse: GetPushTemplatesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| push_provider_type | String | Yes | - |
| push_provider_name | String | No | - |
upsert_push_template
Create or update a push notification template, enabling you to maintain up-to-date and relevant messaging for your user communications.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert a push notification template
response = client.upsert_push_template(
event_type: "value",
push_provider_type: "value",
enable_push: false,
push_provider_name: "value"
)
puts responseExample: with template
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert a push notification template
response = client.upsert_push_template(
event_type: "value",
push_provider_type: "value",
template: "value"
)
puts responseResponse: UpsertPushTemplateResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| event_type | String | Yes | Event type. One of: message.new, message.updated, reaction.new, notification.reminder_due, feeds.... |
| push_provider_type | String | Yes | Push provider type. One of: firebase, apn, huawei, xiaomi |
| enable_push | Boolean | No | Whether to send push notification for this event |
| push_provider_name | String | No | Push provider name |
| template | String | No | Push template |
get_rate_limits
Retrieve the current rate limits applied to your API usage, helping you understand and manage your application's request throughput.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get rate limits
response = client.get_rate_limits(
server_side: false,
android: false,
ios: false
)
puts responseExample: with web and endpoints
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get rate limits
response = client.get_rate_limits(
web: false,
endpoints: "value"
)
puts responseResponse: GetRateLimitsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_side | Boolean | No | - |
| android | Boolean | No | - |
| ios | Boolean | No | - |
| web | Boolean | No | - |
| endpoints | String | No | - |
list_roles
Get a comprehensive list of all defined user roles within your application, useful for managing permissions and access control effectively.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List roles
response = client.list_roles
puts responseResponse: ListRolesResponse
create_role
Create a new role within the system to define specific permissions and access levels for users. Use this method to manage and assign roles that align with your organizational needs.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create role
response = client.create_role(
name: "My Feed"
)
puts responseResponse: CreateRoleResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Role name |
delete_role
Remove an existing role from the system to maintain an updated and efficient role management structure. Use this method when a role is no longer needed or applicable.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete role
response = client.delete_role(
name: "My Feed"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
get_task
Retrieve the current status and progress of a specific task to monitor its completion and identify potential issues. Use this method to track task performance and ensure timely updates.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get status of a task
response = client.get_task(
id: "activity-123"
)
puts responseResponse: GetTaskResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
upload_file
Add a file to the server to facilitate storage and access within your application. Use this method to manage file resources and enhance document availability for users.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upload file
response = client.upload_file(
file: "value",
user: { id: "activity-123" }
)
puts responseResponse: FileUploadResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | String | No | file field |
| user | OnlyUserID | No | user for the request server side only |
delete_file
Remove a file from the server to manage storage and ensure only relevant files are retained. Use this method to free up space and maintain an organized file system.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete file
response = client.delete_file(
url: "value"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | String | No | - |
upload_image
Upload an image to the server for integration into your application’s content. Use this method to manage visual assets and improve the aesthetic and functional aspects of your application.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upload image
response = client.upload_image(
file: "value",
upload_sizes: [],
user: { id: "activity-123" }
)
puts responseResponse: ImageUploadResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | String | No | - |
| upload_sizes | []ImageSize | No | field with JSON-encoded array of image size configurations |
| user | OnlyUserID | No | - |
delete_image
Delete an image from the server to manage space and ensure only necessary images are stored. Use this method when an image is outdated or no longer required.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete image
response = client.delete_image(
url: "value"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | String | No | - |
list_user_groups
Retrieve a list of all user groups. Use this method to view all existing user groups in your system for management or auditing purposes.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List user groups
response = client.list_user_groups(
limit: 25,
id_gt: "value",
created_at_gt: "value"
)
puts responseExample: with team_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List user groups
response = client.list_user_groups(
team_id: "value"
)
puts responseResponse: ListUserGroupsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | - |
| id_gt | String | No | - |
| created_at_gt | String | No | - |
| team_id | String | No | - |
create_user_group
Establish a new user group. Use this method to organize users into a new group for easier management and permissions assignment.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create user group
response = client.create_user_group(
name: "My Feed",
id: "activity-123",
description: "A description"
)
puts responseExample: with member_ids and team_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create user group
response = client.create_user_group(
name: "My Feed",
member_ids: [],
team_id: "value"
)
puts responseResponse: CreateUserGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | The user friendly name of the user group |
| description | String | No | An optional description for the group |
| id | String | No | Optional user group ID. If not provided, a UUID v7 will be generated |
| member_ids | []string | No | Optional initial list of user IDs to add as members |
| team_id | String | No | Optional team ID to scope the group to a team |
search_user_groups
Find user groups based on specific criteria. Use this method to quickly locate user groups that meet certain conditions or attributes.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Search user groups
response = client.search_user_groups(
query: "value",
limit: 25,
name_gt: "value"
)
puts responseExample: with id_gt and team_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Search user groups
response = client.search_user_groups(
query: "value",
id_gt: "value",
team_id: "value"
)
puts responseResponse: SearchUserGroupsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | String | Yes | - |
| limit | Integer | No | - |
| name_gt | String | No | - |
| id_gt | String | No | - |
| team_id | String | No | - |
get_user_group
Obtain detailed information about a specific user group. Use this method to review the properties and configuration of a particular user group.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get user group
response = client.get_user_group(
id: "activity-123",
team_id: "value"
)
puts responseResponse: GetUserGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| team_id | String | No | - |
update_user_group
Modify the details of an existing user group. Use this method to change the attributes or membership of a user group as needed.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update user group
response = client.update_user_group(
id: "activity-123",
name: "My Feed",
description: "A description"
)
puts responseExample: with team_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update user group
response = client.update_user_group(
id: "activity-123",
team_id: "value"
)
puts responseResponse: UpdateUserGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| description | String | No | The new description for the group |
| name | String | No | The new name of the user group |
| team_id | String | No | - |
delete_user_group
Remove a user group from the system. Use this method when a user group is no longer needed, to maintain cleanliness and organization.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete user group
response = client.delete_user_group(
id: "activity-123",
team_id: "value"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| team_id | String | No | - |
add_user_group_members
Use this method to add multiple users to a specified user group, streamlining group management and access control. Ideal for onboarding new team members or updating group memberships efficiently.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add user group members
response = client.add_user_group_members(
id: "activity-123",
member_ids: [],
as_admin: false,
team_id: "value"
)
puts responseResponse: AddUserGroupMembersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| member_ids | []string | Yes | List of user IDs to add as members |
| as_admin | Boolean | No | Whether to add the members as group admins. Defaults to false |
| team_id | String | No | - |
remove_user_group_members
This method allows you to remove multiple users from a specified user group, helping to maintain organized and current access permissions. It is useful for managing group changes when users no longer need access or have left a team.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Remove user group members
response = client.remove_user_group_members(
id: "activity-123",
member_ids: [],
team_id: "value"
)
puts responseResponse: RemoveUserGroupMembersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| member_ids | []string | Yes | List of user IDs to remove |
| team_id | String | No | - |
query_users
Retrieve information about users based on specific criteria to analyze user data or make informed decisions. Use this method to efficiently filter and access user details in your application.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query users
response = client.query_users(
payload: "value"
)
puts responseResponse: QueryUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| payload | No | - |
update_users
Add or modify user information to ensure current and accurate user data within the system. Use this method to manage user profiles effectively and support proper user engagement.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert users
response = client.update_users(
users: {}
)
puts responseResponse: UpdateUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| users | Hash | Yes | Object containing users |
update_users_partial
Apply partial updates to a user's information, allowing for specific changes without overwriting the entire user profile. Use this method for targeted updates to user data, enhancing flexibility and precision.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partially update user
response = client.update_users_partial(
users: []
)
puts responseResponse: UpdateUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| users | []UpdateUserPartialRequest | Yes | - |
get_blocked_users
Retrieve a list of users that have been blocked. Use this method to monitor and manage users who are restricted from accessing certain features or areas of your application.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get list of blocked Users
response = client.get_blocked_users(
user_id: "john"
)
puts responseResponse: GetBlockedUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | No | - |
block_users
Prevent specified users from accessing certain features or areas of your application. This method is useful for managing user behavior and maintaining community standards.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Block user
response = client.block_users(
blocked_user_id: "value",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: BlockUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| blocked_user_id | String | Yes | User id to block |
| user | UserRequest | No | - |
| user_id | String | No | - |
deactivate_users
Temporarily disable the accounts of specified users, making them inactive. Use this when you need to pause a user's access without permanently deleting their data.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Deactivate users
response = client.deactivate_users(
user_ids: ["user-1", "user-2"],
created_by_id: "value",
mark_channels_deleted: false
)
puts responseExample: with mark_messages_deleted
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Deactivate users
response = client.deactivate_users(
user_ids: ["user-1", "user-2"],
mark_messages_deleted: false
)
puts responseResponse: DeactivateUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_ids | []string | Yes | User IDs to deactivate |
| created_by_id | String | No | ID of the user who deactivated the users |
| mark_channels_deleted | Boolean | No | - |
| mark_messages_deleted | Boolean | No | Makes messages appear to be deleted |
delete_users
Permanently remove users and all their associated data from your application. Use this method for irreversible actions when you need to completely eliminate a user's presence.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete Users
response = client.delete_users(
user_ids: ["user-1", "user-2"],
calls: "value",
conversations: "value"
)
puts responseExample: with files and messages
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete Users
response = client.delete_users(
user_ids: ["user-1", "user-2"],
files: false,
messages: "value"
)
puts responseExample: with new_call_owner_id and new_channel_owner_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete Users
response = client.delete_users(
user_ids: ["user-1", "user-2"],
new_call_owner_id: "value",
new_channel_owner_id: "value"
)
puts responseExample: with user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete Users
response = client.delete_users(
user_ids: ["user-1", "user-2"],
user: { id: "john" }
)
puts responseResponse: DeleteUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_ids | []string | Yes | IDs of users to delete |
| calls | String | No | Calls delete mode. Affected calls are those that include exactly two members, one of whom is the ... |
| conversations | String | No | Conversation channels delete mode. Conversation channel is any channel which only has two members... |
| files | Boolean | No | Delete user files. * false or empty string - doesn't delete any files * true - deletes all files ... |
| messages | String | No | Message delete mode. * null or empty string - doesn't delete user messages * soft - marks all use... |
| new_call_owner_id | String | No | - |
| new_channel_owner_id | String | No | - |
| user | String | No | User delete mode. * soft - marks user as deleted and retains all user data * pruning - marks user... |
get_user_live_locations
Fetch the current live location data of users. This is useful in applications where real-time location tracking is necessary, such as delivery or ride-sharing services.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get user live locations
response = client.get_user_live_locations(
user_id: "john"
)
puts responseResponse: SharedLocationsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | No | - |
update_live_location
Update the live location data for a user. Use this method to ensure that your application has the most current and accurate location information for users.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update live location
response = client.update_live_location(
message_id: "value",
user_id: "john",
end_at: 10
)
puts responseExample: with latitude and longitude
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update live location
response = client.update_live_location(
message_id: "value",
latitude: 10,
longitude: 10
)
puts responseResponse: SharedLocationResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| message_id | String | Yes | Live location ID |
| user_id | String | No | - |
| end_at | float | No | Time when the live location expires |
| latitude | float | No | Latitude coordinate |
| longitude | float | No | Longitude coordinate |
reactivate_users
Reactivate previously deactivated user accounts, restoring their access to the application. Use this method to reinstate users who were temporarily paused.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reactivate users
response = client.reactivate_users(
user_ids: ["user-1", "user-2"],
created_by_id: "value",
restore_channels: false
)
puts responseExample: with restore_messages
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reactivate users
response = client.reactivate_users(
user_ids: ["user-1", "user-2"],
restore_messages: false
)
puts responseResponse: ReactivateUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_ids | []string | Yes | User IDs to reactivate |
| created_by_id | String | No | ID of the user who's reactivating the users |
| restore_channels | Boolean | No | - |
| restore_messages | Boolean | No | Restore previously deleted messages |
restore_users
Restore users and their data after they have been deleted, if you have a recovery mechanism in place. This is useful for recovering mistakenly deleted user accounts.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Restore users
response = client.restore_users(
user_ids: ["user-1", "user-2"]
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_ids | []string | Yes | - |
unblock_users
Remove the block on specified users, allowing them to regain access to previously restricted features or areas. Use this to reverse previous blocking actions when a user is deemed compliant.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unblock user
response = client.unblock_users(
blocked_user_id: "value",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: UnblockUsersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| blocked_user_id | String | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
deactivate_user
Temporarily deactivate a single user account, suspending their access. Use this when you need to pause an individual user's account without deleting their data.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Deactivate user
response = client.deactivate_user(
user_id: "john",
created_by_id: "value",
mark_messages_deleted: false
)
puts responseResponse: DeactivateUserResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | - |
| created_by_id | String | No | ID of the user who deactivated the user |
| mark_messages_deleted | Boolean | No | Makes messages appear to be deleted |
export_user
ExportUser allows you to retrieve all data associated with a specific user in a structured format, which is useful for data analysis, migration, or compliance purposes.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Export user
response = client.export_user(
user_id: "john"
)
puts responseResponse: ExportUserResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | - |
reactivate_user
ReactivateUser enables you to restore a previously deactivated user account, making it active again, which is beneficial for reinstating user access after temporary deactivation.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reactivate user
response = client.reactivate_user(
user_id: "john",
name: "My Feed",
created_by_id: "value"
)
puts responseExample: with restore_messages
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reactivate user
response = client.reactivate_user(
user_id: "john",
restore_messages: false
)
puts responseResponse: ReactivateUserResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | - |
| created_by_id | String | No | ID of the user who's reactivating the user |
| name | String | No | Set this field to put new name for the user |
| restore_messages | Boolean | No | Restore previously deleted messages |
Types Reference
This section documents the types/interfaces used in this API. These types are extracted from the OpenAPI specification.
AIImageConfig
# AIImageConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
ocr_rules: Array, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| ocr_rules | Array | No | |
| rules | Array | No |
AITextConfig
# AITextConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
profile: String, #
rules: Array, #
severity_rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| profile | String | No | |
| rules | Array | No | |
| severity_rules | Array | No |
AIVideoConfig
# AIVideoConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| rules | Array | No |
APNConfig
# APNConfig hash structure
{
Disabled: Boolean, #
auth_key: String, #
auth_type: String, #
bundle_id: String, #
development: Boolean, #
host: String, #
key_id: String, #
notification_template: String, #
p12_cert: String, #
team_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| Disabled | Boolean | No | |
| auth_key | String | No | |
| auth_type | String | No | |
| bundle_id | String | No | |
| development | Boolean | No | |
| host | String | No | |
| key_id | String | No | |
| notification_template | String | No | |
| p12_cert | String | No | |
| team_id | String | No |
Action
# Action hash structure
{
name: String, #
style: String, #
text: String, #
type: String, #
value: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | |
| text | String | Yes | |
| type | String | Yes | |
| style | String | No | |
| value | String | No |
AddUserGroupMembersResponse
Response for adding members to a user group
# AddUserGroupMembersResponse hash structure
{
duration: String, #
user_group: UserGroupResponse # The updated user group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
AppResponseFields
# AppResponseFields hash structure
{
activity_metrics_config: Hash, #
allow_multi_user_devices: Boolean, #
allowed_flag_reasons: Array, #
async_url_enrich_enabled: Boolean, #
auto_translation_enabled: Boolean, #
before_message_send_hook_url: String, #
call_types: Hash, #
campaign_enabled: Boolean, #
cdn_expiration_seconds: Numeric, #
channel_configs: Hash, #
custom_action_handler_url: String, #
datadog_info: DataDogInfo, #
disable_auth_checks: Boolean, #
disable_permissions_checks: Boolean, #
enforce_unique_usernames: String, #
event_hooks: Array, #
file_upload_config: FileUploadConfig, #
geofences: Array, #
grants: Hash, #
guest_user_creation_disabled: Boolean, #
id: Numeric, #
image_moderation_enabled: Boolean, #
image_moderation_labels: Array, #
image_upload_config: FileUploadConfig, #
max_aggregated_activities_length: Numeric, #
moderation_audio_call_moderation_enabled: Boolean, #
moderation_dashboard_preferences: ModerationDashboardPreferences, #
moderation_enabled: Boolean, #
moderation_llm_configurability_enabled: Boolean, #
moderation_multitenant_blocklist_enabled: Boolean, #
moderation_s3_image_access_role_arn: String, #
moderation_video_call_moderation_enabled: Boolean, #
moderation_webhook_url: String, #
multi_tenant_enabled: Boolean, #
name: String, #
organization: String, #
permission_version: String, #
placement: String, #
policies: Hash, #
push_notifications: PushNotificationFields, #
reminders_interval: Numeric, #
revoke_tokens_issued_before: Numeric, #
sns_key: String, #
sns_secret: String, #
sns_topic_arn: String, #
sqs_key: String, #
sqs_secret: String, #
sqs_url: String, #
suspended: Boolean, #
suspended_explanation: String, #
use_hook_v2: Boolean, #
user_response_time_enabled: Boolean, #
user_search_disallowed_roles: Array, #
webhook_events: Array, #
webhook_url: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allow_multi_user_devices | Boolean | Yes | |
| async_url_enrich_enabled | Boolean | Yes | |
| auto_translation_enabled | Boolean | Yes | |
| call_types | Hash | Yes | |
| campaign_enabled | Boolean | Yes | |
| cdn_expiration_seconds | Numeric | Yes | |
| channel_configs | Hash | Yes | |
| custom_action_handler_url | String | Yes | |
| disable_auth_checks | Boolean | Yes | |
| disable_permissions_checks | Boolean | Yes | |
| enforce_unique_usernames | String | Yes | |
| event_hooks | Array | Yes | |
| file_upload_config | FileUploadConfig | Yes | |
| grants | Hash | Yes | |
| guest_user_creation_disabled | Boolean | Yes | |
| id | Numeric | Yes | |
| image_moderation_enabled | Boolean | Yes | |
| image_upload_config | FileUploadConfig | Yes | |
| max_aggregated_activities_length | Numeric | Yes | |
| moderation_audio_call_moderation_enabled | Boolean | Yes | |
| moderation_enabled | Boolean | Yes | |
| moderation_llm_configurability_enabled | Boolean | Yes | |
| moderation_multitenant_blocklist_enabled | Boolean | Yes | |
| moderation_video_call_moderation_enabled | Boolean | Yes | |
| moderation_webhook_url | String | Yes | |
| multi_tenant_enabled | Boolean | Yes | |
| name | String | Yes | |
| organization | String | Yes | |
| permission_version | String | Yes | |
| placement | String | Yes | |
| policies | Hash | Yes | |
| push_notifications | PushNotificationFields | Yes | |
| reminders_interval | Numeric | Yes | |
| sns_key | String | Yes | |
| sns_secret | String | Yes | |
| sns_topic_arn | String | Yes | |
| sqs_key | String | Yes | |
| sqs_secret | String | Yes | |
| sqs_url | String | Yes | |
| suspended | Boolean | Yes | |
| suspended_explanation | String | Yes | |
| use_hook_v2 | Boolean | Yes | |
| user_response_time_enabled | Boolean | Yes | |
| user_search_disallowed_roles | Array | Yes | |
| webhook_events | Array | Yes | |
| webhook_url | String | Yes | |
| activity_metrics_config | Hash | No | |
| allowed_flag_reasons | Array | No | |
| before_message_send_hook_url | String | No | |
| datadog_info | DataDogInfo | No | |
| geofences | Array | No | |
| image_moderation_labels | Array | No | |
| moderation_dashboard_preferences | ModerationDashboardPreferences | No | |
| moderation_s3_image_access_role_arn | String | No | |
| revoke_tokens_issued_before | Numeric | No |
AsyncModerationCallbackConfig
# AsyncModerationCallbackConfig hash structure
{
mode: String, #
server_url: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | String | No | |
| server_url | String | No |
AsyncModerationConfiguration
# AsyncModerationConfiguration hash structure
{
callback: AsyncModerationCallbackConfig, #
timeout_ms: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| callback | AsyncModerationCallbackConfig | No | |
| timeout_ms | Numeric | No |
AutomodPlatformCircumventionConfig
# AutomodPlatformCircumventionConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| rules | Array | No |
AutomodSemanticFiltersConfig
# AutomodSemanticFiltersConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| rules | Array | No |
AutomodToxicityConfig
# AutomodToxicityConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| rules | Array | No |
AzureRequest
Config for creating Azure Blob Storage storage
# AzureRequest hash structure
{
abs_account_name: String, # The account name
abs_client_id: String, # The client id
abs_client_secret: String, # The client secret
abs_tenant_id: String # The tenant id
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| abs_account_name | String | Yes | The account name |
| abs_client_id | String | Yes | The client id |
| abs_client_secret | String | Yes | The client secret |
| abs_tenant_id | String | Yes | The tenant id |
BlockListConfig
# BlockListConfig hash structure
{
async: Boolean, #
enabled: Boolean, #
match_substring: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| async | Boolean | No | |
| enabled | Boolean | No | |
| match_substring | Boolean | No | |
| rules | Array | No |
BlockListResponse
Block list contains restricted words
# BlockListResponse hash structure
{
created_at: Numeric, # Date/time of creation
id: String, #
is_leet_check_enabled: Boolean, #
is_plural_check_enabled: Boolean, #
name: String, # Block list name
team: String, #
type: String, # Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word
updated_at: Numeric, # Date/time of the last update
words: Array # List of words to block
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| is_leet_check_enabled | Boolean | Yes | |
| is_plural_check_enabled | Boolean | Yes | |
| name | String | Yes | Block list name |
| type | String | Yes | Block list type. One of: regex, domain, domain_allowlist, email, email_allowl... |
| words | Array | Yes | List of words to block |
| created_at | Numeric | No | Date/time of creation |
| id | String | No | |
| team | String | No | |
| updated_at | Numeric | No | Date/time of the last update |
BlockUsersResponse
# BlockUsersResponse hash structure
{
blocked_by_user_id: String, # User id who blocked another user
blocked_user_id: String, # User id who got blocked
created_at: Numeric, # Timestamp when the user was blocked
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocked_by_user_id | String | Yes | User id who blocked another user |
| blocked_user_id | String | Yes | User id who got blocked |
| created_at | Numeric | Yes | Timestamp when the user was blocked |
| duration | String | Yes | Duration of the request in milliseconds |
BlockedUserResponse
# BlockedUserResponse hash structure
{
blocked_user: UserResponse, # User who got blocked
blocked_user_id: String, # ID of the user who got blocked
created_at: Numeric, #
user: UserResponse, # User who blocked another user
user_id: String # ID of the user who blocked another user
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocked_user | UserResponse | Yes | User who got blocked |
| blocked_user_id | String | Yes | ID of the user who got blocked |
| created_at | Numeric | Yes | |
| user | UserResponse | Yes | User who blocked another user |
| user_id | String | Yes | ID of the user who blocked another user |
BodyguardImageAnalysisConfig
# BodyguardImageAnalysisConfig hash structure
{
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| rules | Array | No |
ChannelResponse
Represents channel in chat
# ChannelResponse hash structure
{
auto_translation_enabled: Boolean, # Whether auto translation is enabled or not
auto_translation_language: String, # Language to translate to when auto translation is active
blocked: Boolean, # Whether this channel is blocked by current user or not
cid: String, # Channel CID (<type>:<id>)
config: ChannelConfigWithInfo, # Channel configuration
cooldown: Numeric, # Cooldown period after sending each message
created_at: Numeric, # Date/time of creation
created_by: UserResponse, # Creator of the channel
custom: Hash, # Custom data for this object
deleted_at: Numeric, # Date/time of deletion
disabled: Boolean, #
filter_tags: Array, # List of filter tags associated with the channel
frozen: Boolean, # Whether channel is frozen or not
hidden: Boolean, # Whether this channel is hidden by current user or not
hide_messages_before: Numeric, # Date since when the message history is accessible
id: String, # Channel unique ID
last_message_at: Numeric, # Date of the last message sent
member_count: Numeric, # Number of members in the channel
members: Array, # List of channel members (max 100)
message_count: Numeric, # Number of messages in the channel
mute_expires_at: Numeric, # Date of mute expiration
muted: Boolean, # Whether this channel is muted or not
own_capabilities: Array, # List of channel capabilities of authenticated user
team: String, # Team the channel belongs to (multi-tenant only)
truncated_at: Numeric, # Date of the latest truncation of the channel
truncated_by: UserResponse, #
type: String, # Type of the channel
updated_at: Numeric # Date/time of the last update
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| cid | String | Yes | Channel CID (<type>:<id>) |
| created_at | Numeric | Yes | Date/time of creation |
| custom | Hash | Yes | Custom data for this object |
| disabled | Boolean | Yes | |
| frozen | Boolean | Yes | Whether channel is frozen or not |
| id | String | Yes | Channel unique ID |
| type | String | Yes | Type of the channel |
| updated_at | Numeric | Yes | Date/time of the last update |
| auto_translation_enabled | Boolean | No | Whether auto translation is enabled or not |
| auto_translation_language | String | No | Language to translate to when auto translation is active |
| blocked | Boolean | No | Whether this channel is blocked by current user or not |
| config | ChannelConfigWithInfo | No | Channel configuration |
| cooldown | Numeric | No | Cooldown period after sending each message |
| created_by | UserResponse | No | Creator of the channel |
| deleted_at | Numeric | No | Date/time of deletion |
| filter_tags | Array | No | List of filter tags associated with the channel |
| hidden | Boolean | No | Whether this channel is hidden by current user or not |
| hide_messages_before | Numeric | No | Date since when the message history is accessible |
| last_message_at | Numeric | No | Date of the last message sent |
| member_count | Numeric | No | Number of members in the channel |
| members | Array | No | List of channel members (max 100) |
| message_count | Numeric | No | Number of messages in the channel |
| mute_expires_at | Numeric | No | Date of mute expiration |
| muted | Boolean | No | Whether this channel is muted or not |
| own_capabilities | Array | No | List of channel capabilities of authenticated user |
| team | String | No | Team the channel belongs to (multi-tenant only) |
| truncated_at | Numeric | No | Date of the latest truncation of the channel |
| truncated_by | UserResponse | No |
ChatPreferencesInput
# ChatPreferencesInput hash structure
{
channel_mentions: String, #
default_preference: String, #
direct_mentions: String, #
group_mentions: String, #
here_mentions: String, #
role_mentions: String, #
thread_replies: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_mentions | String | No | |
| default_preference | String | No | |
| direct_mentions | String | No | |
| group_mentions | String | No | |
| here_mentions | String | No | |
| role_mentions | String | No | |
| thread_replies | String | No |
CheckExternalStorageResponse
Basic response information
# CheckExternalStorageResponse hash structure
{
duration: String, # Duration of the request in milliseconds
file_url: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| file_url | String | Yes |
CheckPushResponse
# CheckPushResponse hash structure
{
device_errors: Hash, # Object with device errors
duration: String, #
event_type: String, # The event type that was tested
general_errors: Array, # List of general errors
rendered_apn_template: String, #
rendered_firebase_template: String, #
rendered_message: Hash, #
skip_devices: Boolean # Don't require existing devices to render templates
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| device_errors | Hash | No | Object with device errors |
| event_type | String | No | The event type that was tested |
| general_errors | Array | No | List of general errors |
| rendered_apn_template | String | No | |
| rendered_firebase_template | String | No | |
| rendered_message | Hash | No | |
| skip_devices | Boolean | No | Don't require existing devices to render templates |
CheckSNSResponse
# CheckSNSResponse hash structure
{
data: Hash, # Error data
duration: String, #
error: String, # Error text
status: String # Validation result. One of: ok, error
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| status | String | Yes | Validation result. One of: ok, error |
| data | Hash | No | Error data |
| error | String | No | Error text |
CheckSQSResponse
# CheckSQSResponse hash structure
{
data: Hash, # Error data
duration: String, #
error: String, # Error text
status: String # Validation result. One of: ok, error
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| status | String | Yes | Validation result. One of: ok, error |
| data | Hash | No | Error data |
| error | String | No | Error text |
CreateBlockListResponse
Basic response information
# CreateBlockListResponse hash structure
{
blocklist: BlockListResponse, #
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| blocklist | BlockListResponse | No |
CreateExternalStorageResponse
Basic response information
# CreateExternalStorageResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
CreateGuestResponse
# CreateGuestResponse hash structure
{
access_token: String, # the access token to authenticate the user
duration: String, # Duration of the request in milliseconds
user: UserResponse # User object which server acts upon
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_token | String | Yes | the access token to authenticate the user |
| duration | String | Yes | Duration of the request in milliseconds |
| user | UserResponse | Yes | User object which server acts upon |
CreateImportResponse
Basic response information
# CreateImportResponse hash structure
{
duration: String, # Duration of the request in milliseconds
import_task: ImportTask #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| import_task | ImportTask | No |
CreateImportURLResponse
Basic response information
# CreateImportURLResponse hash structure
{
duration: String, # Duration of the request in milliseconds
path: String, #
upload_url: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| path | String | Yes | |
| upload_url | String | Yes |
CreateImportV2TaskResponse
Basic response information
# CreateImportV2TaskResponse hash structure
{
app_pk: Numeric, #
created_at: Numeric, #
duration: String, # Duration of the request in milliseconds
id: String, #
product: String, #
settings: ImportV2TaskSettings, #
state: Numeric, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app_pk | Numeric | Yes | |
| created_at | Numeric | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| id | String | Yes | |
| product | String | Yes | |
| settings | ImportV2TaskSettings | Yes | |
| state | Numeric | Yes | |
| updated_at | Numeric | Yes |
CreateRoleResponse
Basic response information
# CreateRoleResponse hash structure
{
duration: String, # Duration of the request in milliseconds
role: Role #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| role | Role | Yes |
CreateUserGroupResponse
Response for creating a user group
# CreateUserGroupResponse hash structure
{
duration: String, #
user_group: UserGroupResponse # The created user group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_group | UserGroupResponse | No | The created user group |
Data
# Data hash structure
{
id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes |
DataDogInfo
# DataDogInfo hash structure
{
api_key: String, #
enabled: Boolean, #
site: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| api_key | String | No | |
| enabled | Boolean | No | |
| site | String | No |
DeactivateUserResponse
# DeactivateUserResponse hash structure
{
duration: String, # Duration of the request in milliseconds
user: UserResponse # Deactivated user object
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| user | UserResponse | No | Deactivated user object |
DeactivateUsersResponse
Basic response information
# DeactivateUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
task_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| task_id | String | Yes |
DeleteExternalStorageResponse
Basic response information
# DeleteExternalStorageResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
DeleteImportV2TaskResponse
Basic response information
# DeleteImportV2TaskResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
DeleteUsersResponse
# DeleteUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
task_id: String # ID of the task to delete users
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| task_id | String | Yes | ID of the task to delete users |
DeviceResponse
Response for Device
# DeviceResponse hash structure
{
created_at: Numeric, # Date/time of creation
disabled: Boolean, # Whether device is disabled or not
disabled_reason: String, # Reason explaining why device had been disabled
id: String, # Device ID
push_provider: String, # Push provider
push_provider_name: String, # Push provider name
user_id: String, # User ID
voip: Boolean # When true the token is for Apple VoIP push notifications
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | Date/time of creation |
| id | String | Yes | Device ID |
| push_provider | String | Yes | Push provider |
| user_id | String | Yes | User ID |
| disabled | Boolean | No | Whether device is disabled or not |
| disabled_reason | String | No | Reason explaining why device had been disabled |
| push_provider_name | String | No | Push provider name |
| voip | Boolean | No | When true the token is for Apple VoIP push notifications |
ErrorResult
# ErrorResult hash structure
{
stacktrace: String, #
type: String, #
version: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | |
| stacktrace | String | No | |
| version | String | No |
EventHook
# EventHook hash structure
{
callback: AsyncModerationCallbackConfig, #
created_at: Numeric, #
enabled: Boolean, #
event_types: Array, #
hook_type: String, #
id: String, #
product: String, #
should_send_custom_events: Boolean, #
sns_auth_type: String, #
sns_event_based_message_group_id_enabled: Boolean, #
sns_key: String, #
sns_region: String, #
sns_role_arn: String, #
sns_secret: String, #
sns_topic_arn: String, #
sqs_auth_type: String, #
sqs_key: String, #
sqs_queue_url: String, #
sqs_region: String, #
sqs_role_arn: String, #
sqs_secret: String, #
timeout_ms: Numeric, #
updated_at: Numeric, #
webhook_url: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| callback | AsyncModerationCallbackConfig | No | |
| created_at | Numeric | No | |
| enabled | Boolean | No | |
| event_types | Array | No | |
| hook_type | String | No | |
| id | String | No | |
| product | String | No | |
| should_send_custom_events | Boolean | No | |
| sns_auth_type | String | No | |
| sns_event_based_message_group_id_enabled | Boolean | No | |
| sns_key | String | No | |
| sns_region | String | No | |
| sns_role_arn | String | No | |
| sns_secret | String | No | |
| sns_topic_arn | String | No | |
| sqs_auth_type | String | No | |
| sqs_key | String | No | |
| sqs_queue_url | String | No | |
| sqs_region | String | No | |
| sqs_role_arn | String | No | |
| sqs_secret | String | No | |
| timeout_ms | Numeric | No | |
| updated_at | Numeric | No | |
| webhook_url | String | No |
ExportUserResponse
# ExportUserResponse hash structure
{
duration: String, # Duration of the request in milliseconds
messages: Array, # List of exported messages
reactions: Array, # List of exported reactions
user: UserResponse # Exported user object
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| messages | Array | No | List of exported messages |
| reactions | Array | No | List of exported reactions |
| user | UserResponse | No | Exported user object |
ExportUsersResponse
Basic response information
# ExportUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
task_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| task_id | String | Yes |
FeedsPreferences
# FeedsPreferences hash structure
{
comment: String, # Push notification preference for comments on user's activities. One of: all, none
comment_mention: String, # Push notification preference for mentions in comments. One of: all, none
comment_reaction: String, # Push notification preference for reactions on comments. One of: all, none
comment_reply: String, # Push notification preference for replies to comments. One of: all, none
custom_activity_types: Hash, # Push notification preferences for custom activity types. Map of activity type to preference (all or none)
follow: String, # Push notification preference for new followers. One of: all, none
mention: String, # Push notification preference for mentions in activities. One of: all, none
reaction: String # Push notification preference for reactions on user's activities or comments. One of: all, none
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | String | No | Push notification preference for comments on user's activities. One of: all, ... |
| comment_mention | String | No | Push notification preference for mentions in comments. One of: all, none |
| comment_reaction | String | No | Push notification preference for reactions on comments. One of: all, none |
| comment_reply | String | No | Push notification preference for replies to comments. One of: all, none |
| custom_activity_types | Hash | No | Push notification preferences for custom activity types. Map of activity type... |
| follow | String | No | Push notification preference for new followers. One of: all, none |
| mention | String | No | Push notification preference for mentions in activities. One of: all, none |
| reaction | String | No | Push notification preference for reactions on user's activities or comments. ... |
Field
# Field hash structure
{
short: Boolean, #
title: String, #
value: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| short | Boolean | Yes | |
| title | String | Yes | |
| value | String | Yes |
FileUploadConfig
# FileUploadConfig hash structure
{
allowed_file_extensions: Array, #
allowed_mime_types: Array, #
blocked_file_extensions: Array, #
blocked_mime_types: Array, #
size_limit: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| size_limit | Numeric | Yes | |
| allowed_file_extensions | Array | No | |
| allowed_mime_types | Array | No | |
| blocked_file_extensions | Array | No | |
| blocked_mime_types | Array | No |
FileUploadResponse
# FileUploadResponse hash structure
{
duration: String, # Duration of the request in milliseconds
file: String, # URL to the uploaded asset. Should be used to put to `asset_url` attachment field
thumb_url: String # URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| file | String | No | URL to the uploaded asset. Should be used to put to asset_url attachment field |
| thumb_url | String | No | URL of the file thumbnail for supported file formats. Should be put to `thumb... |
FirebaseConfig
# FirebaseConfig hash structure
{
Disabled: Boolean, #
apn_template: String, #
credentials_json: String, #
data_template: String, #
notification_template: String, #
server_key: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| Disabled | Boolean | No | |
| apn_template | String | No | |
| credentials_json | String | No | |
| data_template | String | No | |
| notification_template | String | No | |
| server_key | String | No |
FullUserResponse
# FullUserResponse hash structure
{
avg_response_time: Numeric, #
ban_expires: Numeric, #
banned: Boolean, #
blocked_user_ids: Array, #
bypass_moderation: Boolean, #
channel_mutes: Array, #
created_at: Numeric, #
custom: Hash, #
deactivated_at: Numeric, #
deleted_at: Numeric, #
devices: Array, #
id: String, #
image: String, #
invisible: Boolean, #
language: String, #
last_active: Numeric, #
latest_hidden_channels: Array, #
mutes: Array, #
name: String, #
online: Boolean, #
privacy_settings: PrivacySettingsResponse, #
revoke_tokens_issued_before: Numeric, #
role: String, #
shadow_banned: Boolean, #
teams: Array, #
teams_role: Hash, #
total_unread_count: Numeric, #
unread_channels: Numeric, #
unread_count: Numeric, #
unread_threads: Numeric, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | Boolean | Yes | |
| blocked_user_ids | Array | Yes | |
| channel_mutes | Array | Yes | |
| created_at | Numeric | Yes | |
| custom | Hash | Yes | |
| devices | Array | Yes | |
| id | String | Yes | |
| invisible | Boolean | Yes | |
| language | String | Yes | |
| mutes | Array | Yes | |
| online | Boolean | Yes | |
| role | String | Yes | |
| shadow_banned | Boolean | Yes | |
| teams | Array | Yes | |
| total_unread_count | Numeric | Yes | |
| unread_channels | Numeric | Yes | |
| unread_count | Numeric | Yes | |
| unread_threads | Numeric | Yes | |
| updated_at | Numeric | Yes | |
| avg_response_time | Numeric | No | |
| ban_expires | Numeric | No | |
| bypass_moderation | Boolean | No | |
| deactivated_at | Numeric | No | |
| deleted_at | Numeric | No | |
| image | String | No | |
| last_active | Numeric | No | |
| latest_hidden_channels | Array | No | |
| name | String | No | |
| privacy_settings | PrivacySettingsResponse | No | |
| revoke_tokens_issued_before | Numeric | No | |
| teams_role | Hash | No |
GetApplicationResponse
Basic response information
# GetApplicationResponse hash structure
{
app: AppResponseFields, #
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app | AppResponseFields | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
GetBlockListResponse
Response for get block list
# GetBlockListResponse hash structure
{
blocklist: BlockListResponse, # Block list object
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| blocklist | BlockListResponse | No | Block list object |
GetBlockedUsersResponse
# GetBlockedUsersResponse hash structure
{
blocks: Array, # Array of blocked user object
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocks | Array | Yes | Array of blocked user object |
| duration | String | Yes | Duration of the request in milliseconds |
GetCustomPermissionResponse
Basic response information
# GetCustomPermissionResponse hash structure
{
duration: String, # Duration of the request in milliseconds
permission: Permission #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| permission | Permission | Yes |
GetExternalStorageAWSS3Response
# GetExternalStorageAWSS3Response hash structure
{
bucket: String, #
path_prefix: String, #
region: String, #
role_arn: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bucket | String | Yes | |
| region | String | Yes | |
| role_arn | String | Yes | |
| path_prefix | String | No |
GetExternalStorageResponse
Basic response information
# GetExternalStorageResponse hash structure
{
aws_s3: GetExternalStorageAWSS3Response, #
created_at: Numeric, #
duration: String, # Duration of the request in milliseconds
type: String, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| type | String | Yes | |
| updated_at | Numeric | Yes | |
| aws_s3 | GetExternalStorageAWSS3Response | No |
GetImportResponse
Basic response information
# GetImportResponse hash structure
{
duration: String, # Duration of the request in milliseconds
import_task: ImportTask #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| import_task | ImportTask | No |
GetImportV2TaskResponse
Basic response information
# GetImportV2TaskResponse hash structure
{
app_pk: Numeric, #
created_at: Numeric, #
duration: String, # Duration of the request in milliseconds
id: String, #
product: String, #
result: Hash, #
settings: ImportV2TaskSettings, #
state: Numeric, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app_pk | Numeric | Yes | |
| created_at | Numeric | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| id | String | Yes | |
| product | String | Yes | |
| settings | ImportV2TaskSettings | Yes | |
| state | Numeric | Yes | |
| updated_at | Numeric | Yes | |
| result | Hash | No |
GetOGResponse
# GetOGResponse hash structure
{
actions: Array, #
asset_url: String, # URL of detected video or audio
author_icon: String, #
author_link: String, # og:site
author_name: String, # og:site_name
color: String, #
custom: Hash, #
duration: String, #
fallback: String, #
fields: Array, #
footer: String, #
footer_icon: String, #
giphy: Images, #
image_url: String, # URL of detected image
og_scrape_url: String, # extracted url from the text
original_height: Numeric, #
original_width: Numeric, #
pretext: String, #
text: String, # og:description
thumb_url: String, # URL of detected thumb image
title: String, # og:title
title_link: String, # og:url
type: String # Attachment type, could be empty, image, audio or video
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | Yes | |
| duration | String | Yes | |
| actions | Array | No | |
| asset_url | String | No | URL of detected video or audio |
| author_icon | String | No | |
| author_link | String | No | og:site |
| author_name | String | No | og:site_name |
| color | String | No | |
| fallback | String | No | |
| fields | Array | No | |
| footer | String | No | |
| footer_icon | String | No | |
| giphy | Images | No | |
| image_url | String | No | URL of detected image |
| og_scrape_url | String | No | extracted url from the text |
| original_height | Numeric | No | |
| original_width | Numeric | No | |
| pretext | String | No | |
| text | String | No | og:description |
| thumb_url | String | No | URL of detected thumb image |
| title | String | No | og:title |
| title_link | String | No | og:url |
| type | String | No | Attachment type, could be empty, image, audio or video |
GetPushTemplatesResponse
Basic response information
# GetPushTemplatesResponse hash structure
{
duration: String, # Duration of the request in milliseconds
templates: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| templates | Array | Yes |
GetRateLimitsResponse
# GetRateLimitsResponse hash structure
{
android: Hash, # Map of endpoint rate limits for the Android platform
duration: String, #
ios: Hash, # Map of endpoint rate limits for the iOS platform
server_side: Hash, # Map of endpoint rate limits for the server-side platform
web: Hash # Map of endpoint rate limits for the web platform
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| android | Hash | No | Map of endpoint rate limits for the Android platform |
| ios | Hash | No | Map of endpoint rate limits for the iOS platform |
| server_side | Hash | No | Map of endpoint rate limits for the server-side platform |
| web | Hash | No | Map of endpoint rate limits for the web platform |
GetTaskResponse
# GetTaskResponse hash structure
{
created_at: Numeric, #
duration: String, #
error: ErrorResult, # Error produced by task
result: Hash, # Result produced by task after completion
status: String, # Current status of task
task_id: String, # ID of task
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| duration | String | Yes | |
| status | String | Yes | Current status of task |
| task_id | String | Yes | ID of task |
| updated_at | Numeric | Yes | |
| error | ErrorResult | No | Error produced by task |
| result | Hash | No | Result produced by task after completion |
GetUserGroupResponse
Response for getting a user group
# GetUserGroupResponse hash structure
{
duration: String, #
user_group: UserGroupResponse # The user group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_group | UserGroupResponse | No | The user group |
GoogleVisionConfig
# GoogleVisionConfig hash structure
{
enabled: Boolean #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | Boolean | No |
HuaweiConfig
# HuaweiConfig hash structure
{
Disabled: Boolean, #
id: String, #
secret: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| Disabled | Boolean | No | |
| id | String | No | |
| secret | String | No |
ImageSize
# ImageSize hash structure
{
crop: String, # Crop mode. One of: top, bottom, left, right, center
height: Numeric, # Target image height
resize: String, # Resize method. One of: clip, crop, scale, fill
width: Numeric # Target image width
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| crop | String | No | Crop mode. One of: top, bottom, left, right, center |
| height | Numeric | No | Target image height |
| resize | String | No | Resize method. One of: clip, crop, scale, fill |
| width | Numeric | No | Target image width |
ImageUploadResponse
# ImageUploadResponse hash structure
{
duration: String, # Duration of the request in milliseconds
file: String, #
thumb_url: String, #
upload_sizes: Array # Array of image size configurations
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| file | String | No | |
| thumb_url | String | No | |
| upload_sizes | Array | No | Array of image size configurations |
Images
# Images hash structure
{
fixed_height: ImageData, #
fixed_height_downsampled: ImageData, #
fixed_height_still: ImageData, #
fixed_width: ImageData, #
fixed_width_downsampled: ImageData, #
fixed_width_still: ImageData, #
original: ImageData #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| fixed_height | ImageData | Yes | |
| fixed_height_downsampled | ImageData | Yes | |
| fixed_height_still | ImageData | Yes | |
| fixed_width | ImageData | Yes | |
| fixed_width_downsampled | ImageData | Yes | |
| fixed_width_still | ImageData | Yes | |
| original | ImageData | Yes |
ImportTask
# ImportTask hash structure
{
created_at: Numeric, #
history: Array, #
id: String, #
mode: String, #
path: String, #
size: Numeric, #
state: String, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| history | Array | Yes | |
| id | String | Yes | |
| mode | String | Yes | |
| path | String | Yes | |
| state | String | Yes | |
| updated_at | Numeric | Yes | |
| size | Numeric | No |
ImportV2TaskItem
# ImportV2TaskItem hash structure
{
app_pk: Numeric, #
created_at: Numeric, #
id: String, #
product: String, #
result: Hash, #
settings: ImportV2TaskSettings, #
state: Numeric, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app_pk | Numeric | Yes | |
| created_at | Numeric | Yes | |
| id | String | Yes | |
| product | String | Yes | |
| settings | ImportV2TaskSettings | Yes | |
| state | Numeric | Yes | |
| updated_at | Numeric | Yes | |
| result | Hash | No |
ImportV2TaskSettings
# ImportV2TaskSettings hash structure
{
merge_custom: Boolean, #
mode: String, #
path: String, #
s3: ImportV2TaskSettingsS3, #
skip_references_check: Boolean, #
source: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| merge_custom | Boolean | No | |
| mode | String | No | |
| path | String | No | |
| s3 | ImportV2TaskSettingsS3 | No | |
| skip_references_check | Boolean | No | |
| source | String | No |
ImportV2TaskSettingsS3
# ImportV2TaskSettingsS3 hash structure
{
bucket: String, #
dir: String, #
region: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bucket | String | No | |
| dir | String | No | |
| region | String | No |
LLMConfig
# LLMConfig hash structure
{
app_context: String, #
async: Boolean, #
enabled: Boolean, #
rules: Array, #
severity_descriptions: Hash #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| app_context | String | No | |
| async | Boolean | No | |
| enabled | Boolean | No | |
| rules | Array | No | |
| severity_descriptions | Hash | No |
ListBlockListResponse
Basic response information
# ListBlockListResponse hash structure
{
blocklists: Array, #
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| blocklists | Array | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
ListDevicesResponse
List devices response
# ListDevicesResponse hash structure
{
devices: Array, # List of devices
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| devices | Array | Yes | List of devices |
| duration | String | Yes |
ListExternalStorageResponse
Basic response information
# ListExternalStorageResponse hash structure
{
duration: String, # Duration of the request in milliseconds
external_storages: Hash #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| external_storages | Hash | Yes |
ListImportV2TasksResponse
Basic response information
# ListImportV2TasksResponse hash structure
{
duration: String, # Duration of the request in milliseconds
import_tasks: Array, #
next: String, #
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| import_tasks | Array | Yes | |
| next | String | No | |
| prev | String | No |
ListImportsResponse
Basic response information
# ListImportsResponse hash structure
{
duration: String, # Duration of the request in milliseconds
import_tasks: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| import_tasks | Array | Yes |
ListPermissionsResponse
Basic response information
# ListPermissionsResponse hash structure
{
duration: String, # Duration of the request in milliseconds
permissions: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| permissions | Array | Yes |
ListPushProvidersResponse
Basic response information
# ListPushProvidersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
push_providers: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| push_providers | Array | Yes |
ListRolesResponse
Basic response information
# ListRolesResponse hash structure
{
duration: String, # Duration of the request in milliseconds
roles: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| roles | Array | Yes |
ListUserGroupsResponse
Response for listing user groups
# ListUserGroupsResponse hash structure
{
duration: String, #
user_groups: Array # List of user groups
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_groups | Array | Yes | List of user groups |
MessageResponse
Represents any chat message
# MessageResponse hash structure
{
attachments: Array, # Array of message attachments
cid: String, # Channel unique identifier in <type>:<id> format
command: String, # Contains provided slash command
created_at: Numeric, # Date/time of creation
custom: Hash, #
deleted_at: Numeric, # Date/time of deletion
deleted_for_me: Boolean, #
deleted_reply_count: Numeric, #
draft: DraftResponse, #
html: String, # Contains HTML markup of the message. Can only be set when using server-side API
i18n: Hash, # Object with translations. Key `language` contains the original language key. Other keys contain translations
id: String, # Message ID is unique string identifier of the message
image_labels: Hash, # Contains image moderation information
latest_reactions: Array, # List of 10 latest reactions to this message
member: ChannelMemberResponse, # Channel member data for the message sender including only the `channel_role`
mentioned_channel: Boolean, # Whether the message mentioned the channel tag
mentioned_group_ids: Array, # 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
mentioned_here: Boolean, # Whether the message mentioned online users with @here tag
mentioned_roles: Array, # 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
mentioned_users: Array, # List of mentioned users
message_text_updated_at: Numeric, #
mml: String, # Should be empty if `text` is provided. Can only be set when using server-side API
moderation: ModerationV2Response, #
own_reactions: Array, # List of 10 latest reactions of authenticated user to this message
parent_id: String, # ID of parent message (thread)
pin_expires: Numeric, # Date when pinned message expires
pinned: Boolean, # Whether message is pinned or not
pinned_at: Numeric, # Date when message got pinned
pinned_by: UserResponse, # Contains user who pinned the message
poll: PollResponseData, #
poll_id: String, # Identifier of the poll to include in the message
quoted_message: MessageResponse, # Contains quoted message
quoted_message_id: String, #
reaction_counts: Hash, # An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)
reaction_groups: Hash, #
reaction_scores: Hash, # An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)
reminder: ReminderResponseData, #
reply_count: Numeric, # Number of replies to this message
restricted_visibility: Array, # 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
shadowed: Boolean, # Whether the message was shadowed or not
shared_location: SharedLocationResponseData, # Contains shared location data
show_in_channel: Boolean, # Whether thread reply should be shown in the channel as well
silent: Boolean, # Whether message is silent or not
text: String, # Text of the message. Should be empty if `mml` is provided
thread_participants: Array, # List of users who participate in thread
type: String, # Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted
updated_at: Numeric, # Date/time of the last update
user: UserResponse # Sender of the message. Required when using server-side API
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Array | Yes | Array of message attachments |
| cid | String | Yes | Channel unique identifier in <type>:<id> format |
| created_at | Numeric | Yes | Date/time of creation |
| custom | Hash | Yes | |
| deleted_reply_count | Numeric | Yes | |
| html | String | Yes | Contains HTML markup of the message. Can only be set when using server-side API |
| id | String | Yes | Message ID is unique string identifier of the message |
| latest_reactions | Array | Yes | List of 10 latest reactions to this message |
| mentioned_channel | Boolean | Yes | Whether the message mentioned the channel tag |
| mentioned_here | Boolean | Yes | Whether the message mentioned online users with @here tag |
| mentioned_users | Array | Yes | List of mentioned users |
| own_reactions | Array | Yes | List of 10 latest reactions of authenticated user to this message |
| pinned | Boolean | Yes | Whether message is pinned or not |
| reaction_counts | Hash | Yes | An object containing number of reactions of each type. Key: reaction type (st... |
| reaction_scores | Hash | Yes | An object containing scores of reactions of each type. Key: reaction type (st... |
| reply_count | Numeric | Yes | Number of replies to this message |
| restricted_visibility | Array | Yes | A list of user ids that have restricted visibility to the message, if the lis... |
| shadowed | Boolean | Yes | Whether the message was shadowed or not |
| silent | Boolean | Yes | Whether message is silent or not |
| text | String | Yes | Text of the message. Should be empty if mml is provided |
| type | String | Yes | Contains type of the message. One of: regular, ephemeral, error, reply, syste... |
| updated_at | Numeric | Yes | Date/time of the last update |
| user | UserResponse | Yes | Sender of the message. Required when using server-side API |
| command | String | No | Contains provided slash command |
| deleted_at | Numeric | No | Date/time of deletion |
| deleted_for_me | Boolean | No | |
| draft | DraftResponse | No | |
| i18n | Hash | No | Object with translations. Key language contains the original language key. ... |
| image_labels | Hash | No | Contains image moderation information |
| member | ChannelMemberResponse | No | Channel member data for the message sender including only the channel_role |
| mentioned_group_ids | Array | No | List of user group IDs mentioned in the message. Group members who are also c... |
| mentioned_roles | Array | No | List of roles mentioned in the message (e.g. admin, channel_moderator, custom... |
| message_text_updated_at | Numeric | No | |
| mml | String | No | Should be empty if text is provided. Can only be set when using server-side... |
| moderation | ModerationV2Response | No | |
| parent_id | String | No | ID of parent message (thread) |
| pin_expires | Numeric | No | Date when pinned message expires |
| pinned_at | Numeric | No | Date when message got pinned |
| pinned_by | UserResponse | No | Contains user who pinned the message |
| poll | PollResponseData | No | |
| poll_id | String | No | Identifier of the poll to include in the message |
| quoted_message | MessageResponse | No | Contains quoted message |
| quoted_message_id | String | No | |
| reaction_groups | Hash | No | |
| reminder | ReminderResponseData | No | |
| shared_location | SharedLocationResponseData | No | Contains shared location data |
| show_in_channel | Boolean | No | Whether thread reply should be shown in the channel as well |
| thread_participants | Array | No | List of users who participate in thread |
ModerationConfig
# ModerationConfig hash structure
{
ai_image_config: AIImageConfig, #
ai_image_lite_config: BodyguardImageAnalysisConfig, #
ai_text_config: AITextConfig, #
ai_video_config: AIVideoConfig, #
async: Boolean, #
automod_platform_circumvention_config: AutomodPlatformCircumventionConfig, #
automod_semantic_filters_config: AutomodSemanticFiltersConfig, #
automod_toxicity_config: AutomodToxicityConfig, #
block_list_config: BlockListConfig, #
created_at: Numeric, #
google_vision_config: GoogleVisionConfig, #
key: String, #
llm_config: LLMConfig, #
supported_video_call_harm_types: Array, #
team: String, #
updated_at: Numeric, #
velocity_filter_config: VelocityFilterConfig, #
video_call_rule_config: VideoCallRuleConfig #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| ai_image_config | AIImageConfig | No | |
| ai_image_lite_config | BodyguardImageAnalysisConfig | No | |
| ai_text_config | AITextConfig | No | |
| ai_video_config | AIVideoConfig | No | |
| async | Boolean | No | |
| automod_platform_circumvention_config | AutomodPlatformCircumventionConfig | No | |
| automod_semantic_filters_config | AutomodSemanticFiltersConfig | No | |
| automod_toxicity_config | AutomodToxicityConfig | No | |
| block_list_config | BlockListConfig | No | |
| created_at | Numeric | No | |
| google_vision_config | GoogleVisionConfig | No | |
| key | String | No | |
| llm_config | LLMConfig | No | |
| supported_video_call_harm_types | Array | No | |
| team | String | No | |
| updated_at | Numeric | No | |
| velocity_filter_config | VelocityFilterConfig | No | |
| video_call_rule_config | VideoCallRuleConfig | No |
ModerationDashboardPreferences
# ModerationDashboardPreferences hash structure
{
allowed_moderation_action_reasons: Array, #
async_review_queue_upsert: Boolean, #
disable_audit_logs: Boolean, #
disable_flagging_reviewed_entity: Boolean, #
escalation_queue_enabled: Boolean, #
escalation_reasons: Array, #
flag_user_on_flagged_content: Boolean, #
keyframe_classifications_map: Hash, #
media_queue_blur_enabled: Boolean, #
overview_dashboard: OverviewDashboardConfig #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allowed_moderation_action_reasons | Array | No | |
| async_review_queue_upsert | Boolean | No | |
| disable_audit_logs | Boolean | No | |
| disable_flagging_reviewed_entity | Boolean | No | |
| escalation_queue_enabled | Boolean | No | |
| escalation_reasons | Array | No | |
| flag_user_on_flagged_content | Boolean | No | |
| keyframe_classifications_map | Hash | No | |
| media_queue_blur_enabled | Boolean | No | |
| overview_dashboard | OverviewDashboardConfig | No |
OnlyUserID
# OnlyUserID hash structure
{
id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes |
OverviewDashboardConfig
# OverviewDashboardConfig hash structure
{
default_date_range_days: Numeric, #
visible_charts: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| default_date_range_days | Numeric | No | |
| visible_charts | Array | No |
PagerRequest
# PagerRequest hash structure
{
limit: Numeric, #
next: String, #
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| limit | Numeric | No | |
| next | String | No | |
| prev | String | No |
Permission
# Permission hash structure
{
action: String, # Action name this permission is for (e.g. SendMessage)
condition: Hash, # MongoDB style condition which decides whether or not the permission is granted
custom: Boolean, # Whether this is a custom permission or built-in
description: String, # Description of the permission
id: String, # Unique permission ID
level: String, # Level at which permission could be applied (app or channel). One of: app, channel
name: String, # Name of the permission
owner: Boolean, # Whether this permission applies to resource owner or not
same_team: Boolean, # Whether this permission applies to teammates (multi-tenancy mode only)
tags: Array # List of tags of the permission
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | Action name this permission is for (e.g. SendMessage) |
| custom | Boolean | Yes | Whether this is a custom permission or built-in |
| description | String | Yes | Description of the permission |
| id | String | Yes | Unique permission ID |
| level | String | Yes | Level at which permission could be applied (app or channel). One of: app, cha... |
| name | String | Yes | Name of the permission |
| owner | Boolean | Yes | Whether this permission applies to resource owner or not |
| same_team | Boolean | Yes | Whether this permission applies to teammates (multi-tenancy mode only) |
| tags | Array | Yes | List of tags of the permission |
| condition | Hash | No | MongoDB style condition which decides whether or not the permission is granted |
PollOptionInput
# PollOptionInput hash structure
{
custom: Hash, #
text: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | No | |
| text | String | No |
PollOptionRequest
# PollOptionRequest hash structure
{
custom: Hash, #
id: String, #
text: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | |
| custom | Hash | No | |
| text | String | No |
PollOptionResponse
# PollOptionResponse hash structure
{
duration: String, # Duration of the request in milliseconds
poll_option: PollOptionResponseData # Poll option
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| poll_option | PollOptionResponseData | Yes | Poll option |
PollOptionResponseData
# PollOptionResponseData hash structure
{
custom: Hash, #
id: String, #
text: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | Yes | |
| id | String | Yes | |
| text | String | Yes |
PollResponse
# PollResponse hash structure
{
duration: String, # Duration of the request in milliseconds
poll: PollResponseData # Poll
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| poll | PollResponseData | Yes | Poll |
PollResponseData
# PollResponseData hash structure
{
allow_answers: Boolean, #
allow_user_suggested_options: Boolean, #
answers_count: Numeric, #
created_at: Numeric, #
created_by: UserResponse, #
created_by_id: String, #
custom: Hash, #
description: String, #
enforce_unique_vote: Boolean, #
id: String, #
is_closed: Boolean, #
latest_answers: Array, #
latest_votes_by_option: Hash, #
max_votes_allowed: Numeric, #
name: String, #
options: Array, #
own_votes: Array, #
updated_at: Numeric, #
vote_count: Numeric, #
vote_counts_by_option: Hash, #
voting_visibility: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allow_answers | Boolean | Yes | |
| allow_user_suggested_options | Boolean | Yes | |
| answers_count | Numeric | Yes | |
| created_at | Numeric | Yes | |
| created_by_id | String | Yes | |
| custom | Hash | Yes | |
| description | String | Yes | |
| enforce_unique_vote | Boolean | Yes | |
| id | String | Yes | |
| latest_answers | Array | Yes | |
| latest_votes_by_option | Hash | Yes | |
| name | String | Yes | |
| options | Array | Yes | |
| own_votes | Array | Yes | |
| updated_at | Numeric | Yes | |
| vote_count | Numeric | Yes | |
| vote_counts_by_option | Hash | Yes | |
| voting_visibility | String | Yes | |
| created_by | UserResponse | No | |
| is_closed | Boolean | No | |
| max_votes_allowed | Numeric | No |
PollVoteResponseData
# PollVoteResponseData hash structure
{
answer_text: String, #
created_at: Numeric, #
id: String, #
is_answer: Boolean, #
option_id: String, #
poll_id: String, #
updated_at: Numeric, #
user: UserResponse, #
user_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| id | String | Yes | |
| option_id | String | Yes | |
| poll_id | String | Yes | |
| updated_at | Numeric | Yes | |
| answer_text | String | No | |
| is_answer | Boolean | No | |
| user | UserResponse | No | |
| user_id | String | No |
PollVotesResponse
# PollVotesResponse hash structure
{
duration: String, # Duration of the request in milliseconds
next: String, #
prev: String, #
votes: Array # Poll votes
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| votes | Array | Yes | Poll votes |
| next | String | No | |
| prev | String | No |
PrivacySettingsResponse
# PrivacySettingsResponse hash structure
{
delivery_receipts: DeliveryReceiptsResponse, #
read_receipts: ReadReceiptsResponse, #
typing_indicators: TypingIndicatorsResponse #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| delivery_receipts | DeliveryReceiptsResponse | No | |
| read_receipts | ReadReceiptsResponse | No | |
| typing_indicators | TypingIndicatorsResponse | No |
PushConfig
# PushConfig hash structure
{
offline_only: Boolean, #
version: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| version | String | Yes | |
| offline_only | Boolean | No |
PushPreferenceInput
# PushPreferenceInput hash structure
{
call_level: String, # Set the level of call push notifications for the user. One of: all, none, default
channel_cid: String, # Set the push preferences for a specific channel. If empty it sets the default for the user
chat_level: String, # 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
chat_preferences: ChatPreferencesInput, #
disabled_until: Numeric, # Disable push notifications till a certain time
feeds_level: String, # Set the level of feeds push notifications for the user. One of: all, none, default
feeds_preferences: FeedsPreferences, # Set granular feeds preferences for reactions, comments, new followers, mentions, and custom activity types
remove_disable: Boolean, # Remove the disabled until time. (IE stop snoozing notifications)
user_id: String # The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth.
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_level | String | No | Set the level of call push notifications for the user. One of: all, none, def... |
| channel_cid | String | No | Set the push preferences for a specific channel. If empty it sets the default... |
| chat_level | String | No | Set the level of chat push notifications for the user. Note: "mentions" is de... |
| chat_preferences | ChatPreferencesInput | No | |
| disabled_until | Numeric | No | Disable push notifications till a certain time |
| feeds_level | String | No | Set the level of feeds push notifications for the user. One of: all, none, de... |
| feeds_preferences | FeedsPreferences | No | Set granular feeds preferences for reactions, comments, new followers, mentio... |
| remove_disable | Boolean | No | Remove the disabled until time. (IE stop snoozing notifications) |
| user_id | String | No | The user id for which to set the push preferences. Required when using server... |
PushProvider
# PushProvider hash structure
{
apn_auth_key: String, #
apn_auth_type: String, #
apn_development: Boolean, #
apn_host: String, #
apn_key_id: String, #
apn_notification_template: String, #
apn_p12_cert: String, #
apn_team_id: String, #
apn_topic: String, #
created_at: Numeric, #
description: String, #
disabled_at: Numeric, #
disabled_reason: String, #
firebase_apn_template: String, #
firebase_credentials: String, #
firebase_data_template: String, #
firebase_host: String, #
firebase_notification_template: String, #
firebase_server_key: String, #
huawei_app_id: String, #
huawei_app_secret: String, #
huawei_host: String, #
name: String, #
push_templates: Array, #
type: String, #
updated_at: Numeric, #
xiaomi_app_secret: String, #
xiaomi_package_name: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| name | String | Yes | |
| type | String | Yes | |
| updated_at | Numeric | Yes | |
| apn_auth_key | String | No | |
| apn_auth_type | String | No | |
| apn_development | Boolean | No | |
| apn_host | String | No | |
| apn_key_id | String | No | |
| apn_notification_template | String | No | |
| apn_p12_cert | String | No | |
| apn_team_id | String | No | |
| apn_topic | String | No | |
| description | String | No | |
| disabled_at | Numeric | No | |
| disabled_reason | String | No | |
| firebase_apn_template | String | No | |
| firebase_credentials | String | No | |
| firebase_data_template | String | No | |
| firebase_host | String | No | |
| firebase_notification_template | String | No | |
| firebase_server_key | String | No | |
| huawei_app_id | String | No | |
| huawei_app_secret | String | No | |
| huawei_host | String | No | |
| push_templates | Array | No | |
| xiaomi_app_secret | String | No | |
| xiaomi_package_name | String | No |
PushProviderRequest
# PushProviderRequest hash structure
{
apn_auth_key: String, #
apn_auth_type: String, #
apn_development: Boolean, #
apn_host: String, #
apn_key_id: String, #
apn_notification_template: String, #
apn_p12_cert: String, #
apn_team_id: String, #
apn_topic: String, #
description: String, #
disabled_at: Numeric, #
disabled_reason: String, #
firebase_apn_template: String, #
firebase_credentials: String, #
firebase_data_template: String, #
firebase_host: String, #
firebase_notification_template: String, #
firebase_server_key: String, #
huawei_app_id: String, #
huawei_app_secret: String, #
name: String, #
type: String, #
xiaomi_app_secret: String, #
xiaomi_package_name: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | |
| apn_auth_key | String | No | |
| apn_auth_type | String | No | |
| apn_development | Boolean | No | |
| apn_host | String | No | |
| apn_key_id | String | No | |
| apn_notification_template | String | No | |
| apn_p12_cert | String | No | |
| apn_team_id | String | No | |
| apn_topic | String | No | |
| description | String | No | |
| disabled_at | Numeric | No | |
| disabled_reason | String | No | |
| firebase_apn_template | String | No | |
| firebase_credentials | String | No | |
| firebase_data_template | String | No | |
| firebase_host | String | No | |
| firebase_notification_template | String | No | |
| firebase_server_key | String | No | |
| huawei_app_id | String | No | |
| huawei_app_secret | String | No | |
| type | String | No | |
| xiaomi_app_secret | String | No | |
| xiaomi_package_name | String | No |
PushProviderResponse
# PushProviderResponse hash structure
{
apn_auth_key: String, #
apn_auth_type: String, #
apn_development: Boolean, #
apn_host: String, #
apn_key_id: String, #
apn_p12_cert: String, #
apn_sandbox_certificate: Boolean, #
apn_supports_remote_notifications: Boolean, #
apn_supports_voip_notifications: Boolean, #
apn_team_id: String, #
apn_topic: String, #
created_at: Numeric, #
description: String, #
disabled_at: Numeric, #
disabled_reason: String, #
firebase_apn_template: String, #
firebase_credentials: String, #
firebase_data_template: String, #
firebase_host: String, #
firebase_notification_template: String, #
firebase_server_key: String, #
huawei_app_id: String, #
huawei_app_secret: String, #
name: String, #
type: String, #
updated_at: Numeric, #
xiaomi_app_secret: String, #
xiaomi_package_name: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| name | String | Yes | |
| type | String | Yes | |
| updated_at | Numeric | Yes | |
| apn_auth_key | String | No | |
| apn_auth_type | String | No | |
| apn_development | Boolean | No | |
| apn_host | String | No | |
| apn_key_id | String | No | |
| apn_p12_cert | String | No | |
| apn_sandbox_certificate | Boolean | No | |
| apn_supports_remote_notifications | Boolean | No | |
| apn_supports_voip_notifications | Boolean | No | |
| apn_team_id | String | No | |
| apn_topic | String | No | |
| description | String | No | |
| disabled_at | Numeric | No | |
| disabled_reason | String | No | |
| firebase_apn_template | String | No | |
| firebase_credentials | String | No | |
| firebase_data_template | String | No | |
| firebase_host | String | No | |
| firebase_notification_template | String | No | |
| firebase_server_key | String | No | |
| huawei_app_id | String | No | |
| huawei_app_secret | String | No | |
| xiaomi_app_secret | String | No | |
| xiaomi_package_name | String | No |
PushTemplate
# PushTemplate hash structure
{
created_at: Numeric, #
enable_push: Boolean, #
event_type: String, #
template: String, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| enable_push | Boolean | Yes | |
| event_type | String | Yes | |
| updated_at | Numeric | Yes | |
| template | String | No |
PushTemplateResponse
# PushTemplateResponse hash structure
{
created_at: Numeric, # Time when the template was created
enable_push: Boolean, # Whether push notification is enabled for this event
event_type: String, # Type of event this template applies to
push_provider_internal_id: String, # Internal ID of the push provider
template: String, # The push notification template
updated_at: Numeric # Time when the template was last updated
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | Time when the template was created |
| enable_push | Boolean | Yes | Whether push notification is enabled for this event |
| event_type | String | Yes | Type of event this template applies to |
| push_provider_internal_id | String | Yes | Internal ID of the push provider |
| updated_at | Numeric | Yes | Time when the template was last updated |
| template | String | No | The push notification template |
QueryPollsResponse
# QueryPollsResponse hash structure
{
duration: String, # Duration of the request in milliseconds
next: String, #
polls: Array, # Polls data returned by the query
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| polls | Array | Yes | Polls data returned by the query |
| next | String | No | |
| prev | String | No |
QueryUsersResponse
# QueryUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
users: Array # Array of users as result of filters applied.
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| users | Array | Yes | Array of users as result of filters applied. |
ReactionResponse
# ReactionResponse hash structure
{
created_at: Numeric, # Date/time of creation
custom: Hash, # Custom data for this object
message_id: String, # Message ID
score: Numeric, # Score of the reaction
type: String, # Type of reaction
updated_at: Numeric, # Date/time of the last update
user: UserResponse, # User
user_id: String # User ID
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | Date/time of creation |
| custom | Hash | Yes | Custom data for this object |
| message_id | String | Yes | Message ID |
| score | Numeric | Yes | Score of the reaction |
| type | String | Yes | Type of reaction |
| updated_at | Numeric | Yes | Date/time of the last update |
| user | UserResponse | Yes | User |
| user_id | String | Yes | User ID |
ReactivateUserResponse
# ReactivateUserResponse hash structure
{
duration: String, # Duration of the request in milliseconds
user: UserResponse # Deactivated user object
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| user | UserResponse | No | Deactivated user object |
ReactivateUsersResponse
Basic response information
# ReactivateUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
task_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| task_id | String | Yes |
RemoveUserGroupMembersResponse
Response for removing members from a user group
# RemoveUserGroupMembersResponse hash structure
{
duration: String, #
user_group: UserGroupResponse # The updated user group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
Response
Basic response information
# Response hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
Role
# Role hash structure
{
created_at: Numeric, # Date/time of creation
custom: Boolean, # Whether this is a custom role or built-in
name: String, # Unique role name
scopes: Array, # List of scopes where this role is currently present. `.app` means that role is present in app-level grants
updated_at: Numeric # Date/time of the last update
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | Date/time of creation |
| custom | Boolean | Yes | Whether this is a custom role or built-in |
| name | String | Yes | Unique role name |
| scopes | Array | Yes | List of scopes where this role is currently present. .app means that role i... |
| updated_at | Numeric | Yes | Date/time of the last update |
S3Request
Config for creating Amazon S3 storage.
# S3Request hash structure
{
s3_api_key: String, # 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.
s3_custom_endpoint_url: String, # 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.
s3_region: String, # The AWS region where the bucket is hosted
s3_secret: String # The AWS API Secret
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| s3_region | String | Yes | The AWS region where the bucket is hosted |
| s3_api_key | String | No | The AWS API key. To use Amazon S3 as your storage provider, you have two auth... |
| s3_custom_endpoint_url | String | No | The custom endpoint for S3. If you want to use a custom endpoint, you must al... |
| s3_secret | String | No | The AWS API Secret |
SearchUserGroupsResponse
Response for searching user groups
# SearchUserGroupsResponse hash structure
{
duration: String, #
user_groups: Array # List of matching user groups
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_groups | Array | Yes | List of matching user groups |
SharedLocationResponse
# SharedLocationResponse hash structure
{
channel: ChannelResponse, #
channel_cid: String, # Channel CID
created_at: Numeric, # Date/time of creation
created_by_device_id: String, # Device ID that created the live location
duration: String, #
end_at: Numeric, # Time when the live location expires
latitude: Numeric, # Latitude coordinate
longitude: Numeric, # Longitude coordinate
message: MessageResponse, #
message_id: String, # Message ID
updated_at: Numeric, # Date/time of the last update
user_id: String # User ID
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_cid | String | Yes | Channel CID |
| created_at | Numeric | Yes | Date/time of creation |
| created_by_device_id | String | Yes | Device ID that created the live location |
| duration | String | Yes | |
| latitude | Numeric | Yes | Latitude coordinate |
| longitude | Numeric | Yes | Longitude coordinate |
| message_id | String | Yes | Message ID |
| updated_at | Numeric | Yes | Date/time of the last update |
| user_id | String | Yes | User ID |
| channel | ChannelResponse | No | |
| end_at | Numeric | No | Time when the live location expires |
| message | MessageResponse | No |
SharedLocationResponseData
# SharedLocationResponseData hash structure
{
channel: ChannelResponse, #
channel_cid: String, #
created_at: Numeric, #
created_by_device_id: String, #
end_at: Numeric, #
latitude: Numeric, #
longitude: Numeric, #
message: MessageResponse, #
message_id: String, #
updated_at: Numeric, #
user_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_cid | String | Yes | |
| created_at | Numeric | Yes | |
| created_by_device_id | String | Yes | |
| latitude | Numeric | Yes | |
| longitude | Numeric | Yes | |
| message_id | String | Yes | |
| updated_at | Numeric | Yes | |
| user_id | String | Yes | |
| channel | ChannelResponse | No | |
| end_at | Numeric | No | |
| message | MessageResponse | No |
SharedLocationsResponse
# SharedLocationsResponse hash structure
{
active_live_locations: Array, #
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| active_live_locations | Array | Yes | |
| duration | String | Yes |
SortParamRequest
# SortParamRequest hash structure
{
direction: Numeric, # Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1
field: String, # Name of field to sort by
type: String # Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| direction | Numeric | No | Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One o... |
| field | String | No | Name of field to sort by |
| type | String | No | Type of field to sort by. Empty string or omitted means string type (default)... |
Time
# Time hash structure
{
}UnblockUsersResponse
# UnblockUsersResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
UpdateBlockListResponse
Basic response information
# UpdateBlockListResponse hash structure
{
blocklist: BlockListResponse, #
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| blocklist | BlockListResponse | No |
UpdateExternalStorageResponse
Basic response information
# UpdateExternalStorageResponse hash structure
{
bucket: String, #
duration: String, # Duration of the request in milliseconds
name: String, #
path: String, #
type: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bucket | String | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| name | String | Yes | |
| path | String | Yes | |
| type | String | Yes |
UpdateUserGroupResponse
Response for updating a user group
# UpdateUserGroupResponse hash structure
{
duration: String, #
user_group: UserGroupResponse # The updated user group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| user_group | UserGroupResponse | No | The updated user group |
UpdateUserPartialRequest
# UpdateUserPartialRequest hash structure
{
id: String, # User ID to update
set: Hash, #
unset: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | User ID to update |
| set | Hash | No | |
| unset | Array | No |
UpdateUsersResponse
# UpdateUsersResponse hash structure
{
duration: String, # Duration of the request in milliseconds
membership_deletion_task_id: String, #
users: Hash # Object containing users
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| membership_deletion_task_id | String | Yes | |
| users | Hash | Yes | Object containing users |
UpsertExternalStorageAWSS3Request
# UpsertExternalStorageAWSS3Request hash structure
{
bucket: String, #
path_prefix: String, #
region: String, #
role_arn: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bucket | String | Yes | |
| region | String | Yes | |
| role_arn | String | Yes | |
| path_prefix | String | No |
UpsertExternalStorageResponse
Basic response information
# UpsertExternalStorageResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
UpsertPushPreferencesResponse
# UpsertPushPreferencesResponse hash structure
{
duration: String, # Duration of the request in milliseconds
user_channel_preferences: Hash, # The channel specific push notification preferences, only returned for channels you've edited.
user_preferences: Hash # The user preferences, always returned regardless if you edited it
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| user_channel_preferences | Hash | Yes | The channel specific push notification preferences, only returned for channel... |
| user_preferences | Hash | Yes | The user preferences, always returned regardless if you edited it |
UpsertPushProviderResponse
Basic response information
# UpsertPushProviderResponse hash structure
{
duration: String, # Duration of the request in milliseconds
push_provider: PushProviderResponse #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| push_provider | PushProviderResponse | Yes |
UpsertPushTemplateResponse
Basic response information
# UpsertPushTemplateResponse hash structure
{
duration: String, # Duration of the request in milliseconds
template: PushTemplateResponse #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| template | PushTemplateResponse | No |
User
# User hash structure
{
data: Hash, #
id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | |
| data | Hash | No |
UserGroupResponse
# UserGroupResponse hash structure
{
created_at: Numeric, #
created_by: String, #
description: String, #
id: String, #
members: Array, #
name: String, #
team_id: String, #
updated_at: Numeric #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| id | String | Yes | |
| name | String | Yes | |
| updated_at | Numeric | Yes | |
| created_by | String | No | |
| description | String | No | |
| members | Array | No | |
| team_id | String | No |
UserRequest
User request object
# UserRequest hash structure
{
custom: Hash, # Custom user data
id: String, # User ID
image: String, # User's profile image URL
invisible: Boolean, #
language: String, #
name: String, # Optional name of user
privacy_settings: PrivacySettingsResponse, #
role: String, # User's global role
teams: Array, # List of teams the user belongs to
teams_role: Hash # Map of team-specific roles for the user
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | User ID |
| custom | Hash | No | Custom user data |
| image | String | No | User's profile image URL |
| invisible | Boolean | No | |
| language | String | No | |
| name | String | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | |
| role | String | No | User's global role |
| teams | Array | No | List of teams the user belongs to |
| teams_role | Hash | No | Map of team-specific roles for the user |
UserResponse
User response object
# UserResponse hash structure
{
avg_response_time: Numeric, #
ban_expires: Numeric, # Date when ban expires
banned: Boolean, # Whether a user is banned or not
blocked_user_ids: Array, #
bypass_moderation: Boolean, #
created_at: Numeric, # Date/time of creation
custom: Hash, # Custom data for this object
deactivated_at: Numeric, # Date of deactivation
deleted_at: Numeric, # Date/time of deletion
devices: Array, # List of devices user is using
id: String, # Unique user identifier
image: String, #
invisible: Boolean, #
language: String, # Preferred language of a user
last_active: Numeric, # Date of last activity
name: String, # Optional name of user
online: Boolean, # Whether a user online or not
privacy_settings: PrivacySettingsResponse, # User privacy settings
push_notifications: PushNotificationSettingsResponse, # User push notification settings
revoke_tokens_issued_before: Numeric, # Revocation date for tokens
role: String, # Determines the set of user permissions
shadow_banned: Boolean, # Whether a user is shadow banned
teams: Array, # List of teams user is a part of
teams_role: Hash, #
updated_at: Numeric # Date/time of the last update
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | Boolean | Yes | Whether a user is banned or not |
| blocked_user_ids | Array | Yes | |
| created_at | Numeric | Yes | Date/time of creation |
| custom | Hash | Yes | Custom data for this object |
| id | String | Yes | Unique user identifier |
| invisible | Boolean | Yes | |
| language | String | Yes | Preferred language of a user |
| online | Boolean | Yes | Whether a user online or not |
| role | String | Yes | Determines the set of user permissions |
| shadow_banned | Boolean | Yes | Whether a user is shadow banned |
| teams | Array | Yes | List of teams user is a part of |
| updated_at | Numeric | Yes | Date/time of the last update |
| avg_response_time | Numeric | No | |
| ban_expires | Numeric | No | Date when ban expires |
| bypass_moderation | Boolean | No | |
| deactivated_at | Numeric | No | Date of deactivation |
| deleted_at | Numeric | No | Date/time of deletion |
| devices | Array | No | List of devices user is using |
| image | String | No | |
| last_active | Numeric | No | Date of last activity |
| name | String | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | User privacy settings |
| push_notifications | PushNotificationSettingsResponse | No | User push notification settings |
| revoke_tokens_issued_before | Numeric | No | Revocation date for tokens |
| teams_role | Hash | No |
ValidateExternalStorageResponse
Basic response information
# ValidateExternalStorageResponse hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
VelocityFilterConfig
# VelocityFilterConfig hash structure
{
advanced_filters: Boolean, #
async: Boolean, #
cascading_actions: Boolean, #
cids_per_user: Numeric, #
enabled: Boolean, #
first_message_only: Boolean, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| advanced_filters | Boolean | No | |
| async | Boolean | No | |
| cascading_actions | Boolean | No | |
| cids_per_user | Numeric | No | |
| enabled | Boolean | No | |
| first_message_only | Boolean | No | |
| rules | Array | No |
VideoCallRuleConfig
# VideoCallRuleConfig hash structure
{
flag_all_labels: Boolean, #
flagged_labels: Array, #
rules: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| flag_all_labels | Boolean | No | |
| flagged_labels | Array | No | |
| rules | Array | No |
XiaomiConfig
# XiaomiConfig hash structure
{
Disabled: Boolean, #
package_name: String, #
secret: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| Disabled | Boolean | No | |
| package_name | String | No | |
| secret | String | No |