blob: 5b174f8108cfce5db4407f57e3a6ac4572c99c6d [file] [log] [blame]
{
"basePath": "",
"id": "vault:v1",
"revision": "20170719",
"documentationLink": "https://apps.google.com/products/vault/",
"discoveryVersion": "v1",
"version_module": "True",
"schemas": {
"Empty": {
"type": "object",
"properties": {},
"id": "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 `{}`."
},
"ReopenMatterRequest": {
"description": "Reopen a matter by ID.",
"type": "object",
"properties": {},
"id": "ReopenMatterRequest"
},
"CloseMatterRequest": {
"description": "Close a matter by ID.",
"type": "object",
"properties": {},
"id": "CloseMatterRequest"
},
"RemoveMatterPermissionsRequest": {
"type": "object",
"properties": {
"accountId": {
"description": "The account ID.",
"type": "string"
}
},
"id": "RemoveMatterPermissionsRequest",
"description": "Remove an account as a matter collaborator."
},
"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": {
"accountId": {
"type": "string",
"description": "The account id, as provided by \u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e."
},
"role": {
"enum": [
"ROLE_UNSPECIFIED",
"COLLABORATOR",
"OWNER"
],
"description": "The user's role in this matter.",
"type": "string",
"enumDescriptions": [
"No role assigned.",
"A collaborator to the matter.",
"The owner of the matter."
]
}
}
},
"ListMattersResponse": {
"description": "Provides the list of matters.",
"type": "object",
"properties": {
"matters": {
"description": "List of matters.",
"items": {
"$ref": "Matter"
},
"type": "array"
},
"nextPageToken": {
"description": "Page token to retrieve the next page of results in the list.",
"type": "string"
}
},
"id": "ListMattersResponse"
},
"HeldMailQuery": {
"type": "object",
"properties": {
"terms": {
"description": "The search terms for the hold.",
"type": "string"
},
"endTime": {
"format": "google-datetime",
"description": "The end date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"type": "string"
},
"startTime": {
"format": "google-datetime",
"description": "The start date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"type": "string"
}
},
"id": "HeldMailQuery",
"description": "Query options for mail holds."
},
"CloseMatterResponse": {
"type": "object",
"properties": {
"matter": {
"$ref": "Matter",
"description": "The updated matter, with state CLOSED."
}
},
"id": "CloseMatterResponse",
"description": "Response to a CloseMatterRequest."
},
"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": {
"description": "Query options for group holds.",
"type": "object",
"properties": {
"terms": {
"description": "The search terms for the hold.",
"type": "string"
},
"endTime": {
"format": "google-datetime",
"description": "The end date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"type": "string"
},
"startTime": {
"format": "google-datetime",
"description": "The start date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.",
"type": "string"
}
},
"id": "HeldGroupsQuery"
},
"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": {
"format": "google-datetime",
"description": "When the org unit was put on hold. This property is immutable.",
"type": "string"
}
},
"id": "HeldOrgUnit"
},
"AddMatterPermissionsRequest": {
"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",
"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."
},
"Matter": {
"properties": {
"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.",
"items": {
"$ref": "MatterPermission"
},
"type": "array"
},
"name": {
"description": "The name of the matter.",
"type": "string"
},
"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"
},
"state": {
"enum": [
"STATE_UNSPECIFIED",
"OPEN",
"CLOSED",
"DELETED"
],
"description": "The state of the matter.",
"type": "string",
"enumDescriptions": [
"The matter has no specified state.",
"This matter is open.",
"This matter is closed.",
"This matter is deleted."
]
}
},
"id": "Matter",
"description": "Represents a matter.",
"type": "object"
},
"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": {
"type": "string",
"description": "The account's ID as provided by the\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e."
},
"holdTime": {
"format": "google-datetime",
"description": "When the account was put on hold.",
"type": "string"
}
},
"id": "HeldAccount"
},
"ReopenMatterResponse": {
"type": "object",
"properties": {
"matter": {
"$ref": "Matter",
"description": "The updated matter, with state OPEN."
}
},
"id": "ReopenMatterResponse",
"description": "Response to a ReopenMatterRequest."
},
"CorpusQuery": {
"description": "Corpus specific queries.",
"type": "object",
"properties": {
"groupsQuery": {
"$ref": "HeldGroupsQuery",
"description": "Details pertaining to Groups holds. If set, corpus must be Groups."
},
"mailQuery": {
"$ref": "HeldMailQuery",
"description": "Details pertaining to mail holds. If set, corpus must be mail."
},
"driveQuery": {
"description": "Details pertaining to Drive holds. If set, corpus must be Drive.",
"$ref": "HeldDriveQuery"
}
},
"id": "CorpusQuery"
},
"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.",
"type": "object",
"properties": {
"accounts": {
"description": "If set, the hold applies to the enumerated accounts and org_unit must be\nempty.",
"items": {
"$ref": "HeldAccount"
},
"type": "array"
},
"query": {
"$ref": "CorpusQuery",
"description": "The corpus-specific query. If set, the corpusQuery must match corpus\ntype."
},
"orgUnit": {
"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.",
"$ref": "HeldOrgUnit"
},
"corpus": {
"description": "The corpus to be searched.",
"type": "string",
"enumDescriptions": [
"No corpus specified.",
"Drive.",
"Mail.",
"Groups."
],
"enum": [
"CORPUS_TYPE_UNSPECIFIED",
"DRIVE",
"MAIL",
"GROUPS"
]
},
"updateTime": {
"format": "google-datetime",
"description": "The last time this hold was modified.",
"type": "string"
},
"holdId": {
"description": "The unique immutable ID of the hold. Assigned during creation.",
"type": "string"
},
"name": {
"description": "The name of the hold.",
"type": "string"
}
},
"id": "Hold"
},
"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.",
"items": {
"$ref": "Hold"
},
"type": "array"
}
},
"id": "ListHoldsResponse"
},
"ListHeldAccountsResponse": {
"description": "Returns a list of held accounts for a hold.",
"type": "object",
"properties": {
"accounts": {
"description": "The held accounts on a hold.",
"items": {
"$ref": "HeldAccount"
},
"type": "array"
}
},
"id": "ListHeldAccountsResponse"
},
"UndeleteMatterRequest": {
"description": "Undelete a matter by ID.",
"type": "object",
"properties": {},
"id": "UndeleteMatterRequest"
}
},
"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",
"rootUrl": "https://vault.googleapis.com/",
"ownerDomain": "google.com",
"name": "vault",
"batchPath": "batch",
"fullyEncodeReservedExpansion": true,
"title": "Google Vault API",
"ownerName": "Google",
"resources": {
"matters": {
"methods": {
"list": {
"description": "Lists matters the user has access to.",
"response": {
"$ref": "ListMattersResponse"
},
"parameterOrder": [],
"httpMethod": "GET",
"parameters": {
"pageSize": {
"type": "integer",
"location": "query",
"format": "int32",
"description": "The number of matters to return in the response.\nDefault and maximum are 100."
},
"view": {
"description": "Specifies which parts of the matter to return in response.",
"type": "string",
"location": "query",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
]
},
"pageToken": {
"type": "string",
"location": "query",
"description": "The pagination token as returned in the response."
}
},
"flatPath": "v1/matters",
"id": "vault.matters.list",
"path": "v1/matters"
},
"addPermissions": {
"id": "vault.matters.addPermissions",
"path": "v1/matters/{matterId}:addPermissions",
"request": {
"$ref": "AddMatterPermissionsRequest"
},
"description": "Adds an account as a matter collaborator.",
"response": {
"$ref": "MatterPermission"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"type": "string",
"required": true,
"location": "path",
"description": "The matter ID."
}
},
"flatPath": "v1/matters/{matterId}:addPermissions"
},
"create": {
"description": "Creates a new matter. Returns created matter with default view.",
"request": {
"$ref": "Matter"
},
"response": {
"$ref": "Matter"
},
"parameterOrder": [],
"httpMethod": "POST",
"parameters": {},
"flatPath": "v1/matters",
"id": "vault.matters.create",
"path": "v1/matters"
},
"removePermissions": {
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
},
"flatPath": "v1/matters/{matterId}:removePermissions",
"id": "vault.matters.removePermissions",
"path": "v1/matters/{matterId}:removePermissions",
"request": {
"$ref": "RemoveMatterPermissionsRequest"
},
"description": "Removes an account as a matter collaborator."
},
"reopen": {
"response": {
"$ref": "ReopenMatterResponse"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
},
"flatPath": "v1/matters/{matterId}:reopen",
"id": "vault.matters.reopen",
"path": "v1/matters/{matterId}:reopen",
"description": "Reopens the specified matter. Returns matter with updated state.",
"request": {
"$ref": "ReopenMatterRequest"
}
},
"close": {
"flatPath": "v1/matters/{matterId}:close",
"path": "v1/matters/{matterId}:close",
"id": "vault.matters.close",
"request": {
"$ref": "CloseMatterRequest"
},
"description": "Closes the specified matter. Returns matter with updated state.",
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "CloseMatterResponse"
},
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
}
},
"undelete": {
"parameters": {
"matterId": {
"description": "The matter ID.",
"type": "string",
"required": true,
"location": "path"
}
},
"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"
},
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "Matter"
}
},
"get": {
"description": "Gets the specified matter.",
"response": {
"$ref": "Matter"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "GET",
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
},
"view": {
"type": "string",
"location": "query",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"description": "Specifies which parts of the Matter to return in the response."
}
},
"flatPath": "v1/matters/{matterId}",
"id": "vault.matters.get",
"path": "v1/matters/{matterId}"
},
"update": {
"response": {
"$ref": "Matter"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "PUT",
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
},
"flatPath": "v1/matters/{matterId}",
"id": "vault.matters.update",
"path": "v1/matters/{matterId}",
"request": {
"$ref": "Matter"
},
"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."
},
"delete": {
"flatPath": "v1/matters/{matterId}",
"path": "v1/matters/{matterId}",
"id": "vault.matters.delete",
"description": "Deletes the specified matter. Returns matter with updated state.",
"httpMethod": "DELETE",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "Matter"
},
"parameters": {
"matterId": {
"description": "The matter ID",
"type": "string",
"required": true,
"location": "path"
}
}
}
},
"resources": {
"holds": {
"methods": {
"update": {
"response": {
"$ref": "Hold"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "PUT",
"parameters": {
"matterId": {
"description": "The matter ID.",
"type": "string",
"required": true,
"location": "path"
},
"holdId": {
"description": "The ID of the hold.",
"type": "string",
"required": true,
"location": "path"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}",
"id": "vault.matters.holds.update",
"path": "v1/matters/{matterId}/holds/{holdId}",
"request": {
"$ref": "Hold"
},
"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."
},
"create": {
"httpMethod": "POST",
"parameterOrder": [
"matterId"
],
"response": {
"$ref": "Hold"
},
"parameters": {
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
},
"flatPath": "v1/matters/{matterId}/holds",
"path": "v1/matters/{matterId}/holds",
"id": "vault.matters.holds.create",
"description": "Creates a hold in the given matter.",
"request": {
"$ref": "Hold"
}
},
"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.",
"httpMethod": "DELETE",
"parameterOrder": [
"matterId",
"holdId"
],
"response": {
"$ref": "Empty"
},
"parameters": {
"holdId": {
"description": "The hold ID.",
"type": "string",
"required": true,
"location": "path"
},
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
}
},
"list": {
"flatPath": "v1/matters/{matterId}/holds",
"id": "vault.matters.holds.list",
"path": "v1/matters/{matterId}/holds",
"description": "Lists holds within a matter. An empty page token in ListHoldsResponse\ndenotes no more holds to list.",
"response": {
"$ref": "ListHoldsResponse"
},
"parameterOrder": [
"matterId"
],
"httpMethod": "GET",
"parameters": {
"matterId": {
"description": "The matter ID.",
"type": "string",
"required": true,
"location": "path"
},
"pageToken": {
"location": "query",
"description": "The pagination token as returned in the response.\nAn empty token means start from the beginning.",
"type": "string"
},
"pageSize": {
"format": "int32",
"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.",
"type": "integer",
"location": "query"
}
}
},
"get": {
"id": "vault.matters.holds.get",
"path": "v1/matters/{matterId}/holds/{holdId}",
"description": "Gets a hold by ID.",
"response": {
"$ref": "Hold"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "GET",
"parameters": {
"matterId": {
"type": "string",
"required": true,
"location": "path",
"description": "The matter ID."
},
"holdId": {
"description": "The hold ID.",
"type": "string",
"required": true,
"location": "path"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}"
}
},
"resources": {
"accounts": {
"methods": {
"list": {
"response": {
"$ref": "ListHeldAccountsResponse"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "GET",
"parameters": {
"holdId": {
"location": "path",
"description": "The hold ID.",
"type": "string",
"required": true
},
"matterId": {
"location": "path",
"description": "The matter ID.",
"type": "string",
"required": true
}
},
"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": {
"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.",
"request": {
"$ref": "HeldAccount"
},
"response": {
"$ref": "HeldAccount"
},
"parameterOrder": [
"matterId",
"holdId"
],
"httpMethod": "POST",
"parameters": {
"matterId": {
"description": "The matter ID.",
"type": "string",
"required": true,
"location": "path"
},
"holdId": {
"type": "string",
"required": true,
"location": "path",
"description": "The hold ID."
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts",
"id": "vault.matters.holds.accounts.create",
"path": "v1/matters/{matterId}/holds/{holdId}/accounts"
},
"delete": {
"id": "vault.matters.holds.accounts.delete",
"path": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}",
"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",
"parameters": {
"matterId": {
"type": "string",
"required": true,
"location": "path",
"description": "The matter ID."
},
"holdId": {
"description": "The hold ID.",
"type": "string",
"required": true,
"location": "path"
},
"accountId": {
"description": "The ID of the account to remove from the hold.",
"type": "string",
"required": true,
"location": "path"
}
},
"flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}"
}
}
}
}
}
}
}
},
"parameters": {
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"type": "string",
"location": "query"
},
"fields": {
"location": "query",
"description": "Selector specifying which fields to include in a partial response.",
"type": "string"
},
"$.xgafv": {
"description": "V1 error format.",
"type": "string",
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"enum": [
"1",
"2"
]
},
"callback": {
"description": "JSONP",
"type": "string",
"location": "query"
},
"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."
},
"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"
},
"quotaUser": {
"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",
"location": "query"
},
"pp": {
"location": "query",
"description": "Pretty-print response.",
"default": "true",
"type": "boolean"
},
"bearer_token": {
"location": "query",
"description": "OAuth bearer token.",
"type": "string"
},
"oauth_token": {
"location": "query",
"description": "OAuth 2.0 token for the current user.",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string",
"location": "query"
},
"prettyPrint": {
"location": "query",
"description": "Returns response with indentations and line breaks.",
"default": "true",
"type": "boolean"
}
},
"version": "v1",
"baseUrl": "https://vault.googleapis.com/",
"servicePath": "",
"description": "",
"kind": "discovery#restDescription"
}