Miro Legal holds API

The Legal holds API from Miro — 6 operation(s) for legal holds.

OpenAPI Specification

miro-legal-holds-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Miro Developer Platform AI Interaction Logs Legal holds API
  version: v2.0
  description: '<img src="https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n" width="1685" height="593">


    ### Miro Developer Platform concepts


    - New to the Miro Developer Platform? Interested in learning more about platform concepts??

    [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes.



    ### Getting started with the Miro REST API


    - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes.

    - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes.



    ### Miro REST API tutorials


    Check out our how-to articles with step-by-step instructions and code examples so you can:


    - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth)



    ### Miro App Examples


    Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro''s Developer Platform 2.0.

    '
servers:
- url: https://api.miro.com/
tags:
- name: Legal holds
paths:
  /v2/orgs/{org_id}/cases:
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get all cases
      operationId: get-all-cases
      description: Retrieves the list of eDiscovery cases in an organization.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - $ref: '#/components/parameters/queryPageLimit'
      - $ref: '#/components/parameters/queryPageCursor'
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the list of cases.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      responses:
        '200':
          description: Case objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCaseResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    post:
      x-settings:
        publish: true
        skip-tests: true
      summary: Create case
      operationId: create-case
      description: Creating a case for legal hold is the first critical step in the eDiscovery process when litigation or an investigation is anticipated. One of the purposes of creating a case is that it acts as a container that allows admins to group multiple legal holds under one case. For more information, see our <a href="https://help.miro.com/hc/en-us/articles/22120022370962-Create-a-case" target=_blank>Help Center page on creating a case</a>. <br><br>This API creates a new case in an organization.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseRequest'
        required: true
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization in which you want to create a new case.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      responses:
        '200':
          description: Case created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
  /v2/orgs/{org_id}/cases/{case_id}:
    delete:
      x-settings:
        publish: true
        skip-tests: true
      summary: Close case
      operationId: delete-case
      description: Closing a case is the final stage in the eDiscovery process, marking the conclusion of a legal matter or investigation. You must ensure that all associated legal holds within the case are closed before closing the case. Closing a case will permanently delete it. For more information, see our <a href="https://help.miro.com/hc/en-us/articles/22138936297746-Close-a-case" target=_blank>Help Center page on closing a case</a>. <br><br>This API closes a case in an organization.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization in which you want to close a case.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case you want to close.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      responses:
        '204':
          description: Case closed successfully.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get case
      operationId: get-case
      description: Retrieves information about a case in an organization.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 3</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the case information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case you want to retrieve.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      responses:
        '200':
          description: Case object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    put:
      x-settings:
        publish: true
        skip-tests: true
      summary: Edit case
      operationId: edit-case
      description: Editing a case allows eDiscovery Admins to keep case details accurate and aligned with the evolving scope of a legal matter. As investigations progress, it may be necessary to update the case name or description to reflect changes in focus, terminology, or internal documentation standards. Since a case serves as the central container for one or more legal holds, keeping its information up to date helps ensure clarity, consistency, and easier navigation for all stakeholders involved in the legal process.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/docs/miro-rest-api-introduction#rate-limiting">Level 3</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseRequest'
        required: true
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization for which you want to edit the case information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case you want to edit.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      responses:
        '200':
          description: Case object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
  /v2/orgs/{org_id}/cases/{case_id}/legal-holds:
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get all legal holds within a case
      operationId: get-all-legal-holds
      description: Retrieves the list of all legal holds within a case for an organization.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - $ref: '#/components/parameters/queryPageLimit'
      - $ref: '#/components/parameters/queryPageCursor'
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the list of legal holds within a case.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case for which you want to retrieve the list of legal holds.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      responses:
        '200':
          description: Legal hold objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLegalHoldResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    post:
      x-settings:
        publish: true
        skip-tests: true
      summary: Create legal hold
      operationId: create-legal-hold
      description: After creating a case it is possible to add one or multiple legal holds to the case. Creating a legal hold involves identifying the relevant users associated with a case and applying the hold to prevent permanent deletion of content that those users own, co-own, create, edit or access. For more information, see our <a href="https://help.miro.com/hc/en-us/articles/22120471564946-Add-a-legal-hold-to-a-case" target=_blank>Help Center page on adding a legal hold to a case</a>. <br><br>This API creates a new legal hold in a case for an organization. Newly created legal holds could take up to 24 hours to be processed.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegalHoldRequest'
        required: true
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization in which you want to create a new legal hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case in which you want to create a new legal hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      responses:
        '200':
          description: Legal hold created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalHoldResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
  /v2/orgs/{org_id}/cases/{case_id}/export-jobs:
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get board export jobs of a case
      operationId: get-legal-hold-export-jobs
      description: Retrieves board export jobs for a case.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - $ref: '#/components/parameters/queryPageLimit'
      - $ref: '#/components/parameters/queryPageCursor'
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the list of export jobs within a case.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case for which you want to retrieve the list of export jobs.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      responses:
        '200':
          description: Export job objects containing job IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCaseExportJobsResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
  /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}:
    delete:
      x-settings:
        publish: true
        skip-tests: true
      summary: Close legal hold
      operationId: delete-legal-hold
      description: Closing a legal hold is one of the final steps in the eDiscovery process once the litigation or investigation has concluded. This process involves releasing the Miro boards and custodians that were under legal hold, allowing the preserved boards to return to normal operations. Closing a legal hold will permanently delete it. For more information, see our <a href="https://help.miro.com/hc/en-us/articles/21922521629330-Close-a-legal-hold" target=_blank>Help Center page on closing a legal hold</a>. <br><br>This API closes a legal hold in a case for an organization. Once a legal hold is closed, it can take up to 24 hours to release the content items from the legal hold. <br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 4</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization in which you want to close a legal hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case in which you want to close a legal hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      - in: path
        name: legal_hold_id
        description: The ID of the legal hold you want to close.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619013003'
        required: true
      responses:
        '204':
          description: Legal hold closed successfully.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get legal hold information
      operationId: get-legal-hold
      description: Retrieves information about a legal hold within a case for an organization. <br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 3</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the legal hold information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case for which you want to retrieve the legal hold information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      - in: path
        name: legal_hold_id
        description: The ID of the legal hold you want to retrieve.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619013003'
        required: true
      responses:
        '200':
          description: Legal hold object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalHoldResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
    put:
      x-settings:
        publish: true
        skip-tests: true
      summary: Edit legal hold
      operationId: edit-legal-hold
      description: Editing a legal hold allows eDiscovery Admins to adjust and refine ongoing legal preservation efforts as case requirements evolve. Whether new custodians are identified, additional Miro boards become relevant, or existing boards or users are no longer in scope, editing a legal hold ensures that the correct data remains preserved and defensible throughout the legal process. Admins can update the legal hold’s name or description and add or remove users and boards as needed. This flexibility supports dynamic legal workflows and ensures that preservation stays precise, up to date, and aligned with the scope of the legal matter—maintaining compliance while avoiding unnecessary data retention.<br/><br/>When a legal hold is edited, boards newly added to the hold will begin having their versions preserved from that point forward, boards or users removed from the hold will stop being preserved, and their versions will no longer be preserved as part of that legal hold, boards that remain under hold will continue to have all versions preserved, including any deletions that occur after the hold was applied. This approach ensures organizations can respond to legal demands with accuracy and accountability as a case evolves.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/docs/miro-rest-api-introduction#rate-limiting">Level 3</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegalHoldRequest'
        required: true
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization for which you want to edit the legal hold information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case for which you want to edit the legal hold information.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      - in: path
        name: legal_hold_id
        description: The ID of the legal hold you want to edit.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619013003'
        required: true
      responses:
        '200':
          description: Legal hold object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalHoldResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
  /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items:
    get:
      x-settings:
        publish: true
        skip-tests: true
      summary: Get content items under legal hold
      operationId: get-legal-hold-content-items
      description: Once a legal hold is in place you can review or explore the preserved Miro boards to ensure that all relevant data is intact and ready for legal proceedings or investigations. For more information, see our <a href="https://help.miro.com/hc/en-us/articles/22120628583570-Review-boards-under-legal-hold" target=_blank>Help Center page on reviewing boards under legal hold</a>. <br><br>This API lists all content items under a specific legal hold in a case for an organization. Please verify that the legal hold is in 'ACTIVE' state to guarantee that the legal hold has finished processing the full list of content items under hold. <br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>organization:cases:management</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 3</a> <br/><h3>Enterprise Guard only</h3> <p>This API is available only for Enterprise plan users with the <a target=_blank href="https://help.miro.com/hc/en-us/articles/15699815402514-Enterprise-Guard-overview">Enterprise Guard add-on</a>. You can only use this endpoint if you have both the Company Admin and <a target=_blank href="https://help.miro.com/hc/en-us/articles/15695755655954-Understand-admin-roles-and-their-privileges#01JARF6KM8ATNT6YDMGD7GMYJN">eDiscovery Admin</a> roles.
      parameters:
      - in: path
        name: org_id
        description: The ID of the organization for which you want to retrieve the list of content items under hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345618265000'
        required: true
      - in: path
        name: case_id
        description: The ID of the case for which you want to retrieve the list of content items under hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619012007'
        required: true
      - in: path
        name: legal_hold_id
        description: The ID of the legal hold for which you want to retrieve the list of content items under hold.
        schema:
          type: string
          pattern: ^[0-9]+$
        example: '3074457345619013003'
        required: true
      - $ref: '#/components/parameters/queryPageLimit'
      - $ref: '#/components/parameters/queryPageCursor'
      responses:
        '200':
          description: Content item objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLegalHoldContentItemsResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      tags:
      - Legal holds
components:
  schemas:
    LegalHoldRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the legal hold.
          example: My legal hold
        description:
          type: string
          description: The description of the legal hold.
          example: Info about my legal hold
        scope:
          $ref: '#/components/schemas/LegalHoldRequestScope'
      required:
      - name
      - scope
    LegalHoldRequestScopeUsers:
      title: Users
      type: object
      properties:
        users:
          type: array
          items:
            type: object
            properties:
              email:
                type: string
                description: Email of the user
                example: john.smith@example.com
            required:
            - email
      required:
      - user
    LegalHoldContentItemsResponse:
      type: object
      properties:
        contentId:
          type: string
          description: Identifier for the piece of content referenced by a content item. In the case of a board, this represents the `bo

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/miro/refs/heads/main/openapi/miro-legal-holds-api-openapi.yml