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