# Session Options Object

{% hint style="info" %}
**Since usage of** [***Options Object***](#options-object) **is optional, none of the fields are required by default.**
{% endhint %}

### Options Object

<table data-full-width="false"><thead><tr><th width="185">Parameter</th><th width="120">Type</th><th width="105">Default</th><th>Description</th></tr></thead><tbody><tr><td>allow_rating</td><td>boolean</td><td>true</td><td>Show 5-scale likert evaluation question at the end of the session. </td></tr><tr><td>preparation_time</td><td>integer</td><td>15</td><td>It allows administrators and instructors to join the session specified minutes before the planned time.</td></tr><tr><td>session_duration</td><td>integer</td><td>60</td><td>When the session is finished by the instructor, the session duration is also updated. If you want to store the planned session duration, you can use this option.</td></tr><tr><td>allow_users_stream_self_cam_mic</td><td>boolean</td><td>true</td><td>If it's set to true, the participants other than admins and instructors can open up their cameras and microphones.</td></tr><tr><td>hide_user_streams</td><td>boolean</td><td>false</td><td>Participants other than admins and instructors (unprivileged participants) cannot see other unprivileged participants.</td></tr><tr><td>enable_attendance_check</td><td>boolean</td><td>true</td><td>If it is set to true, a pop-up is displayed periodically to take attendance of (every 10 minutes) to every participant to let them click and engage. This option can be used to take attendance during session.</td></tr><tr><td>enable_simultaneous_interpretation</td><td>boolean</td><td>false</td><td>If this is set to true, the simultaneous interpretation module can be used.</td></tr><tr><td>enable_simultaneous_interpretation_for_users</td><td>boolean</td><td>false</td><td>If this is set to true, the simultaneous interpretation module can be used by all the participants.</td></tr><tr><td>start_active</td><td>boolean</td><td>false</td><td>By default, a Groups session should be started by an instructor. If this is set to true, all users are sent in without waiting in the lobby.</td></tr><tr><td>return_url</td><td>string</td><td>null</td><td>If a valid URL is provided, the user is redirected to this URL at the end of the session. This is a useful feature for integrating Groups into other platforms.</td></tr><tr><td>chat</td><td><a href="#chat-options"><mark style="color:blue;">Chat</mark></a></td><td>See object</td><td>Please see the Chat object below.</td></tr><tr><td>duration</td><td><a href="#duration-object"><mark style="color:blue;">Duration</mark></a></td><td>See object</td><td>Please see the Duration object below.</td></tr><tr><td>enforce_recording</td><td><a href="#enforce-recording">Enforce Recording</a></td><td>None (0)</td><td>Session-level recording enforcement.</td></tr><tr><td>enable_recording_auto_start_default</td><td>boolean</td><td>true</td><td>Whether recording automatically starts when the session begins.</td></tr><tr><td>display_join_leave_notifications</td><td>boolean</td><td>false</td><td>If set to true, join and leave notifications will be displayed to participants during the session.</td></tr><tr><td>display_transcriptions_in_recordings</td><td>boolean</td><td>false</td><td>Whether transcription display is enabled in session recordings. This setting can be overridden by the account-level enforcement policy. See <a href="../../../policies/transcription-display-policy">Transcription Display Policy</a> for details.</td></tr></tbody></table>

### Chat Options

<table data-full-width="false"><thead><tr><th width="232">Parameter</th><th width="90">Type</th><th width="98">Default</th><th>Description</th></tr></thead><tbody><tr><td>offMessageModule</td><td>boolean</td><td>false</td><td>Disable all chat messaging, including private and public messaging.</td></tr><tr><td>offGeneralMsging</td><td>boolean</td><td>false</td><td>Disable public messaging</td></tr><tr><td>offGeneralMsgLimitForUser</td><td>boolean</td><td>false</td><td>Only admins and instructors can see participants' messages</td></tr><tr><td>offSpecialMsging</td><td>boolean</td><td>false</td><td>Disable private messaging</td></tr><tr><td>offSpecialMsgToAdmin</td><td>boolean</td><td>false</td><td>Disable sending private messages to admins</td></tr><tr><td>offSpecialMsgToUser</td><td>boolean</td><td>false</td><td>Disable private messaging between users</td></tr><tr><td>offClearForReplay</td><td>boolean</td><td>false</td><td>Clear messaging history and delete all of the chat messages when the session is finished</td></tr><tr><td>onNewMsgSoundInAll</td><td>boolean</td><td>false</td><td>Play sound for each new message</td></tr><tr><td>onNewMsgNotifyInAll</td><td>boolean</td><td>false</td><td>Show browser notification for each new message</td></tr></tbody></table>

### Duration Object

<table><thead><tr><th width="167">Parameter</th><th width="87">Type</th><th width="100">Default</th><th>Description</th></tr></thead><tbody><tr><td>allowExtendTime</td><td>boolean</td><td>true</td><td>Allow time extension</td></tr><tr><td>useRemainingTime</td><td>boolean</td><td>false</td><td>Forces a session to finish at the remaining time regardless of active participation.</td></tr></tbody></table>

### Enforce  Recording

{% hint style="info" %}
For complete information about enforcement hierarchy, behavior, and API integration, see [**Recording Enforcement Policy**](https://developer.perculus.com/v2-en/policies/recording-enforcement-policy).
{% endhint %}

Recording enforcement modes control whether recording is mandatory, forbidden, or optional. These values work in a hierarchical system where account-level enforcement takes priority over session-level settings.

<table><thead><tr><th width="117">Parameter</th><th width="94">Type</th><th width="85">Value</th><th>Description</th></tr></thead><tbody><tr><td>None</td><td>integer</td><td>0</td><td>No enforcement applied. Users and sessions can control their own recording settings.</td></tr><tr><td>On</td><td>integer</td><td>1</td><td>Recording is enforced <strong>ON</strong>. Recording automatically starts and cannot be disabled by users.</td></tr><tr><td>Off</td><td>integer</td><td>2</td><td>Recording is enforced <strong>OFF</strong>. Recording cannot be started. Recording controls are hidden from users.</td></tr></tbody></table>
