Global Application Settings

You can view and manage global application settings with this API. These settings are applied to all channels within your application by default, unless the settings for channels with a custom channel type are specified otherwise.

Property name Type Description
message_retention_hours int The length of time in hours which the messages are retained. (Default: 876000)
display_past_message boolean Indicates whether to display past messages to a new member. If true, the entire message history of the channel is shown to new users who join the channel. (Default: false)
allow_links boolean Indicates whether to allow clickable links in a message within the application. (Default: true)
max_message_length int The maximum length of a message allowed to be sent within the application. Acceptable values are -1, 50, 100, 200, 500, 1000, and 5000. A value of -1 indicates that no limit is imposed.
user_messages_per_channel int The maximum number of messages which a user is allowed to send to a channel during a set time duration. A value of -1 indicates that no limit is imposed. (Default: -1)
user_messages_per_channel_duration int The period which is used as a base unit for counting the number of message which a user sends to a channel. (Default: 1)
profanity_filter nested object A filter configuration on certain words and patterns for matching character combinations in strings, which are not allowed to be used within the application.
profanity_filter.keywords[] array The array of words to filter. *word filters all words that end with "word" including "word" itself while word* filters all words that start with "word" including "word" itself.
profanity_filter.regex_filters[] list A list of regular expressions used for filtering. Each item of the list is specified in {"regex": {a pattern in regular expression}} format.
profanity_filter.type int The filtering method which is applied to profanity words. Acceptable values are 0 (none), 1 (replace), and 2 (block). 1 (replace) replaces the filtered words with asterisks(*). 2 (block) prevents users from sending messages containing the filtered words. (Default: 0)
profanity_filter.should_check_global boolean Indicates whether the filtering for the specified words and regular expressions are applied globally at the application level. (Default: false)
domain_filter nested object A domain filter configuration on the URLs which are specified in the text and file messages.
domain_filter.domains[] array An array of domains to filter. Each item of the array is specified at least with a combination of domain name and TLD (top level domain) like 'amazon.com'.
domain_filter.type int The filtering mode which is applied to the URLs containing the specified domains. Acceptable values are 0 (none), 1 (pass if matched), and 2 (block if matched).
domain_filter.should_check_global boolean Indicates whether the filtering for the specified domains are applied globally at the application level. (Default: false)
profanity_triggered_moderation nested object A moderation configuration on which penalty is automatically imposed on the users who are sending a profanity word to a channel.
profanity_triggered_moderation.count int The number of profanity violations limit which then imposes a penalty on the user if exceeded. A value of less than or equal to 0 indicates that no automatically-triggered moderation is imposed. (Default: 0)
profanity_triggered_moderation.duration int The time duration in seconds of a penalty. The maximum value is 86400 which indicates 60 days. (Default: 1 second)
profanity_triggered_moderation.action int The type of a moderation penalty which is imposed on the users. Acceptable values are 0 (no action), 1 (mute), 2 (kick), and 3 (ban). (Default: 0)
image_moderation nested object A moderation configuration on inappropriate images within the application. The Google Cloud Vision API is used for image moderation.
image_moderation.type int The moderation method which is applied to the images. Acceptable values are 0 (none), 1 (normal), and 2 (strict). A value of 0 indicates that no moderation is imposed. A value of 1 indicates that no moderation is imposed but informed of the image analysis results. A value of 2 indicates that the images are moderated with blocking if they violates the content policies. (Default: 0)
image_moderation.soft_block boolean If true, the image moderation works on the basis of normal mode. If false, the image moderation works on the basis of none or strict mode. (Default: false)
image_moderation.limits nested object Set of features pertaining to the images for moderation. Each feature specifies the content likelihood for the image which is used as a moderation standard. Acceptable likelihood values are 0 (unknown), 1 (very unlikely), 2 (unlikely), 3 (possible), 4 (likely), and 5 (very likely).
image_moderation.limits.medical int Likelihood that the image is a medical image. (Default: 5)
image_moderation.limits.violence int Likelihood that the image contains violent content. (Default: 3)
image_moderation.limits.spoof int Spoof likelihood. (Default: 5)
image_moderation.limits.racy int Likelihood that the image contains racy content. (Default: 4)
image_moderation.limits.adult int Represents the adult content likelihood for the image. (Default: 3)
image_moderation.check_urls boolean Indicates whether to check if the image URLs in the text and file messages are appropriate. (Default: false)
Action HTTP request Description
View the global application settings GET /applications/settings_global Returns the global application settings that are applied to channels within the application.
Update the global application settings PUT /applications/settings_global Updates the global application settings that are applied to channels within the application.

View the global application settings

Returns the global application settings that are applied to channels within the application. These settings are by default applied to all channels with no custom channel types. Unless there are the specified settings for channels with a custom channel type, those channels behave on the global application settings.

GET https://{region_identifier}.sendbird.com/v3/applications/settings_global

Returns the global application settings.

Status: 200 OK
{
    "domain_filter": {
        "domains": ["s3.amazon.com", "vision.googleapis.com"],
        "type": 1,
        "should_check_global": true 
    },
    "profanity_filter": {
        "keywords": "ass,snatch,sperm"
        "regex_filters": [
            {
                "regex": "http://localhost\.com.*"
            }, 
            {
                "regex": "[a-z]*://[^:/]*\.abc.\.com.*"
            }
        ],    
        "type": 1,
        "should_check_global": false    
    },
    "max_message_length": -1,
    "display_past_message": true,
    "image_moderation": {
        "type": 2, 
        "soft_block": false,
        "limits": {
            "medical": 5,
            "violence": 3,
            "spoof": 5,
            "racy": 4,
            "adult": 3        
        },
        "check_urls":true 
    },
    "allow_links": true,
    "user_messages_per_channel_duration": 1,
    "user_messages_per_channel": 3,
    "profanity_triggered_moderation": {
        "count": 3,
        "duration": 1,
        "action": 2    
    },
    "message_retention_hours": 2400
}

Update the global application settings

Updates the global application settings that are applied to channels within the application.

PUT https://{region_identifier}.sendbird.com/v3/applications/settings_global
Property name Type Description
message_retention_hours (optional) int Specifies the length of time in hours which the messages are retained.
display_past_message (optional) boolean Determines whether to display past messages to a new member. If true, the entire message history of the channel is shown to new users who join the channel.
allow_links (optional) boolean Determines whether to allow clickable links in a message within the application.
max_message_length (optional) int Specifies the maximum length of a message allowed to be sent within the application. Acceptable values are -1, 50, 100, 200, 500, 1000, and 5000. A value of -1 indicates that no limit is imposed.
user_messages_per_channel (optional) int Specifies the maximum number of messages which a user is allowed to send to a channel during a set time duration. A value of -1 indicates that no limit is imposed.
user_messages_per_channel_duration (optional) int Specifies the period which is used as a base unit for counting the number of message which a user sends to a channel.
profanity_filter (optional) nested object A filter configuration on certain words and patterns for matching character combinations in strings, which are not allowed to be used within the application.
profanity_filter.keywords (optional) string Specifies the comma-separated words to filter. *word filters all words that end with "word" including "word" itself while word* filters all words that start with "word" including "word" itself.
profanity_filter.regex_filters[] (optional) list Specifies a list of regular expressions used for filtering. Each item of the list should be specified in {"regex": {a pattern in regular expression}} format.
profanity_filter.type (optional) int Determines the profanity filtering method which is applied to profanity words. Acceptable values are 0 (none), 1 (replace), and 2 (block). 1 (replace) replaces the filtered words with asterisks(*). 2 (block) prevents users from sending messages containing the filtered words.
profanity_filter.should_check_global (optional) boolean Determines whether the filtering for the specified words and regular expressions are applied globally at the application level.
domain_filter (optional) nested object A domain filter configuration on the URLs which are specified in the text and file messages.
domain_filter.domains[] (optional) array Specifies an array of domains to filter. Each item of the array should be specified at least with a combination of domain name and TLD (top level domain) like 'amazon.com'.
domain_filter.type (optional) int Determines the filtering mode which is applied to the URLs containing the specified domains. Acceptable values are 0 (none), 1 (pass if matched), and 2 (block if matched).
domain_filter.should_check_global (optional) boolean Determines whether the filtering for the specified domains are applied globally at the application level.
profanity_triggered_moderation (optional) nested object A moderation configuration on which penalty is automatically imposed on the users who are sending a profanity word to a channel.
profanity_triggered_moderation.count (optional) int Specifies the number of profanity violations limit which then imposes a penalty on the user if exceeded. A value of less than or equal to 0 indicates that no automatically-triggered moderation is imposed.
profanity_triggered_moderation.duration (optional) int Specifies the time duration in seconds of a penalty. The maximum value is 86400 which indicates 60 days.
profanity_triggered_moderation.action (optional) int Determines the type of a moderation penalty which is imposed on the users. Acceptable values are 0 (no action), 1 (mute), 2 (kick), and 3 (ban).
image_moderation (optional) nested object A moderation configuration on inappropriate images within the application. The Google Cloud Vision API is used for image moderation.
image_moderation.type (optional) int Determines the moderation method which is applied to the images. Acceptable values are 0 (none), 1 (normal), and 2 (strict). A value of 0 indicates that no moderation is imposed. A value of 1 indicates that no moderation is imposed but informed of the image analysis results. A value of 2 indicates that the images are moderated with blocking if they violates the content policies.
image_moderation.soft_block (optional) boolean If true, the image moderation works on the basis of normal mode. If false, the image moderation works on the basis of none or strict mode.
image_moderation.limits (optional) nested object Set of features pertaining to the images for moderation. Each feature specifies the content likelihood for the image which is used as a moderation standard. Acceptable likelihood values are 0 (unknown), 1 (very unlikely), 2 (unlikely), 3 (possible), 4 (likely), and 5 (very likely).
image_moderation.limits.medical (optional) int Specifies likelihood that the image is a medical image.
image_moderation.limits.violence (optional) int Specifies likelihood that the image contains violent content.
image_moderation.limits.spoof (optional) int Specifies spoof likelihood.
image_moderation.limits.racy (optional) int Specifies likelihood that the image contains racy content.
image_moderation.limits.adult (optional) int Specifies the adult content likelihood for the image.
image_moderation.check_urls (optional) boolean Determines whether to check if the image URLs in the text and file messages are appropriate.
Request body example
{
    "profanity_filter": {
        "keywords": "stupid,womb",
        "type": 2,
        "regex_filters": [
            {
                "regex": "http://localhost\.com.*"
            },
            {
                "regex": "[a-z]*://[^:/]*\.abc.\.com.*"
            }
        ],
        "should_check_global": true
    },
    "display_past_message": false,
    "user_messages_per_channel": 5,
    "message_retention_hours": 37800
}

Returns the updated global application settings.

Status: 200 OK
{
    "domain_filter": {
        "domains": ["s3.amazon.com", "vision.googleapis.com"],
        "type": 1,
        "should_check_global": true
    },
    "profanity_filter": {
        "keywords": "stupid,womb",
        "regex_filters": [
            {
                "regex": "http://localhost\.com.*"
            }, 
            {
                "regex": "[a-z]*://[^:/]*\.abc.\.com.*"
            }
        ],    
        "type": 2,
        "should_check_global": true 
    },
    "max_message_length": -1,
    "display_past_message": false,
    "image_moderation": {
        "type": 2, 
        "soft_block": false,
        "limits": {
            "medical": 5,
            "violence": 3,
            "spoof": 5,
            "racy": 4,
            "adult": 3
        },
        "check_urls": true
    },
    "allow_links": true,
    "user_messages_per_channel_duration": 1,
    "user_messages_per_channel": 5,
    "profanity_triggered_moderation": {
        "count": 3,
        "duration": 1,
        "action": 2
    },
    "message_retention_hours": 37800 
}

Settings for Channels with Custom Channel Type

Custom channel types allow you to classify and apply customized settings to groups of channels. For channels without custom channel types, the global application settings are applied to those channels by default.

Action HTTP request Description
Create the settings for a custom channel type POST /applications/settings_by_channel_custom_type Creates the settings for a custom channel type which apply to channels with the type.
List the settings for custom channel types GET /applications/settings_by_channel_custom_type Returns a list of all registered settings for custom channel types.
Update the settings for a custom channel type PUT /applications/settings_by_channel_custom_type/{custom_type} Updates the settings for a custom channel type.
View the settings for a custom channel type GET /applications/settings_by_channel_custom_type/{custom_type} Returns the settings for a custom channel type.
Delete the settings for a custom channel type DELETE /applications/settings_by_channel_custom_type/{custom_type} Deletes the settings for a custom channel type.

Create the settings for a custom channel type

Creates the settings for a custom channel type which apply to channels with the type.

Note: If a custom type is not specified for a channel, it takes on the default custom type.

POST https://{region_identifier}.sendbird.com/v3/applications/settings_by_channel_custom_type
Property name Type Description
custom_type string Specifies the custom channel type.
message_retention_hours (optional) int Specifies the length of time in hours which the messages are retained in the channels with the custom type.
display_past_message (optional) boolean Determines whether to display past messages to a new member. If true, the entire message history of the channel is shown to new users who join the channel.
allow_links (optional) boolean Determines whether to allow clickable links in a message within the channels with the custom type.
user_messages_per_channel (optional) int Specifies the maximum number of messages which a user is allowed to send to one of the channels with the custom type during a set time duration. A value of -1 indicates that no limit is imposed.
user_messages_per_channel_duration (optional) int Specifies the period which is used as a base unit for counting the number of message which a user sends to one of the channels with the custom type.
profanity_filter (optional) nested object A filter configuration on certain words and patterns for matching character combinations in strings, which are not allowed to be used within the channels wth the custom type.
profanity_filter.keywords (optional) string Specifies the comma-separated words to filter. *word filters all words that end with "word" including "word" itself while word* filters all words that start with "word" including "word" itself.
profanity_filter.regex_filters[] (optional) list Specifies a list of regular expressions used for filtering. Each item of the list should be specified in {"regex": {a pattern in regular expression}} format.
profanity_filter.type (optional) int Determines the profanity filtering method which is applied to profanity words. Acceptable values are 0 (none), 1 (replace), and 2 (block). 1 (replace) replaces the filtered words with asterisks(*). 2 (block) prevents users from sending messages containing the filtered words.
domain_filter (optional) nested object A domain filter configuration on the URLs which are specified in the text and file messages within the channels with the custom type.
domain_filter.domains[] (optional) array Specifies an array of domains to filter. Each item of the array should be specified at least with a combination of domain name and TLD (top level domain) like 'amazon.com'.
domain_filter.type (optional) int Determines the filtering mode which is applied to the URLs containing the specified domains. Acceptable values are 0 (none), 1 (pass if matched), and 2 (block if matched).
profanity_triggered_moderation (optional) nested object A moderation configuration on which penalty is automatically imposed on the users who are sending a profanity word to a channel.
profanity_triggered_moderation.count (optional) int Specifies the number of profanity violations limit which then imposes a penalty on the user if exceeded. A value of less than or equal to 0 indicates that no automatically-triggered moderation is imposed.
profanity_triggered_moderation.duration (optional) int Specifies the time duration in seconds of a penalty. The maximum value is 86400 which indicates 60 days. (Default: 1 second)
profanity_triggered_moderation.action (optional) int Determines the type of a moderation penalty which is imposed on the users. Acceptable values are 0 (no action), 1 (mute), 2 (kick), and 3 (ban). (Default: 0)
image_moderation (optional) nested object A moderation configuration on inappropriate images within the application. The Google Cloud Vision API is used for image moderation.
image_moderation.type (optional) int Determines the moderation method which is applied to the images. Acceptable values are 0 (none), 1 (normal), and 2 (strict). A value of 0 indicates that no moderation is imposed. A value of 1 indicates that no moderation is imposed but informed of the image analysis results. A value of 2 indicates that the images are moderated with blocking if they violates the content policies. (Default: 0)
image_moderation.soft_block (optional) boolean If true, the image moderation works on the basis of normal mode. If false, the image moderation works on the basis of none or strict mode. (Default: false)
image_moderation.limits (optional) nested object Set of features pertaining to the images for moderation. Each feature specifies the content likelihood for the image which is used as a moderation standard. Acceptable likelihood values are 0 (unknown), 1 (very unlikely), 2 (unlikely), 3 (possible), 4 (likely), and 5 (very likely).
image_moderation.limits.medical (optional) int Specifies likelihood that the image is a medical image.
image_moderation.limits.violence (optional) int Specifies likelihood that the image contains violent content.
image_moderation.limits.spoof (optional) int Specifies spoof likelihood.
image_moderation.limits.racy (optional) int Specifies likelihood that the image contains racy content.
image_moderation.limits.adult (optional) int Specifies the adult content likelihood for the image.
image_moderation.check_urls (optional) boolean Determines whether to check if the image URLs in the text and file messages are appropriate.
Request body example
{
    "custom_type": "Sports",
    "display_past_message": true,
    "message_retention_hours": 1440,
    "domain_filter": { 
        "domains": ["espn.com", "sports.yahoo.com"],
        "type": 1
    },
    "profanity_filter": {
        "keywords": "idiot,dummy,damn",
        "type": 2 
    }
}

Returns the settings for channels of the custom type.

Status: 200 OK
{
    "domain_filter": { 
        "domains": ["espn.com", "sports.yahoo.com"],
        "type": 1,
        "should_check_global": false    # This property can't be set by the custom channel type setting api. 
    },
    "profanity_filter": {
        "keywords": "idiot,dummy,damn",
        "regex_filters": [],
        "type": 2,
        "should_check_global": false    # This property can't be set by the custom channel type setting api.
    },
    "custom_type": "Sports",
    "display_past_message": true,
    "image_moderation": {
        "type": 0, 
        "soft_block": false,
        "limits": {
            "medical": 5,
            "violence": 3,
            "spoof": 5,
            "racy": 4,
            "adult": 3
        },
        "check_urls": false
    },
    "allow_links": true,
    "user_messages_per_channel_duration": 1,
    "user_messages_per_channel": -1,
    "profanity_triggered_moderation": {
        "count": 0, 
        "duration": 1,
        "action": 0 
    },
    "message_retention_hours": 1440 
}

List the settings for custom channel types

Returns a list of all settings for custom channel types.

GET https://{region_identifier}.sendbird.com/v3/applications/settings_by_channel_custom_type
Parameter name Type Description
token string A token that specifies the index of the first result. If not specified, the index is set as 0.
limit int The number of results returned per page. Acceptable values are 1 to 100, inclusive. (Default: 10)
{
    "channel_custom_type_settings": [
        {
            "domain_filter": {
                "domains": ["espn.com", "sports.yahoo.com"],
                "type": 1,
                "should_check_global": false    # This property can't be set by the custom channel type setting api.
            },
            "profanity_filter": {
                "keywords": "idiot,dummy,damn",
                "regex_filters": [],
                "type": 2,
                "should_check_global": false    # This property can't be set by the custom channel type setting api.
            },
            "custom_type": "Sports",
            "display_past_message": true,
            "image_moderation": {
                "type": 0, 
                "soft_block": false,
                "limits": {
                    "medical": 5,
                    "violence": 3,
                    "spoof": 5,
                    "racy": 4,
                    "adult": 3
                },
                "check_urls": false
            },
            "allow_links": true,
            "user_messages_per_channel_duration": 1,
            "user_messages_per_channel": -1,
            "profanity_triggered_moderation": {
                "count": 0,
                "duration": 1,
                "action": 0
            },
            "message_retention_hours": 1440
        },
        {
            "domain_filter": {
                "domains": ["imdb.com", "reddit.com/r/movies"],
                "type": 1,
                "should_check_global": false    # This property can't be set by the custom channel type setting api.
            },
            "profanity_filter": {
                "keywords": "nude scene,bloody,suck",
                "regex_filters": [],
                "type": 2,
                "should_check_global": false    # This property can't be set by the custom channel type setting api.
            },
            "custom_type": "Movies",
            "display_past_message": true,
            "image_moderation": {
                "type": 0,
                "soft_block": false,
                "limits": {
                    "medical": 5,
                    "violence": 3,
                    "spoof": 5,
                    "racy": 4,
                    "adult": 3
                },
                "check_urls": false
            },
            "allow_links": true,
            "user_messages_per_channel_duration": 1,
            "user_messages_per_channel": -1,
            "profanity_triggered_moderation": {
                "count": 0, 
                "duration": 1,
                "action": 0
            },
            "message_retention_hours": 2880 
        }
    ],    
    "next": ""
}
Property name Type Description
channel_custom_type_settings string A list of the settings per custom channel type.

Update the settings for a custom channel type

Updates the settings for a custom channel type.

PUT https://{region_identifier}.sendbird.com/v3/applications/settings_by_channel_custom_type/{custom_type}
Property name Type Description
message_retention_hours (optional) int Specifies the length of time in hours which the messages are retained in the channels with the custom type.
display_past_message (optional) boolean Determines whether to display past messages to a new member. If true, the entire message history of the channel is shown to new users who join the channel.
allow_links (optional) boolean Determines whether to allow clickable links in a message within the channels with the custom type.
user_messages_per_channel (optional) int Specifies the maximum number of messages which a user is allowed to send to one of the channels with the custom type during a set time duration. A value of -1 indicates that no limit is imposed.
user_messages_per_channel_duration (optional) int Specifies the period which is used as a base unit for counting the number of message which a user sends to one of the channels with the custom type.
profanity_filter (optional) nested object A filter configuration on certain words and patterns for matching character combinations in strings, which are not allowed to be used within the channels with the custom type.
profanity_filter.keywords (optional) string Specifies the comma-separated words to filter. *word filters all words that end with "word" including "word" itself while word* filters all words that start with "word" including "word" itself.
profanity_filter.regex_filters[] (optional) list Specifies the list of regular expressions used for filtering. Each item of the list should be specified in {"regex": {a pattern in regular expression}} format.
profanity_filter.type (optional) int Determines the profanity filtering method. Acceptable values are 0 (none), 1 (replace), and 2 (block). 1 (replace) replaces the filtered words with asterisks(*). 2 (block) prevents users from sending messages containing the filtered words.
domain_filter (optional) nested object A domain filter configuration on the URLs which are specified in the text and file messages within the channels with the custom type.
domain_filter.domains[] (optional) array Specifies an array of domains to filter. Each item of the array should be specified at least with a combination of domain name and TLD (top level domain) like 'amazon.com'.
domain_filter.type (optional) int Determines the filtering mode which is applied to the URLs containing the specified domains. Acceptable values are 0 (none), 1 (pass if matched), and 2 (block if matched).
profanity_triggered_moderation (optional) nested object A moderation configuration on which penalty is automatically imposed on the users who are sending a profanity word to a channel.
profanity_triggered_moderation.count (optional) int Specifies the number of profanity violations limit which then imposes a penalty on the user if exceeded. A value of less than or equal to 0 indicates that no automatically-triggered moderation is imposed.
profanity_triggered_moderation.duration (optional) int Specifies the time duration in seconds of a penalty. The maximum value is 86400 which indicates 60 days. (Default: 1 second)
profanity_triggered_moderation.action (optional) int Determines the type of a moderation penalty which is imposed on the users. Acceptable values are 0 (no action), 1 (mute), 2 (kick), and 3 (ban). (Default: 0)
image_moderation (optional) nested object A moderation configuration on inappropriate images within the application. The Google Cloud Vision API is used for image moderation.
image_moderation.type (optional) int Determines the moderation method which is applied to the images. Acceptable values are 0 (none), 1 (normal), and 2 (strict). A value of 0 indicates that no moderation is imposed. A value of 1 indicates that no moderation is imposed but informed of the image analysis results. A value of 2 indicates that the images are moderated with blocking if they violates the content policies. (Default: 0)
image_moderation.soft_block (optional) boolean If true, the image moderation works on the basis of normal mode. If false, the image moderation works on the basis of none or strict mode. (Default: false)
image_moderation.limits (optional) nested object Set of features pertaining to the images for moderation. Each feature specifies the content likelihood for the image which is used as a moderation standard. Acceptable likelihood values are 0 (unknown), 1 (very unlikely), 2 (unlikely), 3 (possible), 4 (likely), and 5 (very likely).
image_moderation.limits.medical (optional) int Specifies likelihood that the image is a medical image.
image_moderation.limits.violence (optional) int Specifies likelihood that the image contains violent content.
image_moderation.limits.spoof (optional) int Specifies spoof likelihood.
image_moderation.limits.racy (optional) int Specifies likelihood that the image contains racy content.
image_moderation.limits.adult (optional) int Specifies the adult content likelihood for the image.
image_moderation.check_urls (optional) boolean Determines whether to check if the image URLs in the text and file messages are appropriate.
Request body example
{
    "message_retention_hours": 24,
    "profanity_filter": {
        "keywords": "stupid,idiot,gambling",
        "type": 1
    },
    "user_messages_per_channel": 5
}

Returns the settings for a custom channel type.

Status: 200 OK
{
    "domain_filter": { 
        "domains": ["espn.com", "sports.yahoo.com"],
        "type": 1,
        "should_check_global": false    # This property can't be set by the custom channel type setting api.
    },
    "profanity_filter": {
        "keywords": "stupid,idiot,gambling",
        "regex_filters": [],
        "type": 1,
        "should_check_global": false    # This property can't be set by the custom channel type setting api.
    },
    "custom_type": "Sports",
    "display_past_message": true,
    "image_moderation": {
        "type": 0, 
        "soft_block": false,
        "limits": {
            "medical": 5,
            "violence": 3,
            "spoof": 5,
            "racy": 4,
            "adult": 3
        },
        "check_urls": false
    },
    "allow_links": true,
    "user_messages_per_channel_duration": 1,
    "user_messages_per_channel": 5,
    "profanity_triggered_moderation": {
        "count": 0,
        "duration": 1,
        "action": 0
    },
    "message_retention_hours": 24 
}

View the settings for a custom channel type

Returns channel behavior settings for a custom type.

GET https://{region_identifier}.sendbird.com/v3/applications/settings_by_channel_custom_type/{custom_type}

Returns the settings for channels of the custom type.

Status: 200 OK
{
    "domain_filter": {
        "domains": ["imdb.com", "reddit.com/r/movies"],
        "type": 1,
        "should_check_global": false    # This property can't be set by the custom channel type setting api.
    },
    "profanity_filter": {
        "keywords": "nude scene,bloody,suck",
        "regex_filters": [],
        "type": 2,
        "should_check_global": false    # This property can't be set by the custom channel type setting api.
    },
    "custom_type": "Movies",
    "display_past_message": true,
    "image_moderation": {
        "type": 0,
        "soft_block": false,
        "limits": {
            "medical": 5,
            "violence": 3,
            "spoof": 5,
            "racy": 4,
            "adult": 3
        },
        "check_urls": false
    },
    "allow_links": true,
    "user_messages_per_channel_duration": 1,
    "user_messages_per_channel": -1,
    "profanity_triggered_moderation": {
        "count": 0, 
        "duration": 1,
        "action": 0
    },
    "message_retention_hours": 2880
}

Delete the settings for a custom channel type

Deletes the settings for a custom channel type.

DELETE https://{region_identifier}.sendbird.com/v3/applications/settings_by_channel_custom_type/{custom_type}
{}