swagger: "2.0" info: title: api/v1/activity_service.proto version: version not set tags: - name: ActivityService - name: UserService - name: AuthService - name: IdentityProviderService - name: InboxService - name: MarkdownService - name: ResourceService - name: MemoService - name: TagService - name: WebhookService - name: WorkspaceService - name: WorkspaceSettingService consumes: - application/json produces: - application/json paths: /api/v1/activities/{id}: get: summary: GetActivity returns the activity with the given id. operationId: ActivityService_GetActivity responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Activity' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: id description: The system-generated unique identifier for the activity. in: path required: true type: integer format: int32 tags: - ActivityService /api/v1/auth/signin: post: summary: SignIn signs in the user with the given username and password. operationId: AuthService_SignIn responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: username description: The username to sign in with. in: query required: false type: string - name: password description: The password to sign in with. in: query required: false type: string - name: neverExpire description: Whether the session should never expire. in: query required: false type: boolean tags: - AuthService /api/v1/auth/signin/sso: post: summary: SignInWithSSO signs in the user with the given SSO code. operationId: AuthService_SignInWithSSO responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: idpId description: The ID of the SSO provider. in: query required: false type: integer format: int32 - name: code description: The code to sign in with. in: query required: false type: string - name: redirectUri description: The redirect URI. in: query required: false type: string tags: - AuthService /api/v1/auth/signout: post: summary: SignOut signs out the user. operationId: AuthService_SignOut responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - AuthService /api/v1/auth/signup: post: summary: SignUp signs up the user with the given username and password. operationId: AuthService_SignUp responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: username description: The username to sign up with. in: query required: false type: string - name: password description: The password to sign up with. in: query required: false type: string tags: - AuthService /api/v1/auth/status: post: summary: GetAuthStatus returns the current auth status of the user. operationId: AuthService_GetAuthStatus responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - AuthService /api/v1/identityProviders: get: summary: ListIdentityProviders lists identity providers. operationId: IdentityProviderService_ListIdentityProviders responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListIdentityProvidersResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - IdentityProviderService post: summary: CreateIdentityProvider creates an identity provider. operationId: IdentityProviderService_CreateIdentityProvider responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1IdentityProvider' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: identityProvider description: The identityProvider to create. in: body required: true schema: $ref: '#/definitions/apiv1IdentityProvider' tags: - IdentityProviderService /api/v1/inboxes: get: summary: ListInboxes lists inboxes for a user. operationId: InboxService_ListInboxes responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListInboxesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: user description: 'Format: users/{id}' in: query required: false type: string tags: - InboxService /api/v1/markdown/link:metadata: get: summary: GetLinkMetadata returns metadata for a given link. operationId: MarkdownService_GetLinkMetadata responses: "200": description: A successful response. schema: $ref: '#/definitions/v1LinkMetadata' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: link in: query required: false type: string tags: - MarkdownService /api/v1/markdown/parse: post: summary: Parses the given markdown content and returns a list of nodes. operationId: MarkdownService_ParseMarkdown responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ParseMarkdownResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1ParseMarkdownRequest' tags: - MarkdownService /api/v1/markdown:restore: post: summary: Restores the given nodes to markdown content. operationId: MarkdownService_RestoreMarkdown responses: "200": description: A successful response. schema: $ref: '#/definitions/v1RestoreMarkdownResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1RestoreMarkdownRequest' tags: - MarkdownService /api/v1/memos: get: summary: ListMemos lists memos with pagination and filter. operationId: MemoService_ListMemos responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListMemosResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: pageSize description: The maximum number of memos to return. in: query required: false type: integer format: int32 - name: pageToken description: |- A page token, received from a previous `ListMemos` call. Provide this to retrieve the subsequent page. in: query required: false type: string - name: filter description: |- Filter is used to filter memos returned in the list. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" in: query required: false type: string tags: - MemoService post: summary: CreateMemo creates a memo. operationId: MemoService_CreateMemo responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Memo' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1CreateMemoRequest' tags: - MemoService /api/v1/memos/stats: get: summary: GetUserMemosStats gets stats of memos for a user. operationId: MemoService_GetUserMemosStats responses: "200": description: A successful response. schema: $ref: '#/definitions/v1GetUserMemosStatsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- name is the name of the user to get stats for. Format: users/{id} in: query required: false type: string - name: timezone description: |- timezone location Format: uses tz identifier https://en.wikipedia.org/wiki/List_of_tz_database_time_zones in: query required: false type: string - name: filter description: Same as ListMemosRequest.filter in: query required: false type: string tags: - MemoService /api/v1/memos:export: post: summary: ExportMemos exports memos. operationId: MemoService_ExportMemos responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ExportMemosResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1ExportMemosRequest' tags: - MemoService /api/v1/memos:search: get: summary: SearchMemos searches memos. operationId: MemoService_SearchMemos responses: "200": description: A successful response. schema: $ref: '#/definitions/v1SearchMemosResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: filter description: |- Filter is used to filter memos returned. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" in: query required: false type: string tags: - MemoService /api/v1/reactions/{reactionId}: delete: summary: DeleteMemoReaction deletes a reaction for a memo. operationId: MemoService_DeleteMemoReaction responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: reactionId in: path required: true type: integer format: int32 tags: - MemoService /api/v1/resources: get: summary: ListResources lists all resources. operationId: ResourceService_ListResources responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListResourcesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - ResourceService post: summary: CreateResource creates a new resource. operationId: ResourceService_CreateResource responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Resource' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: resource in: body required: true schema: $ref: '#/definitions/v1Resource' tags: - ResourceService /api/v1/resources:search: get: summary: SearchResources searches memos. operationId: ResourceService_SearchResources responses: "200": description: A successful response. schema: $ref: '#/definitions/v1SearchResourcesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: filter in: query required: false type: string tags: - ResourceService /api/v1/tags: get: summary: ListTags lists tags. operationId: TagService_ListTags responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListTagsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - TagService delete: summary: DeleteTag deletes a tag. operationId: TagService_DeleteTag responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: tag.name in: query required: false type: string - name: tag.creator description: |- The creator of tags. Format: users/{id} in: query required: false type: string tags: - TagService post: summary: UpsertTag upserts a tag. operationId: TagService_UpsertTag responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Tag' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1UpsertTagRequest' tags: - TagService /api/v1/tags/suggestion: get: summary: GetTagSuggestions gets tag suggestions from the user's memos. operationId: TagService_GetTagSuggestions responses: "200": description: A successful response. schema: $ref: '#/definitions/v1GetTagSuggestionsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: user description: |- The creator of tags. Format: users/{id} in: query required: false type: string tags: - TagService /api/v1/tags:batchUpsert: post: summary: BatchUpsertTag upserts multiple tags. operationId: TagService_BatchUpsertTag responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1BatchUpsertTagRequest' tags: - TagService /api/v1/tags:rename: patch: summary: |- RenameTag renames a tag. All related memos will be updated. operationId: TagService_RenameTag responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1RenameTagRequest' tags: - TagService /api/v1/users: get: summary: ListUsers returns a list of users. operationId: UserService_ListUsers responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListUsersResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - UserService post: summary: CreateUser creates a new user. operationId: UserService_CreateUser responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: user in: body required: true schema: $ref: '#/definitions/v1User' tags: - UserService /api/v1/users:search: get: summary: SearchUsers searches users by filter. operationId: UserService_SearchUsers responses: "200": description: A successful response. schema: $ref: '#/definitions/v1SearchUsersResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: filter description: |- Filter is used to filter users returned in the list. Format: "username == frank" in: query required: false type: string tags: - UserService /api/v1/webhooks: get: summary: ListWebhooks returns a list of webhooks. operationId: WebhookService_ListWebhooks responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListWebhooksResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: creatorId in: query required: false type: integer format: int32 tags: - WebhookService post: summary: CreateWebhook creates a new webhook. operationId: WebhookService_CreateWebhook responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Webhook' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v1CreateWebhookRequest' tags: - WebhookService /api/v1/webhooks/{id}: get: summary: GetWebhook returns a webhook by id. operationId: WebhookService_GetWebhook responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Webhook' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: id in: path required: true type: integer format: int32 tags: - WebhookService delete: summary: DeleteWebhook deletes a webhook by id. operationId: WebhookService_DeleteWebhook responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: id in: path required: true type: integer format: int32 tags: - WebhookService /api/v1/webhooks/{webhook.id}: patch: summary: UpdateWebhook updates a webhook. operationId: WebhookService_UpdateWebhook responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Webhook' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: webhook.id in: path required: true type: integer format: int32 - name: webhook in: body required: true schema: type: object properties: creatorId: type: integer format: int32 createdTime: type: string format: date-time updatedTime: type: string format: date-time rowStatus: $ref: '#/definitions/v1RowStatus' name: type: string url: type: string tags: - WebhookService /api/v1/workspace/profile: get: summary: GetWorkspaceProfile returns the workspace profile. operationId: WorkspaceService_GetWorkspaceProfile responses: "200": description: A successful response. schema: $ref: '#/definitions/v1WorkspaceProfile' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - WorkspaceService /api/v1/workspace/settings: get: summary: ListWorkspaceSetting returns the list of settings. operationId: WorkspaceSettingService_ListWorkspaceSettings responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListWorkspaceSettingsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - WorkspaceSettingService /api/v1/workspace/{name}: get: summary: GetWorkspaceSetting returns the setting by name. operationId: WorkspaceSettingService_GetWorkspaceSetting responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1WorkspaceSetting' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The resource name of the workspace setting. Format: settings/{setting} in: path required: true type: string pattern: settings/[^/]+ tags: - WorkspaceSettingService /api/v1/workspace/{setting.name}: patch: summary: SetWorkspaceSetting updates the setting. operationId: WorkspaceSettingService_SetWorkspaceSetting responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1WorkspaceSetting' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: setting.name description: |- name is the name of the setting. Format: settings/{setting} in: path required: true type: string pattern: settings/[^/]+ - name: setting description: setting is the setting to update. in: body required: true schema: type: object properties: generalSetting: $ref: '#/definitions/apiv1WorkspaceGeneralSetting' storageSetting: $ref: '#/definitions/apiv1WorkspaceStorageSetting' memoRelatedSetting: $ref: '#/definitions/apiv1WorkspaceMemoRelatedSetting' title: setting is the setting to update. tags: - WorkspaceSettingService /api/v1/{identityProvider.name}: patch: summary: UpdateIdentityProvider updates an identity provider. operationId: IdentityProviderService_UpdateIdentityProvider responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1IdentityProvider' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: identityProvider.name description: |- The name of the identityProvider. Format: identityProviders/{id} in: path required: true type: string pattern: identityProviders/[^/]+ - name: identityProvider description: The identityProvider to update. in: body required: true schema: type: object properties: type: $ref: '#/definitions/apiv1IdentityProviderType' title: type: string identifierFilter: type: string config: $ref: '#/definitions/apiv1IdentityProviderConfig' title: The identityProvider to update. tags: - IdentityProviderService /api/v1/{inbox.name}: patch: summary: UpdateInbox updates an inbox. operationId: InboxService_UpdateInbox responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Inbox' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: inbox.name description: |- The name of the inbox. Format: inboxes/{id} in: path required: true type: string pattern: inboxes/[^/]+ - name: inbox in: body required: true schema: type: object properties: sender: type: string title: 'Format: users/{id}' receiver: type: string title: 'Format: users/{id}' status: $ref: '#/definitions/v1InboxStatus' createTime: type: string format: date-time type: $ref: '#/definitions/v1InboxType' activityId: type: integer format: int32 tags: - InboxService /api/v1/{memo.name}: patch: summary: UpdateMemo updates a memo. operationId: MemoService_UpdateMemo responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Memo' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: memo.name description: |- The name of the memo. Format: memos/{id} id is the system generated id. in: path required: true type: string pattern: memos/[^/]+ - name: memo in: body required: true schema: type: object properties: uid: type: string description: The user defined id of the memo. rowStatus: $ref: '#/definitions/v1RowStatus' creator: type: string title: |- The name of the creator. Format: users/{id} createTime: type: string format: date-time updateTime: type: string format: date-time displayTime: type: string format: date-time content: type: string nodes: type: array items: type: object $ref: '#/definitions/v1Node' readOnly: true visibility: $ref: '#/definitions/v1Visibility' pinned: type: boolean parentId: type: integer format: int32 readOnly: true resources: type: array items: type: object $ref: '#/definitions/v1Resource' readOnly: true relations: type: array items: type: object $ref: '#/definitions/v1MemoRelation' readOnly: true reactions: type: array items: type: object $ref: '#/definitions/v1Reaction' readOnly: true tags: - MemoService /api/v1/{name_1}: get: summary: GetIdentityProvider gets an identity provider. operationId: IdentityProviderService_GetIdentityProvider responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1IdentityProvider' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_1 description: |- The name of the identityProvider to get. Format: identityProviders/{id} in: path required: true type: string pattern: identityProviders/[^/]+ tags: - IdentityProviderService delete: summary: DeleteIdentityProvider deletes an identity provider. operationId: IdentityProviderService_DeleteIdentityProvider responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_1 description: |- The name of the identityProvider to delete. Format: identityProviders/{id} in: path required: true type: string pattern: identityProviders/[^/]+ tags: - IdentityProviderService /api/v1/{name_2}: get: summary: GetResource returns a resource by name. operationId: ResourceService_GetResource responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Resource' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_2 description: |- The name of the resource. Format: resources/{id} id is the system generated unique identifier. in: path required: true type: string pattern: resources/[^/]+ tags: - ResourceService delete: summary: DeleteInbox deletes an inbox. operationId: InboxService_DeleteInbox responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_2 description: |- The name of the inbox to delete. Format: inboxes/{id} in: path required: true type: string pattern: inboxes/[^/]+ tags: - InboxService /api/v1/{name_3}: get: summary: GetMemo gets a memo. operationId: MemoService_GetMemo responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Memo' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_3 description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService delete: summary: DeleteResource deletes a resource by name. operationId: ResourceService_DeleteResource responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_3 description: |- The name of the resource. Format: resources/{id} id is the system generated unique identifier. in: path required: true type: string pattern: resources/[^/]+ tags: - ResourceService /api/v1/{name_4}: delete: summary: DeleteMemo deletes a memo. operationId: MemoService_DeleteMemo responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name_4 description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService /api/v1/{name}: get: summary: GetUser gets a user by name. operationId: UserService_GetUser responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ tags: - UserService delete: summary: DeleteUser deletes a user. operationId: UserService_DeleteUser responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ tags: - UserService /api/v1/{name}/access_tokens: get: summary: ListUserAccessTokens returns a list of access tokens for a user. operationId: UserService_ListUserAccessTokens responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListUserAccessTokensResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ tags: - UserService post: summary: CreateUserAccessToken creates a new access token for a user. operationId: UserService_CreateUserAccessToken responses: "200": description: A successful response. schema: $ref: '#/definitions/v1UserAccessToken' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ - name: body in: body required: true schema: $ref: '#/definitions/UserServiceCreateUserAccessTokenBody' tags: - UserService /api/v1/{name}/access_tokens/{accessToken}: delete: summary: DeleteUserAccessToken deletes an access token for a user. operationId: UserService_DeleteUserAccessToken responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ - name: accessToken description: access_token is the access token to delete. in: path required: true type: string tags: - UserService /api/v1/{name}/comments: get: summary: ListMemoComments lists comments for a memo. operationId: MemoService_ListMemoComments responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListMemoCommentsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService post: summary: CreateMemoComment creates a comment for a memo. operationId: MemoService_CreateMemoComment responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Memo' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ - name: comment in: body required: true schema: $ref: '#/definitions/v1CreateMemoRequest' tags: - MemoService /api/v1/{name}/reactions: get: summary: ListMemoReactions lists reactions for a memo. operationId: MemoService_ListMemoReactions responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListMemoReactionsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService post: summary: UpsertMemoReaction upserts a reaction for a memo. operationId: MemoService_UpsertMemoReaction responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Reaction' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ - name: body in: body required: true schema: $ref: '#/definitions/MemoServiceUpsertMemoReactionBody' tags: - MemoService /api/v1/{name}/relations: get: summary: ListMemoRelations lists relations for a memo. operationId: MemoService_ListMemoRelations responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListMemoRelationsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService patch: summary: SetMemoRelations sets relations for a memo. operationId: MemoService_SetMemoRelations responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ - name: body in: body required: true schema: $ref: '#/definitions/MemoServiceSetMemoRelationsBody' tags: - MemoService /api/v1/{name}/resources: get: summary: ListMemoResources lists resources for a memo. operationId: MemoService_ListMemoResources responses: "200": description: A successful response. schema: $ref: '#/definitions/v1ListMemoResourcesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ tags: - MemoService patch: summary: SetMemoResources sets resources for a memo. operationId: MemoService_SetMemoResources responses: "200": description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the memo. Format: memos/{id} in: path required: true type: string pattern: memos/[^/]+ - name: body in: body required: true schema: $ref: '#/definitions/MemoServiceSetMemoResourcesBody' tags: - MemoService /api/v1/{name}/setting: get: summary: GetUserSetting gets the setting of a user. operationId: UserService_GetUserSetting responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1UserSetting' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ tags: - UserService /api/v1/{resource.name}: patch: summary: UpdateResource updates a resource. operationId: ResourceService_UpdateResource responses: "200": description: A successful response. schema: $ref: '#/definitions/v1Resource' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: resource.name description: |- The name of the resource. Format: resources/{id} id is the system generated unique identifier. in: path required: true type: string pattern: resources/[^/]+ - name: resource in: body required: true schema: type: object properties: uid: type: string description: The user defined id of the resource. createTime: type: string format: date-time readOnly: true filename: type: string content: type: string format: byte externalLink: type: string type: type: string size: type: string format: int64 memo: type: string title: |- The related memo. Format: memos/{id} tags: - ResourceService /api/v1/{setting.name}: patch: summary: UpdateUserSetting updates the setting of a user. operationId: UserService_UpdateUserSetting responses: "200": description: A successful response. schema: $ref: '#/definitions/apiv1UserSetting' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: setting.name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+/setting - name: setting in: body required: true schema: type: object properties: locale: type: string description: The preferred locale of the user. appearance: type: string description: The preferred appearance of the user. memoVisibility: type: string description: The default visibility of the memo. tags: - UserService /api/v1/{user.name}: patch: summary: UpdateUser updates a user. operationId: UserService_UpdateUser responses: "200": description: A successful response. schema: $ref: '#/definitions/v1User' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: user.name description: |- The name of the user. Format: users/{id} in: path required: true type: string pattern: users/[^/]+ - name: user in: body required: true schema: type: object properties: id: type: integer format: int32 description: The system generated uid of the user. role: $ref: '#/definitions/UserRole' username: type: string email: type: string nickname: type: string avatarUrl: type: string description: type: string password: type: string rowStatus: $ref: '#/definitions/v1RowStatus' createTime: type: string format: date-time updateTime: type: string format: date-time tags: - UserService definitions: MemoServiceSetMemoRelationsBody: type: object properties: relations: type: array items: type: object $ref: '#/definitions/v1MemoRelation' MemoServiceSetMemoResourcesBody: type: object properties: resources: type: array items: type: object $ref: '#/definitions/v1Resource' MemoServiceUpsertMemoReactionBody: type: object properties: reaction: $ref: '#/definitions/v1Reaction' TableNodeRow: type: object properties: cells: type: array items: type: string UserRole: type: string enum: - ROLE_UNSPECIFIED - HOST - ADMIN - USER default: ROLE_UNSPECIFIED UserServiceCreateUserAccessTokenBody: type: object properties: description: type: string expiresAt: type: string format: date-time apiv1ActivityMemoCommentPayload: type: object properties: memoId: type: integer format: int32 description: The memo id of comment. relatedMemoId: type: integer format: int32 description: The memo id of related memo. description: ActivityMemoCommentPayload represents the payload of a memo comment activity. apiv1ActivityPayload: type: object properties: memoComment: $ref: '#/definitions/apiv1ActivityMemoCommentPayload' versionUpdate: $ref: '#/definitions/apiv1ActivityVersionUpdatePayload' apiv1ActivityVersionUpdatePayload: type: object properties: version: type: string description: The updated version of memos. apiv1FieldMapping: type: object properties: identifier: type: string displayName: type: string email: type: string apiv1IdentityProvider: type: object properties: name: type: string title: |- The name of the identityProvider. Format: identityProviders/{id} type: $ref: '#/definitions/apiv1IdentityProviderType' title: type: string identifierFilter: type: string config: $ref: '#/definitions/apiv1IdentityProviderConfig' apiv1IdentityProviderConfig: type: object properties: oauth2Config: $ref: '#/definitions/apiv1OAuth2Config' apiv1IdentityProviderType: type: string enum: - TYPE_UNSPECIFIED - OAUTH2 default: TYPE_UNSPECIFIED apiv1OAuth2Config: type: object properties: clientId: type: string clientSecret: type: string authUrl: type: string tokenUrl: type: string userInfoUrl: type: string scopes: type: array items: type: string fieldMapping: $ref: '#/definitions/apiv1FieldMapping' apiv1UserSetting: type: object properties: name: type: string title: |- The name of the user. Format: users/{id} locale: type: string description: The preferred locale of the user. appearance: type: string description: The preferred appearance of the user. memoVisibility: type: string description: The default visibility of the memo. apiv1WorkspaceCustomProfile: type: object properties: title: type: string description: type: string logoUrl: type: string locale: type: string appearance: type: string apiv1WorkspaceGeneralSetting: type: object properties: instanceUrl: type: string description: instance_url is the instance URL. disallowSignup: type: boolean description: disallow_signup is the flag to disallow signup. disallowPasswordLogin: type: boolean description: disallow_password_login is the flag to disallow password login. additionalScript: type: string description: additional_script is the additional script. additionalStyle: type: string description: additional_style is the additional style. customProfile: $ref: '#/definitions/apiv1WorkspaceCustomProfile' description: custom_profile is the custom profile. apiv1WorkspaceMemoRelatedSetting: type: object properties: disallowPublicVisible: type: boolean description: disallow_public_share disallows set memo as public visible. displayWithUpdateTime: type: boolean description: display_with_update_time orders and displays memo with update time. apiv1WorkspaceSetting: type: object properties: name: type: string title: |- name is the name of the setting. Format: settings/{setting} generalSetting: $ref: '#/definitions/apiv1WorkspaceGeneralSetting' storageSetting: $ref: '#/definitions/apiv1WorkspaceStorageSetting' memoRelatedSetting: $ref: '#/definitions/apiv1WorkspaceMemoRelatedSetting' apiv1WorkspaceStorageSetting: type: object properties: storageType: $ref: '#/definitions/apiv1WorkspaceStorageSettingStorageType' description: storage_type is the storage type. filepathTemplate: type: string title: |- The template of file path. e.g. assets/{timestamp}_{filename} uploadSizeLimitMb: type: string format: int64 description: The max upload size in megabytes. s3Config: $ref: '#/definitions/apiv1WorkspaceStorageSettingS3Config' description: The S3 config. apiv1WorkspaceStorageSettingS3Config: type: object properties: accessKeyId: type: string accessKeySecret: type: string endpoint: type: string region: type: string bucket: type: string title: 'Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/' apiv1WorkspaceStorageSettingStorageType: type: string enum: - STORAGE_TYPE_UNSPECIFIED - STORAGE_TYPE_DATABASE - STORAGE_TYPE_LOCAL - STORAGE_TYPE_S3 default: STORAGE_TYPE_UNSPECIFIED description: |2- - STORAGE_TYPE_DATABASE: STORAGE_TYPE_DATABASE is the database storage type. - STORAGE_TYPE_LOCAL: STORAGE_TYPE_LOCAL is the local storage type. - STORAGE_TYPE_S3: STORAGE_TYPE_S3 is the S3 storage type. googlerpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: type: object $ref: '#/definitions/protobufAny' protobufAny: type: object properties: '@type': type: string additionalProperties: {} v1Activity: type: object properties: id: type: integer format: int32 description: The system-generated unique identifier for the activity. creatorId: type: integer format: int32 description: The system-generated unique identifier for the user who created the activity. type: type: string description: The type of the activity. level: type: string description: The level of the activity. createTime: type: string format: date-time description: The create time of the activity. readOnly: true payload: $ref: '#/definitions/apiv1ActivityPayload' description: The payload of the activity. v1AutoLinkNode: type: object properties: url: type: string isRawText: type: boolean v1BatchUpsertTagRequest: type: object properties: requests: type: array items: type: object $ref: '#/definitions/v1UpsertTagRequest' v1BlockquoteNode: type: object properties: children: type: array items: type: object $ref: '#/definitions/v1Node' v1BoldItalicNode: type: object properties: symbol: type: string content: type: string v1BoldNode: type: object properties: symbol: type: string children: type: array items: type: object $ref: '#/definitions/v1Node' v1CodeBlockNode: type: object properties: language: type: string content: type: string v1CodeNode: type: object properties: content: type: string v1CreateMemoRequest: type: object properties: content: type: string visibility: $ref: '#/definitions/v1Visibility' v1CreateWebhookRequest: type: object properties: name: type: string url: type: string v1EmbeddedContentNode: type: object properties: resourceName: type: string params: type: string v1EscapingCharacterNode: type: object properties: symbol: type: string v1ExportMemosRequest: type: object properties: filter: type: string title: Same as ListMemosRequest.filter v1ExportMemosResponse: type: object properties: content: type: string format: byte v1GetTagSuggestionsResponse: type: object properties: tags: type: array items: type: string v1GetUserMemosStatsResponse: type: object properties: stats: type: object additionalProperties: type: integer format: int32 description: |- stats is the stats of memo creating/updating activities. key is the year-month-day string. e.g. "2020-01-01". v1HeadingNode: type: object properties: level: type: integer format: int32 children: type: array items: type: object $ref: '#/definitions/v1Node' v1HighlightNode: type: object properties: content: type: string v1HorizontalRuleNode: type: object properties: symbol: type: string v1ImageNode: type: object properties: altText: type: string url: type: string v1Inbox: type: object properties: name: type: string title: |- The name of the inbox. Format: inboxes/{id} sender: type: string title: 'Format: users/{id}' receiver: type: string title: 'Format: users/{id}' status: $ref: '#/definitions/v1InboxStatus' createTime: type: string format: date-time type: $ref: '#/definitions/v1InboxType' activityId: type: integer format: int32 v1InboxStatus: type: string enum: - STATUS_UNSPECIFIED - UNREAD - ARCHIVED default: STATUS_UNSPECIFIED v1InboxType: type: string enum: - TYPE_UNSPECIFIED - TYPE_MEMO_COMMENT - TYPE_VERSION_UPDATE default: TYPE_UNSPECIFIED v1ItalicNode: type: object properties: symbol: type: string content: type: string v1LineBreakNode: type: object v1LinkMetadata: type: object properties: title: type: string description: type: string image: type: string v1LinkNode: type: object properties: text: type: string url: type: string v1ListIdentityProvidersResponse: type: object properties: identityProviders: type: array items: type: object $ref: '#/definitions/apiv1IdentityProvider' v1ListInboxesResponse: type: object properties: inboxes: type: array items: type: object $ref: '#/definitions/v1Inbox' v1ListMemoCommentsResponse: type: object properties: memos: type: array items: type: object $ref: '#/definitions/v1Memo' v1ListMemoReactionsResponse: type: object properties: reactions: type: array items: type: object $ref: '#/definitions/v1Reaction' v1ListMemoRelationsResponse: type: object properties: relations: type: array items: type: object $ref: '#/definitions/v1MemoRelation' v1ListMemoResourcesResponse: type: object properties: resources: type: array items: type: object $ref: '#/definitions/v1Resource' v1ListMemosResponse: type: object properties: memos: type: array items: type: object $ref: '#/definitions/v1Memo' nextPageToken: type: string description: |- A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. v1ListResourcesResponse: type: object properties: resources: type: array items: type: object $ref: '#/definitions/v1Resource' v1ListTagsResponse: type: object properties: tags: type: array items: type: object $ref: '#/definitions/v1Tag' v1ListUserAccessTokensResponse: type: object properties: accessTokens: type: array items: type: object $ref: '#/definitions/v1UserAccessToken' v1ListUsersResponse: type: object properties: users: type: array items: type: object $ref: '#/definitions/v1User' v1ListWebhooksResponse: type: object properties: webhooks: type: array items: type: object $ref: '#/definitions/v1Webhook' v1ListWorkspaceSettingsResponse: type: object properties: settings: type: array items: type: object $ref: '#/definitions/apiv1WorkspaceSetting' v1MathBlockNode: type: object properties: content: type: string v1MathNode: type: object properties: content: type: string v1Memo: type: object properties: name: type: string description: |- The name of the memo. Format: memos/{id} id is the system generated id. uid: type: string description: The user defined id of the memo. rowStatus: $ref: '#/definitions/v1RowStatus' creator: type: string title: |- The name of the creator. Format: users/{id} createTime: type: string format: date-time updateTime: type: string format: date-time displayTime: type: string format: date-time content: type: string nodes: type: array items: type: object $ref: '#/definitions/v1Node' readOnly: true visibility: $ref: '#/definitions/v1Visibility' pinned: type: boolean parentId: type: integer format: int32 readOnly: true resources: type: array items: type: object $ref: '#/definitions/v1Resource' readOnly: true relations: type: array items: type: object $ref: '#/definitions/v1MemoRelation' readOnly: true reactions: type: array items: type: object $ref: '#/definitions/v1Reaction' readOnly: true v1MemoRelation: type: object properties: memo: type: string title: |- The name of memo. Format: "memos/{uid}" relatedMemo: type: string title: |- The name of related memo. Format: "memos/{uid}" type: $ref: '#/definitions/v1MemoRelationType' v1MemoRelationType: type: string enum: - TYPE_UNSPECIFIED - REFERENCE - COMMENT default: TYPE_UNSPECIFIED v1Node: type: object properties: type: $ref: '#/definitions/v1NodeType' lineBreakNode: $ref: '#/definitions/v1LineBreakNode' paragraphNode: $ref: '#/definitions/v1ParagraphNode' codeBlockNode: $ref: '#/definitions/v1CodeBlockNode' headingNode: $ref: '#/definitions/v1HeadingNode' horizontalRuleNode: $ref: '#/definitions/v1HorizontalRuleNode' blockquoteNode: $ref: '#/definitions/v1BlockquoteNode' orderedListNode: $ref: '#/definitions/v1OrderedListNode' unorderedListNode: $ref: '#/definitions/v1UnorderedListNode' taskListNode: $ref: '#/definitions/v1TaskListNode' mathBlockNode: $ref: '#/definitions/v1MathBlockNode' tableNode: $ref: '#/definitions/v1TableNode' embeddedContentNode: $ref: '#/definitions/v1EmbeddedContentNode' textNode: $ref: '#/definitions/v1TextNode' boldNode: $ref: '#/definitions/v1BoldNode' italicNode: $ref: '#/definitions/v1ItalicNode' boldItalicNode: $ref: '#/definitions/v1BoldItalicNode' codeNode: $ref: '#/definitions/v1CodeNode' imageNode: $ref: '#/definitions/v1ImageNode' linkNode: $ref: '#/definitions/v1LinkNode' autoLinkNode: $ref: '#/definitions/v1AutoLinkNode' tagNode: $ref: '#/definitions/v1TagNode' strikethroughNode: $ref: '#/definitions/v1StrikethroughNode' escapingCharacterNode: $ref: '#/definitions/v1EscapingCharacterNode' mathNode: $ref: '#/definitions/v1MathNode' highlightNode: $ref: '#/definitions/v1HighlightNode' subscriptNode: $ref: '#/definitions/v1SubscriptNode' superscriptNode: $ref: '#/definitions/v1SuperscriptNode' referencedContentNode: $ref: '#/definitions/v1ReferencedContentNode' spoilerNode: $ref: '#/definitions/v1SpoilerNode' v1NodeType: type: string enum: - NODE_UNSPECIFIED - LINE_BREAK - PARAGRAPH - CODE_BLOCK - HEADING - HORIZONTAL_RULE - BLOCKQUOTE - ORDERED_LIST - UNORDERED_LIST - TASK_LIST - MATH_BLOCK - TABLE - EMBEDDED_CONTENT - TEXT - BOLD - ITALIC - BOLD_ITALIC - CODE - IMAGE - LINK - AUTO_LINK - TAG - STRIKETHROUGH - ESCAPING_CHARACTER - MATH - HIGHLIGHT - SUBSCRIPT - SUPERSCRIPT - REFERENCED_CONTENT - SPOILER default: NODE_UNSPECIFIED v1OrderedListNode: type: object properties: number: type: string indent: type: integer format: int32 children: type: array items: type: object $ref: '#/definitions/v1Node' v1ParagraphNode: type: object properties: children: type: array items: type: object $ref: '#/definitions/v1Node' v1ParseMarkdownRequest: type: object properties: markdown: type: string v1ParseMarkdownResponse: type: object properties: nodes: type: array items: type: object $ref: '#/definitions/v1Node' v1Reaction: type: object properties: id: type: integer format: int32 creator: type: string title: |- The name of the creator. Format: users/{id} contentId: type: string reactionType: $ref: '#/definitions/v1ReactionType' v1ReactionType: type: string enum: - TYPE_UNSPECIFIED - THUMBS_UP - THUMBS_DOWN - HEART - FIRE - CLAPPING_HANDS - LAUGH - OK_HAND - ROCKET - EYES - THINKING_FACE - CLOWN_FACE - QUESTION_MARK default: TYPE_UNSPECIFIED v1ReferencedContentNode: type: object properties: resourceName: type: string params: type: string v1RenameTagRequest: type: object properties: user: type: string title: |- The creator of tags. Format: users/{id} oldName: type: string newName: type: string v1Resource: type: object properties: name: type: string description: |- The name of the resource. Format: resources/{id} id is the system generated unique identifier. uid: type: string description: The user defined id of the resource. createTime: type: string format: date-time readOnly: true filename: type: string content: type: string format: byte externalLink: type: string type: type: string size: type: string format: int64 memo: type: string title: |- The related memo. Format: memos/{id} v1RestoreMarkdownRequest: type: object properties: nodes: type: array items: type: object $ref: '#/definitions/v1Node' v1RestoreMarkdownResponse: type: object properties: markdown: type: string v1RowStatus: type: string enum: - ROW_STATUS_UNSPECIFIED - ACTIVE - ARCHIVED default: ROW_STATUS_UNSPECIFIED v1SearchMemosResponse: type: object properties: memos: type: array items: type: object $ref: '#/definitions/v1Memo' v1SearchResourcesResponse: type: object properties: resources: type: array items: type: object $ref: '#/definitions/v1Resource' v1SearchUsersResponse: type: object properties: users: type: array items: type: object $ref: '#/definitions/v1User' v1SpoilerNode: type: object properties: content: type: string v1StrikethroughNode: type: object properties: content: type: string v1SubscriptNode: type: object properties: content: type: string v1SuperscriptNode: type: object properties: content: type: string v1TableNode: type: object properties: header: type: array items: type: string delimiter: type: array items: type: string rows: type: array items: type: object $ref: '#/definitions/TableNodeRow' v1Tag: type: object properties: name: type: string creator: type: string title: |- The creator of tags. Format: users/{id} v1TagNode: type: object properties: content: type: string v1TaskListNode: type: object properties: symbol: type: string indent: type: integer format: int32 complete: type: boolean children: type: array items: type: object $ref: '#/definitions/v1Node' v1TextNode: type: object properties: content: type: string v1UnorderedListNode: type: object properties: symbol: type: string indent: type: integer format: int32 children: type: array items: type: object $ref: '#/definitions/v1Node' v1UpsertTagRequest: type: object properties: name: type: string v1User: type: object properties: name: type: string title: |- The name of the user. Format: users/{id} id: type: integer format: int32 description: The system generated uid of the user. role: $ref: '#/definitions/UserRole' username: type: string email: type: string nickname: type: string avatarUrl: type: string description: type: string password: type: string rowStatus: $ref: '#/definitions/v1RowStatus' createTime: type: string format: date-time updateTime: type: string format: date-time v1UserAccessToken: type: object properties: accessToken: type: string description: type: string issuedAt: type: string format: date-time expiresAt: type: string format: date-time v1Visibility: type: string enum: - VISIBILITY_UNSPECIFIED - PRIVATE - PROTECTED - PUBLIC default: VISIBILITY_UNSPECIFIED v1Webhook: type: object properties: id: type: integer format: int32 creatorId: type: integer format: int32 createdTime: type: string format: date-time updatedTime: type: string format: date-time rowStatus: $ref: '#/definitions/v1RowStatus' name: type: string url: type: string v1WorkspaceProfile: type: object properties: owner: type: string title: |- The name of instance owner. Format: "users/{id}" version: type: string title: version is the current version of instance mode: type: string description: mode is the instance mode (e.g. "prod", "dev" or "demo").