> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meetingkit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The settings object

> Values for recording, transcription, summaries and branding, applied where their assignments say.

Settings hold values; [assignments](/api-reference/settings-assignments/object) say where they apply. What
applies to a workspace, a member or a meeting is its `settings` block, [the settings
block](/api-reference/settings/block-object). See [Settings](/meetingkit/settings).

Every field is a value or a code, never `null`: `inherit` leaves the field to the next assignment down.

## Attributes

<ResponseField name="id" type="string">
  Beginning with `set_`.
</ResponseField>

<ResponseField name="object" type="string">
  Always `settings`.
</ResponseField>

<ResponseField name="name" type="string | null">
  Always `null` for now; named settings come later.
</ResponseField>

<ResponseField name="recording" type="object">
  Whether meetings get recorded, and how.

  <Expandable title="properties">
    <ResponseField name="enabled" type="boolean | string">
      `true` records, `false` does not, `inherit` leaves it to the next assignment. With only a
      `workspace:` or `member:` condition, `true` records every meeting; with a `meetings:` category,
      the only value is `true`.
    </ResponseField>

    <ResponseField name="methods" type="object">
      How meetings are recorded.

      <Expandable title="properties">
        <ResponseField name="bot" type="object">
          The notetaker bot that joins the call.

          <Expandable title="properties">
            <ResponseField name="start" type="string">
              When the bot starts recording. Not on a meeting.

              * `on_join`: As soon as it joins the call.
              * `on_command`: It joins paused, until someone types `!resume` in the chat.
              * `inherit`: From the next assignment.
            </ResponseField>

            <ResponseField name="mode" type="string">
              What the bot records.

              * `audio_and_video`: Audio and video.
              * `audio_only`: Audio only.
              * `inherit`: From the next assignment.
            </ResponseField>

            <ResponseField name="silence_detection" type="object">
              What the bot does when nobody speaks for a while.

              <Expandable title="properties">
                <ResponseField name="alert" type="boolean | string">
                  Whether the bot posts a chat message after a long silence: `true`, `false` or `inherit`.
                </ResponseField>
              </Expandable>
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="transcription" type="object">
  How the recording is transcribed.

  <Expandable title="properties">
    <ResponseField name="language" type="string">
      A language tag, `auto`, `multi` or `inherit`. See [Languages](/api-reference/languages).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="summary" type="object">
  How the summary is written.

  <Expandable title="properties">
    <ResponseField name="template" type="string">
      A built-in template's slug, such as `discovery_call`, a custom template's `tpl_` id, or
      `inherit`.
    </ResponseField>

    <ResponseField name="language" type="string">
      A language tag, `same_as_transcript` for the transcript's language, or `inherit`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="branding" type="object">
  How the notetaker is branded. Only with a `workspace:` condition.

  <Expandable title="properties">
    <ResponseField name="brand_kit_id" type="string">
      A brand kit, beginning with `brk_`; `none` for MeetingKit's own branding; or `inherit`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="assignments" type="object[]">
  Where these settings apply. Read-only; change them with the settings assignments endpoints.

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Beginning with `asg_`.
    </ResponseField>

    <ResponseField name="scope" type="string[]">
      The conditions that must all hold. See [the settings assignment
      object](/api-reference/settings-assignments/object).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created_at" type="string">
  When the settings were created, in ISO 8601.
</ResponseField>

<ResponseField name="updated_at" type="string">
  When the settings last changed, in ISO 8601.
</ResponseField>

<ResponseExample>
  ```json The settings object theme={null}
  {
    "id": "set_01k6sa1es0000000000000000a",
    "object": "settings",
    "name": null,
    "recording": {
      "enabled": false,
      "methods": {
        "bot": {
          "start": "on_join",
          "mode": "audio_only",
          "silence_detection": {
            "alert": true
          }
        }
      }
    },
    "transcription": {
      "language": "ca"
    },
    "summary": {
      "template": "discovery_call",
      "language": "same_as_transcript"
    },
    "branding": {
      "brand_kit_id": "inherit"
    },
    "assignments": [
      { "id": "asg_01k6a1ana00000000000000000", "scope": ["member:mem_01k69x9s8x7c2dvq3m5n6p4ab"] }
    ],
    "created_at": "2026-09-30T09:12:41Z",
    "updated_at": "2026-09-30T09:12:41Z"
  }
  ```
</ResponseExample>
