623 lines
22 KiB
JSON
623 lines
22 KiB
JSON
{
|
|
"auth": {
|
|
"oauth2": {
|
|
"scopes": {
|
|
"https://www.googleapis.com/auth/keep": {
|
|
"description": "See, edit, create and permanently delete all your Google Keep data"
|
|
},
|
|
"https://www.googleapis.com/auth/keep.readonly": {
|
|
"description": "View all your Google Keep data"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"basePath": "",
|
|
"baseUrl": "https://keep.googleapis.com/",
|
|
"batchPath": "batch",
|
|
"canonicalName": "Keep",
|
|
"description": "This API is an enterprise-only API used to create and manage the Keep notes within your domain, including resolving issues identified by CASB software.",
|
|
"discoveryVersion": "v1",
|
|
"documentationLink": "https://developers.google.com/keep/api",
|
|
"fullyEncodeReservedExpansion": true,
|
|
"icons": {
|
|
"x16": "http://www.google.com/images/icons/product/search-16.gif",
|
|
"x32": "http://www.google.com/images/icons/product/search-32.gif"
|
|
},
|
|
"id": "keep:v1",
|
|
"kind": "discovery#restDescription",
|
|
"mtlsRootUrl": "https://keep.mtls.googleapis.com/",
|
|
"name": "keep",
|
|
"ownerDomain": "google.com",
|
|
"ownerName": "Google",
|
|
"parameters": {
|
|
"$.xgafv": {
|
|
"description": "V1 error format.",
|
|
"enum": [
|
|
"1",
|
|
"2"
|
|
],
|
|
"enumDescriptions": [
|
|
"v1 error format",
|
|
"v2 error format"
|
|
],
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"access_token": {
|
|
"description": "OAuth access token.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"alt": {
|
|
"default": "json",
|
|
"description": "Data format for response.",
|
|
"enum": [
|
|
"json",
|
|
"media",
|
|
"proto"
|
|
],
|
|
"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",
|
|
"type": "string"
|
|
},
|
|
"callback": {
|
|
"description": "JSONP",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"description": "Selector specifying which fields to include in a partial response.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"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.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"oauth_token": {
|
|
"description": "OAuth 2.0 token for the current user.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"prettyPrint": {
|
|
"default": "true",
|
|
"description": "Returns response with indentations and line breaks.",
|
|
"location": "query",
|
|
"type": "boolean"
|
|
},
|
|
"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.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"uploadType": {
|
|
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"upload_protocol": {
|
|
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
|
|
"location": "query",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"protocol": "rest",
|
|
"resources": {
|
|
"media": {
|
|
"methods": {
|
|
"download": {
|
|
"description": "Gets an attachment. To download attachment media via REST requires the alt=media query parameter. Returns a 400 bad request error if attachment media is not available in the requested MIME type.",
|
|
"flatPath": "v1/notes/{notesId}/attachments/{attachmentsId}",
|
|
"httpMethod": "GET",
|
|
"id": "keep.media.download",
|
|
"parameterOrder": [
|
|
"name"
|
|
],
|
|
"parameters": {
|
|
"mimeType": {
|
|
"description": "The IANA MIME type format requested. The requested MIME type must be one specified in the attachment.mime_type. Required when downloading attachment media and ignored otherwise.",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Required. The name of the attachment.",
|
|
"location": "path",
|
|
"pattern": "^notes/[^/]+/attachments/[^/]+$",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/{+name}",
|
|
"response": {
|
|
"$ref": "Attachment"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep",
|
|
"https://www.googleapis.com/auth/keep.readonly"
|
|
],
|
|
"supportsMediaDownload": true,
|
|
"useMediaDownloadService": true
|
|
}
|
|
}
|
|
},
|
|
"notes": {
|
|
"methods": {
|
|
"create": {
|
|
"description": "Creates a new note.",
|
|
"flatPath": "v1/notes",
|
|
"httpMethod": "POST",
|
|
"id": "keep.notes.create",
|
|
"parameterOrder": [],
|
|
"parameters": {},
|
|
"path": "v1/notes",
|
|
"request": {
|
|
"$ref": "Note"
|
|
},
|
|
"response": {
|
|
"$ref": "Note"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep"
|
|
]
|
|
},
|
|
"delete": {
|
|
"description": "Deletes a note. Caller must have the `OWNER` role on the note to delete. Deleting a note removes the resource immediately and cannot be undone. Any collaborators will lose access to the note.",
|
|
"flatPath": "v1/notes/{notesId}",
|
|
"httpMethod": "DELETE",
|
|
"id": "keep.notes.delete",
|
|
"parameterOrder": [
|
|
"name"
|
|
],
|
|
"parameters": {
|
|
"name": {
|
|
"description": "Required. Name of the note to delete.",
|
|
"location": "path",
|
|
"pattern": "^notes/[^/]+$",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/{+name}",
|
|
"response": {
|
|
"$ref": "Empty"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Gets a note.",
|
|
"flatPath": "v1/notes/{notesId}",
|
|
"httpMethod": "GET",
|
|
"id": "keep.notes.get",
|
|
"parameterOrder": [
|
|
"name"
|
|
],
|
|
"parameters": {
|
|
"name": {
|
|
"description": "Required. Name of the resource.",
|
|
"location": "path",
|
|
"pattern": "^notes/[^/]+$",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/{+name}",
|
|
"response": {
|
|
"$ref": "Note"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep",
|
|
"https://www.googleapis.com/auth/keep.readonly"
|
|
]
|
|
},
|
|
"list": {
|
|
"description": "Lists notes. Every list call returns a page of results with `page_size` as the upper bound of returned items. A `page_size` of zero allows the server to choose the upper bound. The ListNotesResponse contains at most `page_size` entries. If there are more things left to list, it provides a `next_page_token` value. (Page tokens are opaque values.) To get the next page of results, copy the result's `next_page_token` into the next request's `page_token`. Repeat until the `next_page_token` returned with a page of results is empty. ListNotes return consistent results in the face of concurrent changes, or signals that it cannot with an ABORTED error.",
|
|
"flatPath": "v1/notes",
|
|
"httpMethod": "GET",
|
|
"id": "keep.notes.list",
|
|
"parameterOrder": [],
|
|
"parameters": {
|
|
"filter": {
|
|
"description": "Filter for list results. If no filter is supplied, the `trashed` filter is applied by default. Valid fields to filter by are: `create_time`, `update_time`, `trash_time`, and `trashed`. Filter syntax follows the [Google AIP filtering spec](https://aip.dev/160).",
|
|
"location": "query",
|
|
"type": "string"
|
|
},
|
|
"pageSize": {
|
|
"description": "The maximum number of results to return.",
|
|
"format": "int32",
|
|
"location": "query",
|
|
"type": "integer"
|
|
},
|
|
"pageToken": {
|
|
"description": "The previous page's `next_page_token` field.",
|
|
"location": "query",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/notes",
|
|
"response": {
|
|
"$ref": "ListNotesResponse"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep",
|
|
"https://www.googleapis.com/auth/keep.readonly"
|
|
]
|
|
}
|
|
},
|
|
"resources": {
|
|
"permissions": {
|
|
"methods": {
|
|
"batchCreate": {
|
|
"description": "Creates one or more permissions on the note. Only permissions with the `WRITER` role may be created. If adding any permission fails, then the entire request fails and no changes are made.",
|
|
"flatPath": "v1/notes/{notesId}/permissions:batchCreate",
|
|
"httpMethod": "POST",
|
|
"id": "keep.notes.permissions.batchCreate",
|
|
"parameterOrder": [
|
|
"parent"
|
|
],
|
|
"parameters": {
|
|
"parent": {
|
|
"description": "The parent resource shared by all Permissions being created. Format: `notes/{note}` If this is set, the parent field in the CreatePermission messages must either be empty or match this field.",
|
|
"location": "path",
|
|
"pattern": "^notes/[^/]+$",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/{+parent}/permissions:batchCreate",
|
|
"request": {
|
|
"$ref": "BatchCreatePermissionsRequest"
|
|
},
|
|
"response": {
|
|
"$ref": "BatchCreatePermissionsResponse"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep"
|
|
]
|
|
},
|
|
"batchDelete": {
|
|
"description": "Deletes one or more permissions on the note. The specified entities will immediately lose access. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.",
|
|
"flatPath": "v1/notes/{notesId}/permissions:batchDelete",
|
|
"httpMethod": "POST",
|
|
"id": "keep.notes.permissions.batchDelete",
|
|
"parameterOrder": [
|
|
"parent"
|
|
],
|
|
"parameters": {
|
|
"parent": {
|
|
"description": "The parent resource shared by all permissions being deleted. Format: `notes/{note}` If this is set, the parent of all of the permissions specified in the DeletePermissionRequest messages must match this field.",
|
|
"location": "path",
|
|
"pattern": "^notes/[^/]+$",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": "v1/{+parent}/permissions:batchDelete",
|
|
"request": {
|
|
"$ref": "BatchDeletePermissionsRequest"
|
|
},
|
|
"response": {
|
|
"$ref": "Empty"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/keep"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"revision": "20211214",
|
|
"rootUrl": "https://keep.googleapis.com/",
|
|
"schemas": {
|
|
"Attachment": {
|
|
"description": "An attachment to a note.",
|
|
"id": "Attachment",
|
|
"properties": {
|
|
"mimeType": {
|
|
"description": "The MIME types (IANA media types) in which the attachment is available.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"description": "The resource name;",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"BatchCreatePermissionsRequest": {
|
|
"description": "The request to add one or more permissions on the note. Currently, only the `WRITER` role may be specified. If adding a permission fails, then the entire request fails and no changes are made.",
|
|
"id": "BatchCreatePermissionsRequest",
|
|
"properties": {
|
|
"requests": {
|
|
"description": "The request message specifying the resources to create.",
|
|
"items": {
|
|
"$ref": "CreatePermissionRequest"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"BatchCreatePermissionsResponse": {
|
|
"description": "The response for creating permissions on a note.",
|
|
"id": "BatchCreatePermissionsResponse",
|
|
"properties": {
|
|
"permissions": {
|
|
"description": "Permissions created.",
|
|
"items": {
|
|
"$ref": "Permission"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"BatchDeletePermissionsRequest": {
|
|
"description": "The request to remove one or more permissions from a note. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.",
|
|
"id": "BatchDeletePermissionsRequest",
|
|
"properties": {
|
|
"names": {
|
|
"description": "Required. The names of the permissions to delete. Format: `notes/{note}/permissions/{permission}`",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"CreatePermissionRequest": {
|
|
"description": "The request to add a single permission on the note.",
|
|
"id": "CreatePermissionRequest",
|
|
"properties": {
|
|
"parent": {
|
|
"description": "Required. The parent note where this permission will be created. Format: `notes/{note}`",
|
|
"type": "string"
|
|
},
|
|
"permission": {
|
|
"$ref": "Permission",
|
|
"description": "Required. The permission to create. One of Permission.email, User.email or Group.email must be supplied."
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Empty": {
|
|
"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
|
|
"id": "Empty",
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"Family": {
|
|
"description": "Describes a single Google Family.",
|
|
"id": "Family",
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"Group": {
|
|
"description": "Describes a single Group.",
|
|
"id": "Group",
|
|
"properties": {
|
|
"email": {
|
|
"description": "The group email.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ListContent": {
|
|
"description": "The list of items for a single list note.",
|
|
"id": "ListContent",
|
|
"properties": {
|
|
"listItems": {
|
|
"description": "The items in the list. The number of items must be less than 1,000.",
|
|
"items": {
|
|
"$ref": "ListItem"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ListItem": {
|
|
"description": "A single list item in a note's list.",
|
|
"id": "ListItem",
|
|
"properties": {
|
|
"checked": {
|
|
"description": "Whether this item has been checked off or not.",
|
|
"type": "boolean"
|
|
},
|
|
"childListItems": {
|
|
"description": "If set, list of list items nested under this list item. Only one level of nesting is allowed.",
|
|
"items": {
|
|
"$ref": "ListItem"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"text": {
|
|
"$ref": "TextContent",
|
|
"description": "The text of this item. Length must be less than 1,000 characters."
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ListNotesResponse": {
|
|
"description": "The response when listing a page of notes.",
|
|
"id": "ListNotesResponse",
|
|
"properties": {
|
|
"nextPageToken": {
|
|
"description": "Next page's `page_token` field.",
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"description": "A page of notes.",
|
|
"items": {
|
|
"$ref": "Note"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Note": {
|
|
"description": "A single note.",
|
|
"id": "Note",
|
|
"properties": {
|
|
"attachments": {
|
|
"description": "Output only. The attachments attached to this note.",
|
|
"items": {
|
|
"$ref": "Attachment"
|
|
},
|
|
"readOnly": true,
|
|
"type": "array"
|
|
},
|
|
"body": {
|
|
"$ref": "Section",
|
|
"description": "The body of the note."
|
|
},
|
|
"createTime": {
|
|
"description": "Output only. When this note was created.",
|
|
"format": "google-datetime",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Output only. The resource name of this note. See general note on identifiers in KeepService.",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"description": "Output only. The list of permissions set on the note. Contains at least one entry for the note owner.",
|
|
"items": {
|
|
"$ref": "Permission"
|
|
},
|
|
"readOnly": true,
|
|
"type": "array"
|
|
},
|
|
"title": {
|
|
"description": "The title of the note. Length must be less than 1,000 characters.",
|
|
"type": "string"
|
|
},
|
|
"trashTime": {
|
|
"description": "Output only. When this note was trashed. If `trashed`, the note is eventually deleted. If the note is not trashed, this field is not set (and the trashed field is `false`).",
|
|
"format": "google-datetime",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
},
|
|
"trashed": {
|
|
"description": "Output only. `true` if this note has been trashed. If trashed, the note is eventually deleted.",
|
|
"readOnly": true,
|
|
"type": "boolean"
|
|
},
|
|
"updateTime": {
|
|
"description": "Output only. When this note was last modified.",
|
|
"format": "google-datetime",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Permission": {
|
|
"description": "A single permission on the note. Associates a `member` with a `role`.",
|
|
"id": "Permission",
|
|
"properties": {
|
|
"deleted": {
|
|
"description": "Output only. Whether this member has been deleted. If the member is recovered, this value is set to false and the recovered member retains the role on the note.",
|
|
"readOnly": true,
|
|
"type": "boolean"
|
|
},
|
|
"email": {
|
|
"description": "The email associated with the member. If set on create, the `email` field in the `User` or `Group` message must either be empty or match this field. On read, may be unset if the member does not have an associated email.",
|
|
"type": "string"
|
|
},
|
|
"family": {
|
|
"$ref": "Family",
|
|
"description": "Output only. The Google Family to which this role applies.",
|
|
"readOnly": true
|
|
},
|
|
"group": {
|
|
"$ref": "Group",
|
|
"description": "Output only. The group to which this role applies.",
|
|
"readOnly": true
|
|
},
|
|
"name": {
|
|
"description": "Output only. The resource name.",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"description": "The role granted by this permission. The role determines the entity\u2019s ability to read, write, and share notes.",
|
|
"enum": [
|
|
"ROLE_UNSPECIFIED",
|
|
"OWNER",
|
|
"WRITER"
|
|
],
|
|
"enumDescriptions": [
|
|
"An undefined role.",
|
|
"A role granting full access. This role cannot be added or removed. Defined by the creator of the note.",
|
|
"A role granting the ability to contribute content and modify note permissions."
|
|
],
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"$ref": "User",
|
|
"description": "Output only. The user to whom this role applies.",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Section": {
|
|
"description": "The content of the note.",
|
|
"id": "Section",
|
|
"properties": {
|
|
"list": {
|
|
"$ref": "ListContent",
|
|
"description": "Used if this section's content is a list."
|
|
},
|
|
"text": {
|
|
"$ref": "TextContent",
|
|
"description": "Used if this section's content is a block of text. The length of the text content must be less than 20,000 characters."
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"TextContent": {
|
|
"description": "The block of text for a single text section or list item.",
|
|
"id": "TextContent",
|
|
"properties": {
|
|
"text": {
|
|
"description": "The text of the note. The limits on this vary with the specific field using this type.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"User": {
|
|
"description": "Describes a single user.",
|
|
"id": "User",
|
|
"properties": {
|
|
"email": {
|
|
"description": "The user's email.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"servicePath": "",
|
|
"title": "Google Keep API",
|
|
"version": "v1",
|
|
"version_module": true
|
|
} |