Overview

LAST EDIT Mar 05 2021

Application level settings allow you to configure that impact all the channel types in your app. Our backend SDKs make it easy to change the app settings. You can also change most of these using the CLI or the dashboard. Here's an example on changing the disable_auth_checks setting:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// disable auth checks, allows dev token usage 
await client.updateAppSettings({ 
    disable_auth_checks: true, 
}); 
 
// re-enable auth checks 
await client.updateAppSettings({ 
    disable_auth_checks: false, 
}); 
 
// Dissallow guests from using queryUsers 
await client.updateAppSettings({ 
  user_search_disallowed_roles: ["guest"] 
})
1
2
3
4
5
# disable auth checks, allows dev token usage 
client.update_app_settings(disable_auth_checks=True) 
 
# re-enable auth checks 
client.update_app_settings(disable_auth_checks=False)
1
2
3
4
5
6
7
8
9
10
// disable auth checks, allows dev token usage 
$update = $client->updateAppSettings([ 
	'disable_auth_checks' => true 
]); 
 
 
// re-enable auth checks 
$update = $client->updateAppSettings([ 
	'disable_auth_checks' => false 
]);
1
2
3
4
5
6
7
8
9
10
11
12
// disable auth checks, allows dev token usage 
	settings := NewAppSettings().SetDisableAuth(true) 
	err = client.UpdateAppSettings(settings) 
	if err != nil { 
		log.Fatalf("Err: %v", err) 
	} 
 
	// re-enable auth checks 
	err = client.UpdateAppSettings(NewAppSettings().SetDisableAuth(false)) 
	if err != nil { 
		log.Fatalf("Err: %v", err) 
	}

A full overview of available settings can be found below:

Permissions

Copied!

The following app settings allow you to control how permissions work for your app:

NAME

DESCRIPTION

DEFAULT

disable_auth_checks

Disabled authentication. Convenient during testing and allows you to use devTokens on the client side.

false

disable_permissions_checks

Gives all users full permissions to edit messages, delete them etc. Again not recommended in a production setting, only useful for development.

false

permission_version

2

user_search_disallowed_roles

Disallow certain rules from accessing the queryUsers endpoint

false

multi_tenant_enabled

If multi tenant should be enabled. See the section about multi-tenancy.

false

Push

Copied!

NAME

DESCRIPTION

DEFAULT

apn_config

firebase_config

push_config

Hooks

Copied!

Hooks enable you to listen to changes in chat. You can use either webhooks or SQS.

NAME

DESCRIPTION

DEFAULT

webhook_url

This webhook is useful when you want your server application to receive all important events happening in the Stream Chat

-

custom_action_handler_url

This webhook reacts to custom /slash commands and actions on those commands/ MML

-

before_message_send_hook_url

This webhook allows you to modify or moderate message content before sending it to the chat for everyone to see

-

sqs_url

Your SQS url

-

sqs_key

The key for SQS queue

-

sqs_secret

The secret for your SQS queue

-

Moderation & Translation

Copied!

The following settings allow you to control moderation for your chat:

NAME

DESCRIPTION

DEFAULT

image_moderation_labels

Moderation scores returned from the external image moderation API

image_moderation_enabled

If image moderation AI should be turned on

enforce_unique_usernames

If Stream should enforce username uniqueness. This prevents people from joining the chat as "elonmusk" while "elonmusk" is presenting.

auto_translation_enabled

If Stream should automatically translate messages