Settings

The Stream API provides multiple configuration options on the call type level.

  • You can provide the settings when creating or updating a call type
  • For maximum flexibility, you can override the settings on the call level when creating or updating a call

Code examples

Settings

client.video.createCallType({
  name: "<call type name>",
  settings: {
    screensharing: {
      access_request_enabled: false,
      enabled: true,
    },
  },
});

// override settings on call level
call.create({
  data: {
    created_by_id: "john",
    settings_override: {
      screensharing: {
        enabled: false,
      },
    },
  },
});

Notification settings

Notification settings can’t be overridden on the call level, you can only set these on the call type level.

client.video.createCallType({
  name: "<call type name>",
  notification_settings: {
    enabled: true,
    call_notification: {
      apns: {
        title: "{{ user.display_name }} invites you to a call",
      },
      enabled: true,
    },
    session_started: {
      enabled: false,
    },
  },
});

Configuration options

Settings

CallSettingsRequest

NameTypeDescriptionConstraints
audioAudioSettingsRequest--
backstageBackstageSettingsRequest--
broadcastingBroadcastSettingsRequest--
frame_recordingFrameRecordingSettingsRequest--
geofencingGeofenceSettingsRequest--
limitsLimitsSettingsRequest--
recordingRecordSettingsRequest--
ringRingSettingsRequest--
screensharingScreensharingSettingsRequest--
sessionSessionSettingsRequest--
thumbnailsThumbnailsSettingsRequest--
transcriptionTranscriptionSettingsRequest--
videoVideoSettingsRequest--

AudioSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
default_devicestring (speaker, earpiece)-Required
mic_default_onboolean--
noise_cancellationNoiseCancellationSettings--
opus_dtx_enabledboolean--
redundant_coding_enabledboolean--
speaker_default_onboolean--

BackstageSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--
join_ahead_time_secondsinteger--

BroadcastSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--
hlsHLSSettingsRequest--
rtmpRTMPSettingsRequest--

FrameRecordingSettingsRequest

NameTypeDescriptionConstraints
capture_interval_in_secondsinteger-Required, Minimum: 2, Maximum: 60
modestring (available, disabled, auto-on)-Required
qualitystring--

GeofenceSettingsRequest

NameTypeDescriptionConstraints
namesstring[]--

LimitsSettingsRequest

NameTypeDescriptionConstraints
max_duration_secondsinteger-Minimum: 0
max_participantsinteger--

RecordSettingsRequest

NameTypeDescriptionConstraints
audio_onlyboolean--
layoutLayoutSettingsRequest--
modestring (available, disabled, auto-on)-Required
qualitystring (360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560)--

RingSettingsRequest

NameTypeDescriptionConstraints
auto_cancel_timeout_msinteger-Required, Minimum: 5000, Maximum: 180000
incoming_call_timeout_msinteger-Required, Minimum: 5000, Maximum: 180000
missed_call_timeout_msinteger-Minimum: 5000, Maximum: 180000

ScreensharingSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
enabledboolean--
target_resolutionTargetResolution--

SessionSettingsRequest

NameTypeDescriptionConstraints
inactivity_timeout_secondsinteger-Required, Minimum: 5, Maximum: 900

ThumbnailsSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--

TranscriptionSettingsRequest

NameTypeDescriptionConstraints
closed_caption_modestring (available, disabled, auto-on)--
languagestring (auto, en, fr, es, de, it, nl, pt, pl, ca, cs, da, el, fi, id, ja, ru, sv, ta, th, tr, hu, ro, zh, ar, tl, he, hi, hr, ko, ms, no, uk)--
modestring (available, disabled, auto-on)-Required

VideoSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
camera_default_onboolean--
camera_facingstring (front, back, external)--
enabledboolean--
target_resolutionTargetResolution--

NoiseCancellationSettings

NameTypeDescriptionConstraints
modestring (available, disabled, auto-on)-Required

HLSSettingsRequest

NameTypeDescriptionConstraints
auto_onboolean--
enabledboolean--
layoutLayoutSettingsRequest--
quality_tracksstring[]-Required, Minimum: 1, Maximum: 3

RTMPSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--
layoutLayoutSettingsRequestLayout for the composed RTMP stream-
qualitystring (360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560)Resolution to set for the RTMP stream-

LayoutSettingsRequest

NameTypeDescriptionConstraints
detect_orientationboolean--
external_app_urlstring--
external_css_urlstring--
namestring (spotlight, grid, single-participant, mobile, custom)-Required
optionsobject--

TargetResolution

NameTypeDescriptionConstraints
bitrateinteger-Required, Maximum: 6000000
heightinteger-Required, Minimum: 240, Maximum: 3840
widthinteger-Required, Minimum: 240, Maximum: 3840

Notification settings

NotificationSettings

NameTypeDescriptionConstraints
call_live_startedEventNotificationSettings-Required
call_missedEventNotificationSettings-Required
call_notificationEventNotificationSettings-Required
call_ringEventNotificationSettings-Required
enabledboolean-Required
session_startedEventNotificationSettings-Required

EventNotificationSettings

NameTypeDescriptionConstraints
apnsAPNS-Required
enabledboolean-Required

APNS

NameTypeDescriptionConstraints
bodystring-Required
titlestring-Required
© Getstream.io, Inc. All Rights Reserved.