Team Drives-related fields in the Vault API are being replaced. Learn more.

Google Workspace Vault API

Retention and eDiscovery for Google Workspace.

To work with Vault resources, the account must have the required Vault privileges and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the View All Matters privilege. For example, to download an export, an account needs the Manage Exports privilege and the matter shared with them.


To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:


REST Resource: v1.matters

addPermissions POST /v1/matters/{matterId}:addPermissions
Adds an account as a matter collaborator.
close POST /v1/matters/{matterId}:close
Closes the specified matter.
count POST /v1/matters/{matterId}:count
Counts the artifacts within the context of a matter and returns a detailed breakdown of metrics.
create POST /v1/matters
Creates a new matter with the given name and description.
delete DELETE /v1/matters/{matterId}
Deletes the specified matter.
get GET /v1/matters/{matterId}
Gets the specified matter.
list GET /v1/matters
Lists matters the user has access to.
removePermissions POST /v1/matters/{matterId}:removePermissions
Removes an account as a matter collaborator.
reopen POST /v1/matters/{matterId}:reopen
Reopens the specified matter.
undelete POST /v1/matters/{matterId}:undelete
Undeletes the specified matter.
update PUT /v1/matters/{matterId}
Updates the specified matter.

REST Resource: v1.matters.exports

create POST /v1/matters/{matterId}/exports
Creates an Export.
delete DELETE /v1/matters/{matterId}/exports/{exportId}
Deletes an Export.
get GET /v1/matters/{matterId}/exports/{exportId}
Gets an Export.
list GET /v1/matters/{matterId}/exports
Lists Exports.

REST Resource: v1.matters.holds

addHeldAccounts POST /v1/matters/{matterId}/holds/{holdId}:addHeldAccounts
Adds HeldAccounts to a hold.
create POST /v1/matters/{matterId}/holds
Creates a hold in the given matter.
delete DELETE /v1/matters/{matterId}/holds/{holdId}
Removes a hold by ID.
get GET /v1/matters/{matterId}/holds/{holdId}
Gets a hold by ID.
list GET /v1/matters/{matterId}/holds
Lists holds within a matter.
removeHeldAccounts POST /v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts
Removes HeldAccounts from a hold.
update PUT /v1/matters/{matterId}/holds/{holdId}
Updates the OU and/or query parameters of a hold.

REST Resource: v1.matters.holds.accounts

create POST /v1/matters/{matterId}/holds/{holdId}/accounts
Adds a HeldAccount to a hold.
delete DELETE /v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}
Removes a HeldAccount from a hold.
list GET /v1/matters/{matterId}/holds/{holdId}/accounts
Lists HeldAccounts for a hold.

REST Resource: v1.matters.savedQueries

create POST /v1/matters/{matterId}/savedQueries
Creates a saved query.
delete DELETE /v1/matters/{matterId}/savedQueries/{savedQueryId}
Deletes a saved query by Id.
get GET /v1/matters/{matterId}/savedQueries/{savedQueryId}
Retrieves a saved query by Id.
list GET /v1/matters/{matterId}/savedQueries
Lists saved queries within a matter.

REST Resource: v1.operations

cancel POST /v1/{name=operations/**}:cancel
Starts asynchronous cancellation on a long-running operation.
delete DELETE /v1/{name=operations/**}
Deletes a long-running operation.
get GET /v1/{name=operations/**}
Gets the latest state of a long-running operation.
list GET /v1/{name}
Lists operations that match the specified filter in the request.