---
title: "Get a policy"
method: GET
path: "/policies/{id}"
tags: ["Policies"]
---

# Get a policy

`GET /policies/{id}`

## Request

- Base URL: `https://www.happyscribe.com/api/v1`
- URL: `https://www.happyscribe.com/api/v1/policies/{id}`
- Auth: API key in header `Authorization`

What a workspace, a member or a meeting sets. A meeting's policy holds only its own overrides; what will happen is the meeting's `effective_policy`.

## Response `200`

The policy.

- PolicyObject
  - `object` 'policy': Always `policy`.
  - `owner` object: Whose policy this is.
    - `type` 'workspace' | 'member' | 'meeting': Whose policy this is. - `workspace`: the workspace's defaults. - `member`: one member's own rules. - `meeting`: overrides for one meeting and the later occurrences of its series.
    - `id` string: A `wks_`, `mem_` or `mtg_` id, matching `type`.
  - `policy` Policy: What an object prefers for the meetings it covers. Every group is optional: an object shows only what it sets. Which fields each owner accepts is listed on [Update a policy](#operation/updatePolicy).
    - `recording` object: Which meetings get recorded, and how.
      - `scope` Scope[]: Which meetings get recorded (workspace, member). `[]` records none.
      - `enabled` boolean: Meeting only. Record this meeting or not.
      - `methods` object: How meetings are recorded.
        - `bot` object: The notetaker bot that joins the call.
          - `start` 'on_join' | 'on_command': When the bot starts recording. - `on_join`: as soon as it joins the call. - `on_command`: it joins paused, until someone types `!resume` in the chat.
          - `mode` 'audio_and_video' | 'audio_only': What the bot records. - `audio_and_video`: audio and video. - `audio_only`: audio only.
          - `silence_detection` object: What the bot does when nobody speaks for a while.
            - `alert` boolean: Whether the bot posts a chat message after a long silence.
    - `transcription` object: How the recording is transcribed.
      - `language` string: A language tag, `auto` or `multi`. See [Languages](/api-reference/languages).
    - `summary` object: How the summary is written.
      - `template` string, nullable: A built-in template's slug, such as `discovery_call`, or a custom template's `tpl_` id. Integer custom template ids are still accepted.
      - `language` string, nullable: A language tag (see [Languages](/api-reference/languages)); `null` follows the transcript's language.
    - `branding` object: How the notetaker is branded.
      - `brand_kit_id` string, nullable: Workspace only. The brand kit the workspace's bots use, beginning with `brk_`; `null` uses HappyScribe's default branding. The same link as the kit's `workspace_ids`. The kit must be used by a workspace the key belongs to. On a meeting's `effective_policy`, the kit its bot is sent with, `null` when the workspace's plan does not include notetaker customization.

## Other responses

- `401`: Missing or invalid API key, or the key is not an owner or admin of the workspace.
- `404`: Nothing with that id in a workspace the key belongs to.

---

[API](https://skmtc.dev/happyscribe/apis/happyscribe-api.md) - [All operations](https://skmtc.dev/happyscribe/apis/happyscribe-api/llms.txt) - [OpenAPI document](https://skmtc.dev/happyscribe/apis/happyscribe-api/revisions/1281bd968c3d?raw)
