Files
google-apis-rs/etc/api/vault/v1/vault-api.json
2018-10-13 13:49:14 +02:00

1824 lines
63 KiB
JSON

{
"rootUrl": "https://vault.googleapis.com/",
"ownerDomain": "google.com",
"name": "vault",
"batchPath": "batch",
"fullyEncodeReservedExpansion": true,
"title": "G Suite Vault API",
"ownerName": "Google",
"resources": {
"matters": {
"methods": {
"close": {
"description": "Closes the specified matter. Returns matter with updated state.",
"request": {
"$ref": "CloseMatterRequest"
},
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "CloseMatterResponse"
},
"parameters": {
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"flatPath": "v1/matters/{matterId}:close",
"id": "vault.matters.close",
"path": "v1/matters/{matterId}:close"
},
"undelete": {
"flatPath": "v1/matters/{matterId}:undelete",
"path": "v1/matters/{matterId}:undelete",
"id": "vault.matters.undelete",
"description": "Undeletes the specified matter. Returns matter with updated state.",
"request": {
"$ref": "UndeleteMatterRequest"
},
"response": {
"$ref": "Matter"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
},
"get": {
"id": "vault.matters.get",
"path": "v1/matters/{matterId}",
"description": "Gets the specified matter.",
"httpMethod": "GET",
"response": {
"$ref": "Matter"
},
"parameterOrder": [
"matterId"
],
"parameters": {
"view": {
"description": "Specifies which parts of the Matter to return in the response.",
"type": "string",
"location": "query",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
]
},
"matterId": {
"required": true,
"type": "string",
"location": "path",
"description": "The matter ID."
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"flatPath": "v1/matters/{matterId}"
},
"update": {
"httpMethod": "PUT",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "Matter"
},
"parameters": {
"matterId": {
"required": true,
"type": "string",
"location": "path",
"description": "The matter ID."
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"flatPath": "v1/matters/{matterId}",
"id": "vault.matters.update",
"path": "v1/matters/{matterId}",
"description": "Updates the specified matter.\nThis updates only the name and description of the matter, identified by\nmatter id. Changes to any other fields are ignored.\nReturns the default view of the matter.",
"request": {
"$ref": "Matter"
}
},
"delete": {
"path": "v1/matters/{matterId}",
"id": "vault.matters.delete",
"description": "Deletes the specified matter. Returns matter with updated state.",
"response": {
"$ref": "Matter"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "DELETE",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID",
"required": true,
"type": "string"
}
},
"flatPath": "v1/matters/{matterId}"
},
"addPermissions": {
"flatPath": "v1/matters/{matterId}:addPermissions",
"id": "vault.matters.addPermissions",
"path": "v1/matters/{matterId}:addPermissions",
"description": "Adds an account as a matter collaborator.",
"request": {
"$ref": "AddMatterPermissionsRequest"
},
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "MatterPermission"
},
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
},
"list": {
"description": "Lists matters the user has access to.",
"httpMethod": "GET",
"response": {
"$ref": "ListMattersResponse"
},
"parameterOrder": [],
"parameters": {
"state": {
"location": "query",
"enum": [
"STATE_UNSPECIFIED",
"OPEN",
"CLOSED",
"DELETED"
],
"description": "If set, list only matters with that specific state. The default is listing\nmatters of all states.",
"type": "string"
},
"pageToken": {
"location": "query",
"description": "The pagination token as returned in the response.",
"type": "string"
},
"pageSize": {
"type": "integer",
"location": "query",
"description": "The number of matters to return in the response.\nDefault and maximum are 100.",
"format": "int32"
},
"view": {
"location": "query",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"description": "Specifies which parts of the matter to return in response.",
"type": "string"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"flatPath": "v1/matters",
"id": "vault.matters.list",
"path": "v1/matters"
},
"create": {
"flatPath": "v1/matters",
"path": "v1/matters",
"id": "vault.matters.create",
"description": "Creates a new matter with the given name and description. The initial state\nis open, and the owner is the method caller. Returns the created matter\nwith default view.",
"request": {
"$ref": "Matter"
},
"response": {
"$ref": "Matter"
},
"parameterOrder": [],
"httpMethod": "POST",
"parameters": {},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
},
"reopen": {
"request": {
"$ref": "ReopenMatterRequest"
},
"description": "Reopens the specified matter. Returns matter with updated state.",
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "ReopenMatterResponse"
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
}
},
"flatPath": "v1/matters/{matterId}:reopen",
"id": "vault.matters.reopen",
"path": "v1/matters/{matterId}:reopen"
},
"removePermissions": {
"request": {
"$ref": "RemoveMatterPermissionsRequest"
},
"description": "Removes an account as a matter collaborator.",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
}
},
"flatPath": "v1/matters/{matterId}:removePermissions",
"path": "v1/matters/{matterId}:removePermissions",
"id": "vault.matters.removePermissions"
}
},
"resources": {
"holds": {
"methods": {
"create": {
"flatPath": "v1/matters/{matterId}/holds",
"path": "v1/matters/{matterId}/holds",
"id": "vault.matters.holds.create",
"request": {
"$ref": "Hold"
},
"description": "Creates a hold in the given matter.",
"response": {
"$ref": "Hold"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
}
},
"removeHeldAccounts": {
"response": {
"$ref": "RemoveHeldAccountsResponse"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
},
"holdId": {
"location": "path",
"description": "The hold ID.",
"required": true,
"type": "string"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts",
"path": "v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts",
"id": "vault.matters.holds.removeHeldAccounts",
"request": {
"$ref": "RemoveHeldAccountsRequest"
},
"description": "Removes HeldAccounts from a hold. Returns a list of statuses in the same\norder as the request. If this request leaves the hold with no held\naccounts, the hold will not apply to any accounts."
},
"addHeldAccounts": {
"request": {
"$ref": "AddHeldAccountsRequest"
},
"description": "Adds HeldAccounts to a hold. Returns a list of accounts that have been\nsuccessfully added. Accounts can only be added to an existing account-based\nhold.",
"response": {
"$ref": "AddHeldAccountsResponse"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"holdId": {
"location": "path",
"description": "The hold ID.",
"required": true,
"type": "string"
},
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}:addHeldAccounts",
"path": "v1/matters/{matterId}/holds/{holdId}:addHeldAccounts",
"id": "vault.matters.holds.addHeldAccounts"
},
"get": {
"response": {
"$ref": "Hold"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "GET",
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"parameters": {
"view": {
"location": "query",
"enum": [
"HOLD_VIEW_UNSPECIFIED",
"BASIC_HOLD",
"FULL_HOLD"
],
"description": "Specifies which parts of the Hold to return.",
"type": "string"
},
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
},
"holdId": {
"required": true,
"type": "string",
"location": "path",
"description": "The hold ID."
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}",
"path": "v1/matters/{matterId}/holds/{holdId}",
"id": "vault.matters.holds.get",
"description": "Gets a hold by ID."
},
"update": {
"flatPath": "v1/matters/{matterId}/holds/{holdId}",
"path": "v1/matters/{matterId}/holds/{holdId}",
"id": "vault.matters.holds.update",
"description": "Updates the OU and/or query parameters of a hold. You cannot add accounts\nto a hold that covers an OU, nor can you add OUs to a hold that covers\nindividual accounts. Accounts listed in the hold will be ignored.",
"request": {
"$ref": "Hold"
},
"response": {
"$ref": "Hold"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "PUT",
"parameters": {
"matterId": {
"required": true,
"type": "string",
"location": "path",
"description": "The matter ID."
},
"holdId": {
"description": "The ID of the hold.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
},
"delete": {
"flatPath": "v1/matters/{matterId}/holds/{holdId}",
"path": "v1/matters/{matterId}/holds/{holdId}",
"id": "vault.matters.holds.delete",
"description": "Removes a hold by ID. This will release any HeldAccounts on this Hold.",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "DELETE",
"parameters": {
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
},
"holdId": {
"description": "The hold ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
},
"list": {
"response": {
"$ref": "ListHoldsResponse"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "GET",
"parameters": {
"pageToken": {
"description": "The pagination token as returned in the response.\nAn empty token means start from the beginning.",
"type": "string",
"location": "query"
},
"pageSize": {
"type": "integer",
"location": "query",
"description": "The number of holds to return in the response, between 0 and 100 inclusive.\nLeaving this empty, or as 0, is the same as page_size = 100.",
"format": "int32"
},
"view": {
"type": "string",
"location": "query",
"enum": [
"HOLD_VIEW_UNSPECIFIED",
"BASIC_HOLD",
"FULL_HOLD"
],
"description": "Specifies which parts of the Hold to return."
},
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"flatPath": "v1/matters/{matterId}/holds",
"path": "v1/matters/{matterId}/holds",
"id": "vault.matters.holds.list",
"description": "Lists holds within a matter. An empty page token in ListHoldsResponse\ndenotes no more holds to list."
}
},
"resources": {
"accounts": {
"methods": {
"delete": {
"flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}",
"path": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}",
"id": "vault.matters.holds.accounts.delete",
"description": "Removes a HeldAccount from a hold. If this request leaves the hold with\nno held accounts, the hold will not apply to any accounts.",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"matterId",
"holdId",
"accountId"
],
"httpMethod": "DELETE",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"holdId": {
"required": true,
"type": "string",
"location": "path",
"description": "The hold ID."
},
"accountId": {
"location": "path",
"description": "The ID of the account to remove from the hold.",
"required": true,
"type": "string"
},
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
}
},
"list": {
"httpMethod": "GET",
"response": {
"$ref": "ListHeldAccountsResponse"
},
"parameterOrder": [
"matterId",
"holdId"
],
"parameters": {
"holdId": {
"required": true,
"type": "string",
"location": "path",
"description": "The hold ID."
},
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts",
"id": "vault.matters.holds.accounts.list",
"path": "v1/matters/{matterId}/holds/{holdId}/accounts",
"description": "Lists HeldAccounts for a hold. This will only list individually specified\nheld accounts. If the hold is on an OU, then use\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e\nto enumerate its members."
},
"create": {
"request": {
"$ref": "HeldAccount"
},
"description": "Adds a HeldAccount to a hold. Accounts can only be added to a hold that\nhas no held_org_unit set. Attempting to add an account to an OU-based\nhold will result in an error.",
"response": {
"$ref": "HeldAccount"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"parameters": {
"holdId": {
"description": "The hold ID.",
"required": true,
"type": "string",
"location": "path"
},
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts",
"path": "v1/matters/{matterId}/holds/{holdId}/accounts",
"id": "vault.matters.holds.accounts.create"
}
}
}
}
},
"exports": {
"methods": {
"get": {
"description": "Gets an Export.",
"response": {
"$ref": "Export"
},
"parameterOrder": [
"matterId",
"exportId"
],
"httpMethod": "GET",
"parameters": {
"matterId": {
"required": true,
"type": "string",
"location": "path",
"description": "The matter ID."
},
"exportId": {
"description": "The export ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"flatPath": "v1/matters/{matterId}/exports/{exportId}",
"path": "v1/matters/{matterId}/exports/{exportId}",
"id": "vault.matters.exports.get"
},
"list": {
"description": "Lists Exports.",
"httpMethod": "GET",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "ListExportsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery",
"https://www.googleapis.com/auth/ediscovery.readonly"
],
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
},
"pageToken": {
"location": "query",
"description": "The pagination token as returned in the response.",
"type": "string"
},
"pageSize": {
"location": "query",
"description": "The number of exports to return in the response.",
"format": "int32",
"type": "integer"
}
},
"flatPath": "v1/matters/{matterId}/exports",
"id": "vault.matters.exports.list",
"path": "v1/matters/{matterId}/exports"
},
"create": {
"description": "Creates an Export.",
"request": {
"$ref": "Export"
},
"response": {
"$ref": "Export"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"description": "The matter ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
],
"flatPath": "v1/matters/{matterId}/exports",
"path": "v1/matters/{matterId}/exports",
"id": "vault.matters.exports.create"
},
"delete": {
"flatPath": "v1/matters/{matterId}/exports/{exportId}",
"path": "v1/matters/{matterId}/exports/{exportId}",
"id": "vault.matters.exports.delete",
"description": "Deletes an Export.",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"matterId",
"exportId"
],
"httpMethod": "DELETE",
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"required": true,
"type": "string"
},
"exportId": {
"description": "The export ID.",
"required": true,
"type": "string",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/ediscovery"
]
}
}
}
}
}
},
"parameters": {
"access_token": {
"location": "query",
"description": "OAuth access token.",
"type": "string"
},
"key": {
"location": "query",
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string",
"location": "query"
},
"prettyPrint": {
"type": "boolean",
"default": "true",
"location": "query",
"description": "Returns response with indentations and line breaks."
},
"quotaUser": {
"location": "query",
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"type": "string"
},
"fields": {
"type": "string",
"location": "query",
"description": "Selector specifying which fields to include in a partial response."
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"type": "string",
"location": "query"
},
"callback": {
"location": "query",
"description": "JSONP",
"type": "string"
},
"oauth_token": {
"location": "query",
"description": "OAuth 2.0 token for the current user.",
"type": "string"
},
"$.xgafv": {
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"enum": [
"1",
"2"
],
"description": "V1 error format.",
"type": "string"
},
"alt": {
"default": "json",
"enum": [
"json",
"media",
"proto"
],
"type": "string",
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"description": "Data format for response."
}
},
"version": "v1",
"baseUrl": "https://vault.googleapis.com/",
"kind": "discovery#restDescription",
"description": "Archiving and eDiscovery for G Suite.",
"servicePath": "",
"basePath": "",
"id": "vault:v1",
"documentationLink": "https://developers.google.com/vault",
"revision": "20180827",
"discoveryVersion": "v1",
"version_module": true,
"schemas": {
"HangoutsChatOptions": {
"type": "object",
"properties": {
"includeRooms": {
"type": "boolean",
"description": "Set to true to include rooms."
}
},
"id": "HangoutsChatOptions",
"description": "Hangouts chat search advanced options"
},
"HeldHangoutsChatQuery": {
"type": "object",
"properties": {
"includeRooms": {
"description": "If true, include rooms the user has participated in.",
"type": "boolean"
}
},
"id": "HeldHangoutsChatQuery",
"description": "Query options for hangouts chat holds."
},
"DriveExportOptions": {
"type": "object",
"properties": {
"includeAccessInfo": {
"description": "Set to true to include access level information for users\nwith \u003ca href=\"https://support.google.com/vault/answer/6099459#metadata\"\u003eindirect access\u003c/a\u003e\nto files.",
"type": "boolean"
}
},
"id": "DriveExportOptions",
"description": "The options for Drive export."
},
"HeldMailQuery": {
"description": "Query options for mail holds.",
"type": "object",
"properties": {
"endTime": {
"description": "The end time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime",
"type": "string"
},
"startTime": {
"type": "string",
"description": "The start time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime"
},
"terms": {
"type": "string",
"description": "The search terms for the hold."
}
},
"id": "HeldMailQuery"
},
"AddHeldAccountResult": {
"description": "A status detailing the status of each account creation, and the\nHeldAccount, if successful.",
"type": "object",
"properties": {
"account": {
"$ref": "HeldAccount",
"description": "If present, this account was successfully created."
},
"status": {
"description": "This represents the success status. If failed, check message.",
"$ref": "Status"
}
},
"id": "AddHeldAccountResult"
},
"HeldDriveQuery": {
"description": "Query options for Drive holds.",
"type": "object",
"properties": {
"includeTeamDriveFiles": {
"description": "If true, include files in Team Drives in the hold.",
"type": "boolean"
}
},
"id": "HeldDriveQuery"
},
"HeldGroupsQuery": {
"type": "object",
"properties": {
"endTime": {
"description": "The end time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime",
"type": "string"
},
"startTime": {
"description": "The start time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime",
"type": "string"
},
"terms": {
"type": "string",
"description": "The search terms for the hold."
}
},
"id": "HeldGroupsQuery",
"description": "Query options for group holds."
},
"HeldOrgUnit": {
"description": "A organizational unit being held in a particular hold.\nThis structure is immutable.",
"type": "object",
"properties": {
"orgUnitId": {
"description": "The org unit's immutable ID as provided by the Admin SDK.",
"type": "string"
},
"holdTime": {
"description": "When the org unit was put on hold. This property is immutable.",
"format": "google-datetime",
"type": "string"
}
},
"id": "HeldOrgUnit"
},
"Matter": {
"description": "Represents a matter.",
"type": "object",
"properties": {
"state": {
"type": "string",
"enumDescriptions": [
"The matter has no specified state.",
"This matter is open.",
"This matter is closed.",
"This matter is deleted."
],
"enum": [
"STATE_UNSPECIFIED",
"OPEN",
"CLOSED",
"DELETED"
],
"description": "The state of the matter."
},
"name": {
"description": "The name of the matter.",
"type": "string"
},
"matterPermissions": {
"description": "List of users and access to the matter. Currently there is no programmer\ndefined limit on the number of permissions a matter can have.",
"type": "array",
"items": {
"$ref": "MatterPermission"
}
},
"description": {
"description": "The description of the matter.",
"type": "string"
},
"matterId": {
"description": "The matter ID which is generated by the server.\nShould be blank when creating a new matter.",
"type": "string"
}
},
"id": "Matter"
},
"AddHeldAccountsResponse": {
"description": "Response for batch create held accounts.",
"type": "object",
"properties": {
"responses": {
"description": "The list of responses, in the same order as the batch request.",
"type": "array",
"items": {
"$ref": "AddHeldAccountResult"
}
}
},
"id": "AddHeldAccountsResponse"
},
"Export": {
"type": "object",
"properties": {
"createTime": {
"description": "Output only. The time when the export was created.",
"format": "google-datetime",
"type": "string"
},
"status": {
"enumDescriptions": [
"The status is unspecified.",
"The export completed.",
"The export failed.",
"The export is still being executed."
],
"enum": [
"EXPORT_STATUS_UNSPECIFIED",
"COMPLETED",
"FAILED",
"IN_PROGRESS"
],
"description": "Output only. The export status.",
"type": "string"
},
"name": {
"description": "The export name.",
"type": "string"
},
"requester": {
"description": "Output only. The requester of the export.",
"$ref": "UserInfo"
},
"id": {
"type": "string",
"description": "Output only. The generated export ID."
},
"matterId": {
"description": "Output only. The matter ID.",
"type": "string"
},
"exportOptions": {
"$ref": "ExportOptions",
"description": "Advanced options of the export."
},
"stats": {
"description": "Output only. Export statistics.",
"$ref": "ExportStats"
},
"cloudStorageSink": {
"$ref": "CloudStorageSink",
"description": "Output only. Export sink for cloud storage files."
},
"query": {
"$ref": "Query",
"description": "The search query being exported."
}
},
"id": "Export",
"description": "An export"
},
"HeldAccount": {
"description": "An account being held in a particular hold. This structure is immutable.\nThis can be either a single user or a google group, depending on the corpus.",
"type": "object",
"properties": {
"accountId": {
"description": "The account's ID as provided by the\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e.",
"type": "string"
},
"holdTime": {
"description": "When the account was put on hold.",
"format": "google-datetime",
"type": "string"
}
},
"id": "HeldAccount"
},
"ExportStats": {
"type": "object",
"properties": {
"totalArtifactCount": {
"description": "The number of documents to be exported.",
"format": "int64",
"type": "string"
},
"sizeInBytes": {
"description": "The size of export in bytes.",
"format": "int64",
"type": "string"
},
"exportedArtifactCount": {
"type": "string",
"description": "The number of documents already processed by the export.",
"format": "int64"
}
},
"id": "ExportStats",
"description": "Stats of an export."
},
"CorpusQuery": {
"type": "object",
"properties": {
"driveQuery": {
"description": "Details pertaining to Drive holds. If set, corpus must be Drive.",
"$ref": "HeldDriveQuery"
},
"mailQuery": {
"$ref": "HeldMailQuery",
"description": "Details pertaining to mail holds. If set, corpus must be mail."
},
"groupsQuery": {
"$ref": "HeldGroupsQuery",
"description": "Details pertaining to Groups holds. If set, corpus must be Groups."
},
"hangoutsChatQuery": {
"$ref": "HeldHangoutsChatQuery",
"description": "Details pertaining to Hangouts Chat holds. If set, corpus must be\nHangouts Chat."
}
},
"id": "CorpusQuery",
"description": "Corpus specific queries."
},
"Hold": {
"type": "object",
"properties": {
"updateTime": {
"description": "The last time this hold was modified.",
"format": "google-datetime",
"type": "string"
},
"name": {
"type": "string",
"description": "The name of the hold."
},
"holdId": {
"type": "string",
"description": "The unique immutable ID of the hold. Assigned during creation."
},
"accounts": {
"description": "If set, the hold applies to the enumerated accounts and org_unit must be\nempty.",
"type": "array",
"items": {
"$ref": "HeldAccount"
}
},
"query": {
"$ref": "CorpusQuery",
"description": "The corpus-specific query. If set, the corpusQuery must match corpus\ntype."
},
"orgUnit": {
"$ref": "HeldOrgUnit",
"description": "If set, the hold applies to all members of the organizational unit and\naccounts must be empty. This property is mutable. For groups holds,\nset the accounts field."
},
"corpus": {
"enumDescriptions": [
"No corpus specified.",
"Drive.",
"Mail.",
"Groups.",
"Hangouts Chat."
],
"enum": [
"CORPUS_TYPE_UNSPECIFIED",
"DRIVE",
"MAIL",
"GROUPS",
"HANGOUTS_CHAT"
],
"description": "The corpus to be searched.",
"type": "string"
}
},
"id": "Hold",
"description": "Represents a hold within Vault. A hold restricts purging of\nartifacts based on the combination of the query and accounts restrictions.\nA hold can be configured to either apply to an explicitly configured set\nof accounts, or can be applied to all members of an organizational unit."
},
"HangoutsChatInfo": {
"id": "HangoutsChatInfo",
"description": "Accounts to search",
"type": "object",
"properties": {
"roomId": {
"description": "A set of rooms to search.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"AccountInfo": {
"properties": {
"emails": {
"description": "A set of accounts to search.",
"type": "array",
"items": {
"type": "string"
}
}
},
"id": "AccountInfo",
"description": "Accounts to search",
"type": "object"
},
"HangoutsChatExportOptions": {
"description": "The options for hangouts chat export.",
"type": "object",
"properties": {
"exportFormat": {
"type": "string",
"enumDescriptions": [
"No export format specified.",
"MBOX as export format.",
"PST as export format"
],
"enum": [
"EXPORT_FORMAT_UNSPECIFIED",
"MBOX",
"PST"
],
"description": "The export format for hangouts chat export."
}
},
"id": "HangoutsChatExportOptions"
},
"ListHoldsResponse": {
"description": "The holds for a matter.",
"type": "object",
"properties": {
"nextPageToken": {
"description": "Page token to retrieve the next page of results in the list.\nIf this is empty, then there are no more holds to list.",
"type": "string"
},
"holds": {
"description": "The list of holds.",
"type": "array",
"items": {
"$ref": "Hold"
}
}
},
"id": "ListHoldsResponse"
},
"ListHeldAccountsResponse": {
"description": "Returns a list of held accounts for a hold.",
"type": "object",
"properties": {
"accounts": {
"description": "The held accounts on a hold.",
"type": "array",
"items": {
"$ref": "HeldAccount"
}
}
},
"id": "ListHeldAccountsResponse"
},
"ListExportsResponse": {
"description": "The holds for a matter.",
"type": "object",
"properties": {
"exports": {
"description": "The list of exports.",
"type": "array",
"items": {
"$ref": "Export"
}
},
"nextPageToken": {
"description": "Page token to retrieve the next page of results in the list.",
"type": "string"
}
},
"id": "ListExportsResponse"
},
"Empty": {
"description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"type": "object",
"properties": {},
"id": "Empty"
},
"CloseMatterRequest": {
"description": "Close a matter by ID.",
"type": "object",
"properties": {},
"id": "CloseMatterRequest"
},
"ReopenMatterRequest": {
"description": "Reopen a matter by ID.",
"type": "object",
"properties": {},
"id": "ReopenMatterRequest"
},
"MailExportOptions": {
"description": "The options for mail export.",
"type": "object",
"properties": {
"exportFormat": {
"description": "The export file format.",
"type": "string",
"enumDescriptions": [
"No export format specified.",
"MBOX as export format.",
"PST as export format"
],
"enum": [
"EXPORT_FORMAT_UNSPECIFIED",
"MBOX",
"PST"
]
}
},
"id": "MailExportOptions"
},
"Query": {
"description": "A query definition relevant for search & export.",
"type": "object",
"properties": {
"driveOptions": {
"description": "For Drive search, specify more options in this field.",
"$ref": "DriveOptions"
},
"endTime": {
"description": "The end time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime",
"type": "string"
},
"dataScope": {
"enum": [
"DATA_SCOPE_UNSPECIFIED",
"ALL_DATA",
"HELD_DATA",
"UNPROCESSED_DATA"
],
"description": "The data source to search from.",
"type": "string",
"enumDescriptions": [
"No data scope specified.",
"All available data.",
"Data on hold.",
"Data not processed."
]
},
"startTime": {
"description": "The start time range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"format": "google-datetime",
"type": "string"
},
"searchMethod": {
"enum": [
"SEARCH_METHOD_UNSPECIFIED",
"ACCOUNT",
"ORG_UNIT",
"TEAM_DRIVE",
"ENTIRE_ORG",
"ROOM"
],
"description": "The search method to use.",
"type": "string",
"enumDescriptions": [
"A search method must be specified. If a request does not specify a\nsearch method, it will be rejected.",
"Will search all accounts provided in account_info.",
"Will search all accounts in the OU specified in org_unit_info.",
"Will search for all accounts in the Team Drive specified in\nteam_drive_info.",
"Will search for all accounts in the organization.\nNo need to set account_info or org_unit_info.",
"Will search in the Room specified in\nhangout_chats_info. (read-only)"
]
},
"corpus": {
"enum": [
"CORPUS_TYPE_UNSPECIFIED",
"DRIVE",
"MAIL",
"GROUPS",
"HANGOUTS_CHAT"
],
"description": "The corpus to search.",
"type": "string",
"enumDescriptions": [
"No corpus specified.",
"Drive.",
"Mail.",
"Groups.",
"Hangouts Chat."
]
},
"hangoutsChatInfo": {
"description": "When 'ROOM' is chosen as search method, hangout_chats_info needs to be\nspecified. (read-only)",
"$ref": "HangoutsChatInfo"
},
"hangoutsChatOptions": {
"$ref": "HangoutsChatOptions",
"description": "For hangouts chat search, specify more options in this field. (read-only)"
},
"orgUnitInfo": {
"description": "When 'ORG_UNIT' is chosen as as search method, org_unit_info needs\nto be specified.",
"$ref": "OrgUnitInfo"
},
"terms": {
"description": "The corpus-specific\n\u003ca href=\"https://support.google.com/vault/answer/2474474\"\u003esearch operators\u003c/a\u003e\nused to generate search results.",
"type": "string"
},
"mailOptions": {
"description": "For mail search, specify more options in this field.",
"$ref": "MailOptions"
},
"timeZone": {
"description": "The time zone name.\nIt should be an IANA TZ name, such as \"America/Los_Angeles\".\nFor more information, see\n\u003ca href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\"\u003eTime\nZone\u003c/a\u003e.",
"type": "string"
},
"teamDriveInfo": {
"$ref": "TeamDriveInfo",
"description": "When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be\nspecified."
},
"accountInfo": {
"$ref": "AccountInfo",
"description": "When 'ACCOUNT' is chosen as search method,\naccount_info needs to be specified."
}
},
"id": "Query"
},
"CloudStorageSink": {
"type": "object",
"properties": {
"files": {
"description": "Output only. The exported files on cloud storage.",
"type": "array",
"items": {
"$ref": "CloudStorageFile"
}
}
},
"id": "CloudStorageSink",
"description": "Export sink for cloud storage files."
},
"ListMattersResponse": {
"properties": {
"nextPageToken": {
"description": "Page token to retrieve the next page of results in the list.",
"type": "string"
},
"matters": {
"description": "List of matters.",
"type": "array",
"items": {
"$ref": "Matter"
}
}
},
"id": "ListMattersResponse",
"description": "Provides the list of matters.",
"type": "object"
},
"CloseMatterResponse": {
"id": "CloseMatterResponse",
"description": "Response to a CloseMatterRequest.",
"type": "object",
"properties": {
"matter": {
"description": "The updated matter, with state CLOSED.",
"$ref": "Matter"
}
}
},
"OrgUnitInfo": {
"description": "Org Unit to search",
"type": "object",
"properties": {
"orgUnitId": {
"description": "Org unit to search, as provided by the\n\u003ca href=\"https://developers.google.com/admin-sdk/directory/\"\u003eAdmin SDK Directory API\u003c/a\u003e.",
"type": "string"
}
},
"id": "OrgUnitInfo"
},
"AddHeldAccountsRequest": {
"properties": {
"emails": {
"description": "Emails to identify which accounts to add. Only emails or only account_ids\nshould be specified, but not both.",
"type": "array",
"items": {
"type": "string"
}
},
"accountIds": {
"description": "Account ids to identify which accounts to add. Only account_ids or only\nemails should be specified, but not both.",
"type": "array",
"items": {
"type": "string"
}
}
},
"id": "AddHeldAccountsRequest",
"description": "Add a list of accounts to a hold.",
"type": "object"
},
"AddMatterPermissionsRequest": {
"description": "Add an account with the permission specified. The role cannot be owner.\nIf an account already has a role in the matter, it will be\noverwritten.",
"type": "object",
"properties": {
"sendEmails": {
"description": "True to send notification email to the added account.\nFalse to not send notification email.",
"type": "boolean"
},
"matterPermission": {
"$ref": "MatterPermission",
"description": "The MatterPermission to add."
},
"ccMe": {
"description": "Only relevant if send_emails is true.\nTrue to CC requestor in the email message.\nFalse to not CC requestor.",
"type": "boolean"
}
},
"id": "AddMatterPermissionsRequest"
},
"ReopenMatterResponse": {
"id": "ReopenMatterResponse",
"description": "Response to a ReopenMatterRequest.",
"type": "object",
"properties": {
"matter": {
"description": "The updated matter, with state OPEN.",
"$ref": "Matter"
}
}
},
"DriveOptions": {
"description": "Drive search advanced options",
"type": "object",
"properties": {
"versionDate": {
"type": "string",
"description": "Search the versions of the Drive file\nas of the reference date. These timestamps are in GMT and\nrounded down to the given date.",
"format": "google-datetime"
},
"includeTeamDrives": {
"type": "boolean",
"description": "Set to true to include Team Drive."
}
},
"id": "DriveOptions"
},
"ExportOptions": {
"type": "object",
"properties": {
"groupsOptions": {
"$ref": "GroupsExportOptions",
"description": "Option available for groups export."
},
"driveOptions": {
"$ref": "DriveExportOptions",
"description": "Option available for Drive export."
},
"mailOptions": {
"$ref": "MailExportOptions",
"description": "Option available for mail export."
},
"hangoutsChatOptions": {
"description": "Option available for hangouts chat export.",
"$ref": "HangoutsChatExportOptions"
}
},
"id": "ExportOptions",
"description": "Export advanced options"
},
"TeamDriveInfo": {
"type": "object",
"properties": {
"teamDriveIds": {
"description": "List of Team Drive ids, as provided by \u003ca\nhref=\"https://developers.google.com/drive\"\u003eDrive API\u003c/a\u003e.",
"type": "array",
"items": {
"type": "string"
}
}
},
"id": "TeamDriveInfo",
"description": "Team Drives to search"
},
"UserInfo": {
"id": "UserInfo",
"description": "User's information.",
"type": "object",
"properties": {
"email": {
"description": "The email address of the user.",
"type": "string"
},
"displayName": {
"description": "The displayed name of the user.",
"type": "string"
}
}
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client."
},
"details": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
}
},
"description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use."
},
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
}
},
"id": "Status"
},
"UndeleteMatterRequest": {
"id": "UndeleteMatterRequest",
"description": "Undelete a matter by ID.",
"type": "object",
"properties": {}
},
"RemoveHeldAccountsRequest": {
"description": "Remove a list of accounts from a hold.",
"type": "object",
"properties": {
"accountIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Account ids to identify HeldAccounts to remove."
}
},
"id": "RemoveHeldAccountsRequest"
},
"CloudStorageFile": {
"description": "An export file on cloud storage",
"type": "object",
"properties": {
"bucketName": {
"description": "The cloud storage bucket name of this export file.\nCan be used in cloud storage JSON/XML API.",
"type": "string"
},
"size": {
"description": "The size of the export file.",
"format": "int64",
"type": "string"
},
"md5Hash": {
"description": "The md5 hash of the file.",
"type": "string"
},
"objectName": {
"description": "The cloud storage object name of this export file.\nCan be used in cloud storage JSON/XML API.",
"type": "string"
}
},
"id": "CloudStorageFile"
},
"RemoveMatterPermissionsRequest": {
"description": "Remove an account as a matter collaborator.",
"type": "object",
"properties": {
"accountId": {
"description": "The account ID.",
"type": "string"
}
},
"id": "RemoveMatterPermissionsRequest"
},
"MailOptions": {
"properties": {
"excludeDrafts": {
"type": "boolean",
"description": "Set to true to exclude drafts."
}
},
"id": "MailOptions",
"description": "Mail search advanced options",
"type": "object"
},
"MatterPermission": {
"id": "MatterPermission",
"description": "Currently each matter only has one owner, and all others are collaborators.\nWhen an account is purged, its corresponding MatterPermission resources\ncease to exist.",
"type": "object",
"properties": {
"role": {
"enumDescriptions": [
"No role assigned.",
"A collaborator to the matter.",
"The owner of the matter."
],
"enum": [
"ROLE_UNSPECIFIED",
"COLLABORATOR",
"OWNER"
],
"description": "The user's role in this matter.",
"type": "string"
},
"accountId": {
"description": "The account id, as provided by \u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e.",
"type": "string"
}
}
},
"GroupsExportOptions": {
"description": "The options for groups export.",
"type": "object",
"properties": {
"exportFormat": {
"description": "The export format for groups export.",
"type": "string",
"enumDescriptions": [
"No export format specified.",
"MBOX as export format.",
"PST as export format"
],
"enum": [
"EXPORT_FORMAT_UNSPECIFIED",
"MBOX",
"PST"
]
}
},
"id": "GroupsExportOptions"
},
"RemoveHeldAccountsResponse": {
"description": "Response for batch delete held accounts.",
"type": "object",
"properties": {
"statuses": {
"description": "A list of statuses for deleted accounts. Results have the\nsame order as the request.",
"type": "array",
"items": {
"$ref": "Status"
}
}
},
"id": "RemoveHeldAccountsResponse"
}
},
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"protocol": "rest",
"canonicalName": "Vault",
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/ediscovery.readonly": {
"description": "View your eDiscovery data"
},
"https://www.googleapis.com/auth/ediscovery": {
"description": "Manage your eDiscovery data"
}
}
}
}
}