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

# Get legal hold



## OpenAPI

````yaml get /v1/legal-holds/{hold_id}
openapi: 3.1.0
info:
  title: Granola API
  version: 1.0.0
  description: API for accessing meeting data from Granola
servers:
  - url: https://public-api.granola.ai
    description: Production
security: []
paths:
  /v1/legal-holds/{hold_id}:
    get:
      summary: Get legal hold
      parameters:
        - schema:
            type: string
            pattern: ^lgh_[a-zA-Z0-9]{14}$
            description: The legal hold id
            example: lgh_Abc123XyZ456De
          required: true
          name: hold_id
          in: path
      responses:
        '200':
          description: The legal hold
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalHold'
        '400':
          description: Bad request
        '401':
          description: Unauthorized - Invalid API key
        '404':
          description: Not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    LegalHold:
      type: object
      properties:
        id:
          type: string
          pattern: ^lgh_[a-zA-Z0-9]{14}$
          description: The unique identifier for the legal hold
          example: lgh_Abc123XyZ456De
        object:
          type: string
          enum:
            - legal_hold
          description: The type of object
          example: legal_hold
        name:
          type: string
          description: The name of the hold, as your admins see it
          example: X v. Y
        description:
          type:
            - string
            - 'null'
          description: Free text describing the matter, or null
          example: Preservation notice 2026-08-12
        covers_entire_workspace:
          type: boolean
          description: >-
            True when the hold covers every member of your workspace, current
            and future. Additive with `custodian_count` — a hold may do both.
          example: false
        custodian_count:
          type: integer
          description: >-
            How many users this hold names individually. Workspace-wide coverage
            is `covers_entire_workspace`, not a custodian.
          example: 3
        created_at:
          type: string
          format: date-time
          description: When the hold was placed
          example: '2026-09-21T10:00:00Z'
        released_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            When the hold was released, or null while it is active. A released
            hold is never deleted.
          example: null
      required:
        - id
        - object
        - name
        - description
        - covers_entire_workspace
        - custodian_count
        - created_at
        - released_at
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: apiKey

````