Google Vault · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Google Vault holds-api

9 actions 9 updates update extends ../openapi/google-vault-holds-api-openapi.yml
Derived by API Evangelist Built from the contracts Google Vault publishes. Google Vault did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-google-descriptionx-required-scopesx-discovery-method-idx-api-evangelist-profilex-contract-sourcex-contract-revisionx-idempotencyx-error-envelope

Targets 9

$.info
$
$.paths["/v1/matters/{matterId}/holds"].get
$.paths["/v1/matters/{matterId}/holds"].post
$.paths["/v1/matters/{matterId}/holds/{holdId}"].get
$.paths["/v1/matters/{matterId}/holds/{holdId}"].put
$.paths["/v1/matters/{matterId}/holds/{holdId}"].delete
$.paths["/v1/matters/{matterId}/holds/{holdId}:addHeldAccounts"].post
$.paths["/v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts"].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Google Vault holds-api
  version: 1.0.0
extends: ../openapi/google-vault-holds-api-openapi.yml
x-generated: '2026-09-12'
x-method: derived
x-source: discovery/google-vault-discovery-v1.json + repo artifacts
x-note: Non-destructive overlay. Adds Google Discovery method descriptions, per-method required scopes,
  reversal/irreversibility markers and pointers to the derived artifacts in this repo. The underlying
  OpenAPI is never mutated.
actions:
- target: $.info
  update:
    x-api-evangelist-profile: https://apis.io/provider/google-vault
    x-contract-source: https://vault.googleapis.com/$discovery/rest?version=v1
    x-contract-revision: '20260905'
    x-idempotency: none — no Idempotency-Key or client request id on any mutating method
    x-error-envelope: google.rpc.Status (AIP-193), not RFC 9457 problem+json
    x-rate-limit-headers: none published; HTTP 429 is the only runtime signal
- target: $
  update:
    x-artifacts:
      authentication: authentication/google-vault-authentication.yml
      scopes: scopes/google-vault-scopes.yml
      conventions: conventions/google-vault-conventions.yml
      errors: errors/google-vault-problem-types.yml
      rate-limits: rate-limits/google-vault-rate-limits.yml
      data-model: data-model/google-vault-data-model.yml
      lifecycle: lifecycle/google-vault-lifecycle.yml
- target: $.paths["/v1/matters/{matterId}/holds"].get
  update:
    x-google-description: Lists the holds in a matter.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    - https://www.googleapis.com/auth/ediscovery.readonly
    x-discovery-method-id: vault.matters.holds.list
- target: $.paths["/v1/matters/{matterId}/holds"].post
  update:
    x-google-description: Creates a hold in the specified matter.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    x-discovery-method-id: vault.matters.holds.create
- target: $.paths["/v1/matters/{matterId}/holds/{holdId}"].get
  update:
    x-google-description: Gets the specified hold.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    - https://www.googleapis.com/auth/ediscovery.readonly
    x-discovery-method-id: vault.matters.holds.get
- target: $.paths["/v1/matters/{matterId}/holds/{holdId}"].put
  update:
    x-google-description: Updates the scope (organizational unit or accounts) and query parameters of
      a hold. You cannot add accounts to a hold that covers an organizational unit, nor can you add organizational
      units to a hold that covers individual accounts. If you try, the unsupported values are ignored.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    x-discovery-method-id: vault.matters.holds.update
- target: $.paths["/v1/matters/{matterId}/holds/{holdId}"].delete
  update:
    x-google-description: Removes the specified hold and releases the accounts or organizational unit
      covered by the hold. If the data is not preserved by another hold or retention rule, it might be
      purged.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    x-discovery-method-id: vault.matters.holds.delete
    x-irreversible: true
- target: $.paths["/v1/matters/{matterId}/holds/{holdId}:addHeldAccounts"].post
  update:
    x-google-description: Adds accounts to a hold. Returns a list of accounts that have been successfully
      added. Accounts can be added only to an existing account-based hold.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    x-discovery-method-id: vault.matters.holds.addHeldAccounts
    x-reversal-operation: matters.holds.removeHeldAccounts
- target: $.paths["/v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts"].post
  update:
    x-google-description: Removes the specified accounts from a hold. Returns a list of statuses in the
      same order as the request.
    x-required-scopes:
    - https://www.googleapis.com/auth/ediscovery
    x-discovery-method-id: vault.matters.holds.removeHeldAccounts