Microsoft Purview · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Microsoft Purview eDiscovery Legal Holds API

3 actions 3 updates phrasing extends openapi/microsoft-purview-legal-holds-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Microsoft Purview's API. It is a proposal applied on top of the contract, not a document Microsoft Purview publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 3

$.info
$.paths['/security/cases/ediscoveryCases/{ediscoveryCaseId}/legalHolds'].get
$.paths['/security/cases/ediscoveryCases/{ediscoveryCaseId}/legalHolds'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Microsoft Purview eDiscovery Legal Holds API
  version: 1.0.0
extends: openapi/microsoft-purview-legal-holds-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 2
- target: $.paths['/security/cases/ediscoveryCases/{ediscoveryCaseId}/legalHolds'].get
  update:
    x-apievangelist-phrasing:
      intent: List legal holds in an eDiscovery case
      effect: read
      questions:
      - What legal holds are in place for an eDiscovery case?
      - Can I see whether each hold in a case is enabled?
      instructions:
      - text: List the legal holds in eDiscovery case {case}.
        slots:
          case: path.ediscoveryCaseId
      - text: Show hold policies for case {case}.
        slots:
          case: path.ediscoveryCaseId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/cases/ediscoveryCases/{ediscoveryCaseId}/legalHolds'].post
  update:
    x-apievangelist-phrasing:
      intent: Place a legal hold in an eDiscovery case
      effect: write
      questions:
      - How do I put content on legal hold for a case?
      - Can I scope a legal hold to content matching a query?
      instructions:
      - text: Create a legal hold named {name} in case {case}.
        slots:
          name: requestBody.displayName
          case: path.ediscoveryCaseId
      - text: Place a hold on content matching {query} in case {case}.
        slots:
          query: requestBody.contentQuery
          case: path.ediscoveryCaseId
      method: generated
      generated: '2026-10-01'