> ## 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.

# Get a brand kit



## OpenAPI

````yaml /openapi.yaml get /brand_kits/{id}
openapi: 3.1.0
info:
  title: MeetingKit API
  description: >
    The MeetingKit API lets you build a meetings feature into your product:
    users connect

    a calendar, a notetaker joins their calls, and you get the transcript,
    speakers and

    summary of each meeting.
  version: '2026-10-12'
  contact:
    name: MeetingKit Developer Support
    email: dev@happyscribe.co
servers:
  - url: https://api.meetingkit.com/api/v1
security:
  - apiKeyAuth: []
tags:
  - name: Agent sessions
    description: Exchange the code a user hands their AI agent for API credentials.
  - name: Uploads
    description: Get signed URLs to upload media files directly to MeetingKit storage.
  - name: Transcribe
    description: Create transcription orders from media URLs.
  - name: Subtitle
    description: Create subtitling orders from media URLs.
  - name: Translate
    description: Create translation orders from existing conversations.
  - name: Orders
    description: Retrieve and confirm the orders created by the service endpoints.
  - name: Conversations
    description: List, retrieve, update, and delete conversations.
  - name: Exports
    description: Export conversations to text, subtitle, video-editing, and data formats.
  - name: Bots
    description: Send a notetaker bot to Zoom, Google Meet, or Microsoft Teams calls.
  - name: Glossaries
    description: List glossaries to apply custom terminology to orders.
  - name: Style guides
    description: List style guides to apply formatting preferences to orders.
  - name: Workspaces
    description: List the workspaces the authenticated user belongs to.
  - name: Organization memberships
    description: Manage which users belong to a workspace.
  - name: Members
    description: A partner's end users inside a workspace (MeetingKit).
  - name: Meetings
    description: >-
      Every meeting of a workspace, from calendars and bots, with its results
      (MeetingKit).
  - name: Calendar connections
    description: >-
      Members' Google and Microsoft calendars, connected through a hosted
      consent link and synced by MeetingKit.
  - name: Calendar events
    description: Calendar events a partner pushes from its own calendar sync (MeetingKit).
  - name: Settings
    description: >-
      What gets recorded and how, as values you assign to a workspace, a member,
      a meeting category or one meeting (MeetingKit).
  - name: Settings assignments
    description: Where settings apply (MeetingKit).
  - name: Files
    description: Images uploaded to a workspace, to use in a brand kit (MeetingKit).
  - name: Webhook endpoints
    description: Register the receivers of a workspace's webhooks, and test them.
  - name: Webhook events
    description: >-
      The webhooks sent to a workspace's endpoints, how each delivery went, and
      redelivery.
  - name: People
    description: >-
      Language Services. People found in your transcripts (Memory API, private
      beta).
  - name: Companies
    description: >-
      Language Services. Companies found in your transcripts (Memory API,
      private beta).
paths:
  /brand_kits/{id}:
    parameters:
      - $ref: '#/components/parameters/BrandKitId'
    get:
      tags:
        - Brand kits
      summary: Get a brand kit
      operationId: getBrandKit
      responses:
        '200':
          description: The brand kit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandKit'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: No workspace the key belongs to owns or uses this brand kit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
components:
  parameters:
    BrandKitId:
      name: id
      in: path
      required: true
      description: Brand kit ID, beginning with `brk_`. Treat it as an opaque string.
      schema:
        type: string
        example: brk_01k6c3v7w2q9d8m4n5p6r7s8tx
  schemas:
    BrandKit:
      type: object
      required:
        - id
        - object
        - workspace_ids
        - bot
        - email
      properties:
        id:
          type: string
          description: Brand kit ID, beginning with `brk_`.
        object:
          type: string
          description: Always `brand_kit`.
        workspace_id:
          type: string
          nullable: true
          description: >-
            The workspace that owns the kit, a `wks_` id. `null` when the key
            does not belong to it.
        workspace_ids:
          type: array
          items:
            type: string
            description: A `wks_` workspace id. Integer workspace ids are still accepted.
          description: >-
            The workspaces that use this kit, among those the key belongs to.
            Empty for a kit no workspace uses.
        bot:
          $ref: '#/components/schemas/BrandKitBot'
        email:
          $ref: '#/components/schemas/BrandKitEmail'
        preview_url:
          type: string
          format: uri
          description: >-
            A page that shows this kit as saved, the notetaker's tile in the
            call, its chat messages and the summary email. Anyone with the link
            can open it, without signing in, until `preview_expires_at`. Every
            response carries a fresh link.
        preview_expires_at:
          type: string
          format: date-time
          description: >-
            When `preview_url` stops working, ten minutes after the response, in
            ISO 8601. Read the brand kit again for a fresh link.
        metadata:
          $ref: '#/components/schemas/Metadata'
        created_at:
          description: |
            When the brand kit was created, in ISO 8601.
          type: string
          format: date-time
      example:
        id: brk_01k6c3v7w2q9d8m4n5p6r7s8tx
        object: brand_kit
        workspace_id: wks_01k6a2r9s8x7c2dvq3m5n6p4ab
        workspace_ids:
          - wks_01k6a2r9s8x7c2dvq3m5n6p4ab
          - wks_01k6a3t4v5w6x7y8z9a0b1c2de
        bot:
          name: Acme Assistant
          tile:
            type: logo
            logo:
              file:
                id: file_01k6d8q4z7m2n5p8r1s3t6v9wx
                url: >-
                  https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…
              background_color: '#0B1F3A'
              scale: 70
          chat:
            enabled: true
            recording_message: Hi, I'm Acme Assistant, taking notes for {{user}}.
            paused_message: Recording is paused.
        email:
          type: branded
          branded:
            logo:
              id: file_01k6d8q4z7m2n5p8r1s3t6v9wx
              url: >-
                https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…
            color: '#0052FF'
            website: https://acme.com
            description: Acme AI Meeting Companion
            cta:
              type: link
              link:
                label: Open in Acme
                url: https://acme.com/m/{{meeting_id}}
        preview_url: >-
          https://api.meetingkit.com/app/shared/brand-kits/brk_01k6c3v7w2q9d8m4n5p6r7s8tx/preview?token=WyJicmtfMDFrNmMzdjd3MnE5ZDhtNG41cDZyN3M4dHgiLDE3OTA0MTM4MDBd--50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c
        preview_expires_at: '2026-09-26T09:10:00Z'
        metadata: {}
        created_at: '2026-09-30T10:00:00Z'
    Errors:
      type: object
      required:
        - errors
      description: >
        Every error the API returns, `401` and `429` included. See
        [Errors](/api-reference/errors).
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        retry_in_seconds:
          type: integer
          description: >-
            On `429`, how long to wait before retrying. Also sent as
            `Retry-After`.
      example:
        errors:
          - code: invalid
            field: recording.methods.bot.mode
            message: 'must be one of: audio_and_video, audio_only, inherit'
    BrandKitBot:
      type: object
      description: How the notetaker appears in the call.
      properties:
        name:
          type: string
          maxLength: 64
          description: >-
            The notetaker's name in the call. Defaults to one derived from the
            name of the workspace that owns the kit.
        tile:
          type: object
          description: >-
            The picture on the notetaker's video tile. Only the object named
            after `type` is present; the options of the other types stay stored.
          properties:
            type:
              type: string
              enum:
                - default
                - color
                - logo
                - image
              description: |
                Which tile the notetaker shows.

                - `default`: MeetingKit's logo.
                - `color`: a background color with no logo.
                - `logo`: your logo on a background color.
                - `image`: your own 16:9 picture.
            color:
              type: object
              description: Present when `type` is `color`.
              properties:
                background_color:
                  type: string
                  pattern: ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
                  description: >-
                    The tile's background, as a HEX color. The `color` and
                    `logo` tiles share it.
            logo:
              type: object
              description: Present when `type` is `logo`.
              properties:
                file:
                  description: The logo, or `null` when the kit has none.
                  oneOf:
                    - $ref: '#/components/schemas/BrandKitImage'
                    - type: 'null'
                background_color:
                  type: string
                  pattern: ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
                  description: >-
                    The tile's background, as a HEX color. The `color` and
                    `logo` tiles share it.
                scale:
                  type: integer
                  minimum: 10
                  maximum: 100
                  description: How large the logo is on the tile, as a percentage.
            image:
              type: object
              description: Present when `type` is `image`.
              properties:
                file:
                  description: >-
                    The 16:9 picture that fills the tile, or `null` when the kit
                    has none.
                  oneOf:
                    - $ref: '#/components/schemas/BrandKitImage'
                    - type: 'null'
        chat:
          type: object
          description: What the notetaker posts in the call's chat.
          properties:
            enabled:
              type: boolean
              description: Whether the notetaker posts chat messages at all.
            recording_message:
              type: string
              maxLength: 300
              description: >-
                Posted when the notetaker joins and starts recording. Supports
                `{{user}}`. Falls back to the standard greeting when not
                customized, so it is never null.
            paused_message:
              type: string
              maxLength: 300
              description: >-
                Posted while recording is paused. Supports `{{user}}`. Falls
                back to the standard announcement when not customized, so it is
                never null.
    BrandKitEmail:
      type: object
      description: >-
        How the summary email looks. Only the object named after `type` is
        present; the branded options stay stored while `type` is `default`.
      properties:
        type:
          type: string
          enum:
            - default
            - branded
          description: >
            Which summary email is sent.


            - `default`: MeetingKit's email.

            - `branded`: your logo, color, website and button, sent as "<bot
            name>" from summaries@meetingkit.com.
        branded:
          type: object
          description: Present when `type` is `branded`.
          properties:
            logo:
              description: >-
                The logo at the top of the email. The tile's logo until the kit
                has an email logo of its own; `null` when it has neither.
              oneOf:
                - $ref: '#/components/schemas/BrandKitImage'
                - type: 'null'
            color:
              type: string
              nullable: true
              pattern: ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
              description: The HEX color of the email's header and button.
            website:
              type: string
              nullable: true
              format: uri
              description: Where the email's "Learn more" link goes.
            description:
              type: string
              nullable: true
              maxLength: 300
              description: The line about your product in the email's footer.
            cta:
              type: object
              description: >-
                The button under the meeting's name. Only the object named after
                `type` is present.
              properties:
                type:
                  type: string
                  enum:
                    - open_meeting
                    - none
                    - link
                  description: >
                    What the button does.


                    - `open_meeting`: opens the meeting in MeetingKit, for
                    recipients who can open it there.

                    - `none`: no button.

                    - `link`: opens your own URL.
                link:
                  type: object
                  description: Present when `type` is `link`.
                  properties:
                    label:
                      type: string
                      maxLength: 64
                      description: The button's text.
                    url:
                      type: string
                      maxLength: 2048
                      description: >-
                        Where the button goes, an `http` or `https` URL.
                        `{{meeting_id}}` is replaced by the meeting's `mtg_` id.
    Metadata:
      type: object
      description: >
        Your own key-value pairs, for your ids and context. MeetingKit stores
        them, returns them on

        the object and in every webhook that carries it, and never acts on them.
        Up to 50 keys of up

        to 40 characters (no square brackets), values up to 500 characters. See

        [metadata](/meetingkit/setup#a-workspace-per-customer).
      maxProperties: 50
      propertyNames:
        minLength: 1
        maxLength: 40
        pattern: ^[^\[\]]+$
      additionalProperties:
        type: string
        maxLength: 500
      example:
        gurusup_user_id: usr_8812
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: >-
            A stable snake_case word, safe to branch on. See
            [Errors](/api-reference/errors) for the list.
        message:
          type: string
          description: A sentence for humans. It may change; do not parse it.
        field:
          type: string
          description: >-
            The dotted path to the request field at fault, such as
            `recording.methods.bot.mode`. Present only when one field is.
    BrandKitImage:
      type: object
      description: >-
        An image on the kit, copied from the [file](/api-reference/files/object)
        it was set with.
      properties:
        id:
          type: string
          nullable: true
          description: >-
            The `file_` id the image was set with. `null` for an image uploaded
            in the dashboard.
        url:
          type: string
          format: uri
          description: >-
            A signed URL of the kit's copy of the image, valid for one year.
            Every read returns a fresh one.
  responses:
    Unauthorized:
      description: >-
        Your API key is missing (`missing_api_key`) or wrong
        (`invalid_api_key`), or it may not access this resource
        (`unauthorized`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key, sent bare. See
        [Authentication](/api-reference/authentication).

````