# Protocol Documentation ## Table of Contents - [api/v2/activity_service.proto](#api_v2_activity_service-proto) - [Activity](#memos-api-v2-Activity) - [ActivityMemoCommentPayload](#memos-api-v2-ActivityMemoCommentPayload) - [ActivityPayload](#memos-api-v2-ActivityPayload) - [ActivityVersionUpdatePayload](#memos-api-v2-ActivityVersionUpdatePayload) - [GetActivityRequest](#memos-api-v2-GetActivityRequest) - [GetActivityResponse](#memos-api-v2-GetActivityResponse) - [ActivityService](#memos-api-v2-ActivityService) - [api/v2/common.proto](#api_v2_common-proto) - [PageToken](#memos-api-v2-PageToken) - [RowStatus](#memos-api-v2-RowStatus) - [api/v2/user_service.proto](#api_v2_user_service-proto) - [CreateUserAccessTokenRequest](#memos-api-v2-CreateUserAccessTokenRequest) - [CreateUserAccessTokenResponse](#memos-api-v2-CreateUserAccessTokenResponse) - [CreateUserRequest](#memos-api-v2-CreateUserRequest) - [CreateUserResponse](#memos-api-v2-CreateUserResponse) - [DeleteUserAccessTokenRequest](#memos-api-v2-DeleteUserAccessTokenRequest) - [DeleteUserAccessTokenResponse](#memos-api-v2-DeleteUserAccessTokenResponse) - [DeleteUserRequest](#memos-api-v2-DeleteUserRequest) - [DeleteUserResponse](#memos-api-v2-DeleteUserResponse) - [GetUserRequest](#memos-api-v2-GetUserRequest) - [GetUserResponse](#memos-api-v2-GetUserResponse) - [GetUserSettingRequest](#memos-api-v2-GetUserSettingRequest) - [GetUserSettingResponse](#memos-api-v2-GetUserSettingResponse) - [ListUserAccessTokensRequest](#memos-api-v2-ListUserAccessTokensRequest) - [ListUserAccessTokensResponse](#memos-api-v2-ListUserAccessTokensResponse) - [ListUsersRequest](#memos-api-v2-ListUsersRequest) - [ListUsersResponse](#memos-api-v2-ListUsersResponse) - [UpdateUserRequest](#memos-api-v2-UpdateUserRequest) - [UpdateUserResponse](#memos-api-v2-UpdateUserResponse) - [UpdateUserSettingRequest](#memos-api-v2-UpdateUserSettingRequest) - [UpdateUserSettingResponse](#memos-api-v2-UpdateUserSettingResponse) - [User](#memos-api-v2-User) - [UserAccessToken](#memos-api-v2-UserAccessToken) - [UserSetting](#memos-api-v2-UserSetting) - [User.Role](#memos-api-v2-User-Role) - [UserService](#memos-api-v2-UserService) - [api/v2/auth_service.proto](#api_v2_auth_service-proto) - [GetAuthStatusRequest](#memos-api-v2-GetAuthStatusRequest) - [GetAuthStatusResponse](#memos-api-v2-GetAuthStatusResponse) - [SignInRequest](#memos-api-v2-SignInRequest) - [SignInResponse](#memos-api-v2-SignInResponse) - [SignInWithSSORequest](#memos-api-v2-SignInWithSSORequest) - [SignInWithSSOResponse](#memos-api-v2-SignInWithSSOResponse) - [SignOutRequest](#memos-api-v2-SignOutRequest) - [SignOutResponse](#memos-api-v2-SignOutResponse) - [SignUpRequest](#memos-api-v2-SignUpRequest) - [SignUpResponse](#memos-api-v2-SignUpResponse) - [AuthService](#memos-api-v2-AuthService) - [api/v2/inbox_service.proto](#api_v2_inbox_service-proto) - [DeleteInboxRequest](#memos-api-v2-DeleteInboxRequest) - [DeleteInboxResponse](#memos-api-v2-DeleteInboxResponse) - [Inbox](#memos-api-v2-Inbox) - [ListInboxesRequest](#memos-api-v2-ListInboxesRequest) - [ListInboxesResponse](#memos-api-v2-ListInboxesResponse) - [UpdateInboxRequest](#memos-api-v2-UpdateInboxRequest) - [UpdateInboxResponse](#memos-api-v2-UpdateInboxResponse) - [Inbox.Status](#memos-api-v2-Inbox-Status) - [Inbox.Type](#memos-api-v2-Inbox-Type) - [InboxService](#memos-api-v2-InboxService) - [api/v2/memo_relation_service.proto](#api_v2_memo_relation_service-proto) - [MemoRelation](#memos-api-v2-MemoRelation) - [MemoRelation.Type](#memos-api-v2-MemoRelation-Type) - [api/v2/reaction_service.proto](#api_v2_reaction_service-proto) - [Reaction](#memos-api-v2-Reaction) - [Reaction.Type](#memos-api-v2-Reaction-Type) - [api/v2/resource_service.proto](#api_v2_resource_service-proto) - [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) - [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) - [DeleteResourceRequest](#memos-api-v2-DeleteResourceRequest) - [DeleteResourceResponse](#memos-api-v2-DeleteResourceResponse) - [GetResourceByNameRequest](#memos-api-v2-GetResourceByNameRequest) - [GetResourceByNameResponse](#memos-api-v2-GetResourceByNameResponse) - [GetResourceRequest](#memos-api-v2-GetResourceRequest) - [GetResourceResponse](#memos-api-v2-GetResourceResponse) - [ListResourcesRequest](#memos-api-v2-ListResourcesRequest) - [ListResourcesResponse](#memos-api-v2-ListResourcesResponse) - [Resource](#memos-api-v2-Resource) - [UpdateResourceRequest](#memos-api-v2-UpdateResourceRequest) - [UpdateResourceResponse](#memos-api-v2-UpdateResourceResponse) - [ResourceService](#memos-api-v2-ResourceService) - [api/v2/memo_service.proto](#api_v2_memo_service-proto) - [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) - [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) - [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) - [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) - [DeleteMemoReactionRequest](#memos-api-v2-DeleteMemoReactionRequest) - [DeleteMemoReactionResponse](#memos-api-v2-DeleteMemoReactionResponse) - [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) - [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) - [ExportMemosRequest](#memos-api-v2-ExportMemosRequest) - [ExportMemosResponse](#memos-api-v2-ExportMemosResponse) - [GetMemoByNameRequest](#memos-api-v2-GetMemoByNameRequest) - [GetMemoByNameResponse](#memos-api-v2-GetMemoByNameResponse) - [GetMemoRequest](#memos-api-v2-GetMemoRequest) - [GetMemoResponse](#memos-api-v2-GetMemoResponse) - [GetUserMemosStatsRequest](#memos-api-v2-GetUserMemosStatsRequest) - [GetUserMemosStatsResponse](#memos-api-v2-GetUserMemosStatsResponse) - [GetUserMemosStatsResponse.StatsEntry](#memos-api-v2-GetUserMemosStatsResponse-StatsEntry) - [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) - [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) - [ListMemoReactionsRequest](#memos-api-v2-ListMemoReactionsRequest) - [ListMemoReactionsResponse](#memos-api-v2-ListMemoReactionsResponse) - [ListMemoRelationsRequest](#memos-api-v2-ListMemoRelationsRequest) - [ListMemoRelationsResponse](#memos-api-v2-ListMemoRelationsResponse) - [ListMemoResourcesRequest](#memos-api-v2-ListMemoResourcesRequest) - [ListMemoResourcesResponse](#memos-api-v2-ListMemoResourcesResponse) - [ListMemosRequest](#memos-api-v2-ListMemosRequest) - [ListMemosResponse](#memos-api-v2-ListMemosResponse) - [Memo](#memos-api-v2-Memo) - [SetMemoRelationsRequest](#memos-api-v2-SetMemoRelationsRequest) - [SetMemoRelationsResponse](#memos-api-v2-SetMemoRelationsResponse) - [SetMemoResourcesRequest](#memos-api-v2-SetMemoResourcesRequest) - [SetMemoResourcesResponse](#memos-api-v2-SetMemoResourcesResponse) - [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) - [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) - [UpsertMemoReactionRequest](#memos-api-v2-UpsertMemoReactionRequest) - [UpsertMemoReactionResponse](#memos-api-v2-UpsertMemoReactionResponse) - [Visibility](#memos-api-v2-Visibility) - [MemoService](#memos-api-v2-MemoService) - [api/v2/tag_service.proto](#api_v2_tag_service-proto) - [BatchUpsertTagRequest](#memos-api-v2-BatchUpsertTagRequest) - [BatchUpsertTagResponse](#memos-api-v2-BatchUpsertTagResponse) - [DeleteTagRequest](#memos-api-v2-DeleteTagRequest) - [DeleteTagResponse](#memos-api-v2-DeleteTagResponse) - [GetTagSuggestionsRequest](#memos-api-v2-GetTagSuggestionsRequest) - [GetTagSuggestionsResponse](#memos-api-v2-GetTagSuggestionsResponse) - [ListTagsRequest](#memos-api-v2-ListTagsRequest) - [ListTagsResponse](#memos-api-v2-ListTagsResponse) - [RenameTagRequest](#memos-api-v2-RenameTagRequest) - [RenameTagResponse](#memos-api-v2-RenameTagResponse) - [Tag](#memos-api-v2-Tag) - [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) - [UpsertTagResponse](#memos-api-v2-UpsertTagResponse) - [TagService](#memos-api-v2-TagService) - [api/v2/webhook_service.proto](#api_v2_webhook_service-proto) - [CreateWebhookRequest](#memos-api-v2-CreateWebhookRequest) - [CreateWebhookResponse](#memos-api-v2-CreateWebhookResponse) - [DeleteWebhookRequest](#memos-api-v2-DeleteWebhookRequest) - [DeleteWebhookResponse](#memos-api-v2-DeleteWebhookResponse) - [GetWebhookRequest](#memos-api-v2-GetWebhookRequest) - [GetWebhookResponse](#memos-api-v2-GetWebhookResponse) - [ListWebhooksRequest](#memos-api-v2-ListWebhooksRequest) - [ListWebhooksResponse](#memos-api-v2-ListWebhooksResponse) - [UpdateWebhookRequest](#memos-api-v2-UpdateWebhookRequest) - [UpdateWebhookResponse](#memos-api-v2-UpdateWebhookResponse) - [Webhook](#memos-api-v2-Webhook) - [WebhookService](#memos-api-v2-WebhookService) - [api/v2/workspace_service.proto](#api_v2_workspace_service-proto) - [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) - [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) - [UpdateWorkspaceProfileRequest](#memos-api-v2-UpdateWorkspaceProfileRequest) - [UpdateWorkspaceProfileResponse](#memos-api-v2-UpdateWorkspaceProfileResponse) - [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) - [WorkspaceService](#memos-api-v2-WorkspaceService) - [Scalar Value Types](#scalar-value-types)
## api/v2/activity_service.proto ### Activity | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | creator_id | [int32](#int32) | | | | type | [string](#string) | | | | level | [string](#string) | | | | create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | payload | [ActivityPayload](#memos-api-v2-ActivityPayload) | | | ### ActivityMemoCommentPayload | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo_id | [int32](#int32) | | | | related_memo_id | [int32](#int32) | | | ### ActivityPayload | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo_comment | [ActivityMemoCommentPayload](#memos-api-v2-ActivityMemoCommentPayload) | | | | version_update | [ActivityVersionUpdatePayload](#memos-api-v2-ActivityVersionUpdatePayload) | | | ### ActivityVersionUpdatePayload | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | version | [string](#string) | | | ### GetActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### GetActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | activity | [Activity](#memos-api-v2-Activity) | | | ### ActivityService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | GetActivity | [GetActivityRequest](#memos-api-v2-GetActivityRequest) | [GetActivityResponse](#memos-api-v2-GetActivityResponse) | GetActivity returns the activity with the given id. | ## api/v2/common.proto ### PageToken Used internally for obfuscating the page token. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | limit | [int32](#int32) | | | | offset | [int32](#int32) | | | ### RowStatus | Name | Number | Description | | ---- | ------ | ----------- | | ROW_STATUS_UNSPECIFIED | 0 | | | ACTIVE | 1 | | | ARCHIVED | 2 | | ## api/v2/user_service.proto ### CreateUserAccessTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | | description | [string](#string) | | | | expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | optional | | ### CreateUserAccessTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | access_token | [UserAccessToken](#memos-api-v2-UserAccessToken) | | | ### CreateUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### CreateUserResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### DeleteUserAccessTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | | access_token | [string](#string) | | access_token is the access token to delete. | ### DeleteUserAccessTokenResponse ### DeleteUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | ### DeleteUserResponse ### GetUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | ### GetUserResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### GetUserSettingRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | ### GetUserSettingResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | setting | [UserSetting](#memos-api-v2-UserSetting) | | | ### ListUserAccessTokensRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | ### ListUserAccessTokensResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | access_tokens | [UserAccessToken](#memos-api-v2-UserAccessToken) | repeated | | ### ListUsersRequest ### ListUsersResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | users | [User](#memos-api-v2-User) | repeated | | ### UpdateUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateUserResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### UpdateUserSettingRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | setting | [UserSetting](#memos-api-v2-UserSetting) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateUserSettingResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | setting | [UserSetting](#memos-api-v2-UserSetting) | | | ### User | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | | id | [int32](#int32) | | | | role | [User.Role](#memos-api-v2-User-Role) | | | | username | [string](#string) | | | | email | [string](#string) | | | | nickname | [string](#string) | | | | avatar_url | [string](#string) | | | | password | [string](#string) | | | | row_status | [RowStatus](#memos-api-v2-RowStatus) | | | | create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | update_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | ### UserAccessToken | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | access_token | [string](#string) | | | | description | [string](#string) | | | | issued_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | ### UserSetting | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the user. Format: users/{username} | | locale | [string](#string) | | The preferred locale of the user. | | appearance | [string](#string) | | The preferred appearance of the user. | | memo_visibility | [string](#string) | | The default visibility of the memo. | | telegram_user_id | [string](#string) | | The telegram user id of the user. | | compact_view | [bool](#bool) | | The compact view for a memo. | ### User.Role | Name | Number | Description | | ---- | ------ | ----------- | | ROLE_UNSPECIFIED | 0 | | | HOST | 1 | | | ADMIN | 2 | | | USER | 3 | | ### UserService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | ListUsers | [ListUsersRequest](#memos-api-v2-ListUsersRequest) | [ListUsersResponse](#memos-api-v2-ListUsersResponse) | ListUsers returns a list of users. | | GetUser | [GetUserRequest](#memos-api-v2-GetUserRequest) | [GetUserResponse](#memos-api-v2-GetUserResponse) | GetUser gets a user by name. | | CreateUser | [CreateUserRequest](#memos-api-v2-CreateUserRequest) | [CreateUserResponse](#memos-api-v2-CreateUserResponse) | CreateUser creates a new user. | | UpdateUser | [UpdateUserRequest](#memos-api-v2-UpdateUserRequest) | [UpdateUserResponse](#memos-api-v2-UpdateUserResponse) | UpdateUser updates a user. | | DeleteUser | [DeleteUserRequest](#memos-api-v2-DeleteUserRequest) | [DeleteUserResponse](#memos-api-v2-DeleteUserResponse) | DeleteUser deletes a user. | | GetUserSetting | [GetUserSettingRequest](#memos-api-v2-GetUserSettingRequest) | [GetUserSettingResponse](#memos-api-v2-GetUserSettingResponse) | GetUserSetting gets the setting of a user. | | UpdateUserSetting | [UpdateUserSettingRequest](#memos-api-v2-UpdateUserSettingRequest) | [UpdateUserSettingResponse](#memos-api-v2-UpdateUserSettingResponse) | UpdateUserSetting updates the setting of a user. | | ListUserAccessTokens | [ListUserAccessTokensRequest](#memos-api-v2-ListUserAccessTokensRequest) | [ListUserAccessTokensResponse](#memos-api-v2-ListUserAccessTokensResponse) | ListUserAccessTokens returns a list of access tokens for a user. | | CreateUserAccessToken | [CreateUserAccessTokenRequest](#memos-api-v2-CreateUserAccessTokenRequest) | [CreateUserAccessTokenResponse](#memos-api-v2-CreateUserAccessTokenResponse) | CreateUserAccessToken creates a new access token for a user. | | DeleteUserAccessToken | [DeleteUserAccessTokenRequest](#memos-api-v2-DeleteUserAccessTokenRequest) | [DeleteUserAccessTokenResponse](#memos-api-v2-DeleteUserAccessTokenResponse) | DeleteUserAccessToken deletes an access token for a user. | ## api/v2/auth_service.proto ### GetAuthStatusRequest ### GetAuthStatusResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### SignInRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | username | [string](#string) | | | | password | [string](#string) | | | | never_expire | [bool](#bool) | | | ### SignInResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### SignInWithSSORequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | idp_id | [int32](#int32) | | | | code | [string](#string) | | | | redirect_uri | [string](#string) | | | ### SignInWithSSOResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### SignOutRequest ### SignOutResponse ### SignUpRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | username | [string](#string) | | | | password | [string](#string) | | | ### SignUpResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#memos-api-v2-User) | | | ### AuthService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | GetAuthStatus | [GetAuthStatusRequest](#memos-api-v2-GetAuthStatusRequest) | [GetAuthStatusResponse](#memos-api-v2-GetAuthStatusResponse) | GetAuthStatus returns the current auth status of the user. | | SignIn | [SignInRequest](#memos-api-v2-SignInRequest) | [SignInResponse](#memos-api-v2-SignInResponse) | SignIn signs in the user with the given username and password. | | SignInWithSSO | [SignInWithSSORequest](#memos-api-v2-SignInWithSSORequest) | [SignInWithSSOResponse](#memos-api-v2-SignInWithSSOResponse) | SignInWithSSO signs in the user with the given SSO code. | | SignUp | [SignUpRequest](#memos-api-v2-SignUpRequest) | [SignUpResponse](#memos-api-v2-SignUpResponse) | SignUp signs up the user with the given username and password. | | SignOut | [SignOutRequest](#memos-api-v2-SignOutRequest) | [SignOutResponse](#memos-api-v2-SignOutResponse) | SignOut signs out the user. | ## api/v2/inbox_service.proto ### DeleteInboxRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the inbox to delete. Format: inboxes/{uid} | ### DeleteInboxResponse ### Inbox | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | The name of the inbox. Format: inboxes/{uid} | | sender | [string](#string) | | Format: users/{username} | | receiver | [string](#string) | | Format: users/{username} | | status | [Inbox.Status](#memos-api-v2-Inbox-Status) | | | | create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | type | [Inbox.Type](#memos-api-v2-Inbox-Type) | | | | activity_id | [int32](#int32) | optional | | ### ListInboxesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [string](#string) | | Format: users/{username} | ### ListInboxesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | inboxes | [Inbox](#memos-api-v2-Inbox) | repeated | | ### UpdateInboxRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | inbox | [Inbox](#memos-api-v2-Inbox) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateInboxResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | inbox | [Inbox](#memos-api-v2-Inbox) | | | ### Inbox.Status | Name | Number | Description | | ---- | ------ | ----------- | | STATUS_UNSPECIFIED | 0 | | | UNREAD | 1 | | | ARCHIVED | 2 | | ### Inbox.Type | Name | Number | Description | | ---- | ------ | ----------- | | TYPE_UNSPECIFIED | 0 | | | TYPE_MEMO_COMMENT | 1 | | | TYPE_VERSION_UPDATE | 2 | | ### InboxService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | ListInboxes | [ListInboxesRequest](#memos-api-v2-ListInboxesRequest) | [ListInboxesResponse](#memos-api-v2-ListInboxesResponse) | ListInboxes lists inboxes for a user. | | UpdateInbox | [UpdateInboxRequest](#memos-api-v2-UpdateInboxRequest) | [UpdateInboxResponse](#memos-api-v2-UpdateInboxResponse) | UpdateInbox updates an inbox. | | DeleteInbox | [DeleteInboxRequest](#memos-api-v2-DeleteInboxRequest) | [DeleteInboxResponse](#memos-api-v2-DeleteInboxResponse) | DeleteInbox deletes an inbox. | ## api/v2/memo_relation_service.proto ### MemoRelation | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo_id | [int32](#int32) | | | | related_memo_id | [int32](#int32) | | | | type | [MemoRelation.Type](#memos-api-v2-MemoRelation-Type) | | | ### MemoRelation.Type | Name | Number | Description | | ---- | ------ | ----------- | | TYPE_UNSPECIFIED | 0 | | | REFERENCE | 1 | | | COMMENT | 2 | | ## api/v2/reaction_service.proto ### Reaction | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | creator | [string](#string) | | | | content_id | [string](#string) | | | | reaction_type | [Reaction.Type](#memos-api-v2-Reaction-Type) | | | ### Reaction.Type | Name | Number | Description | | ---- | ------ | ----------- | | TYPE_UNSPECIFIED | 0 | | | THUMBS_UP | 1 | | | THUMBS_DOWN | 2 | | | HEART | 3 | | | FIRE | 4 | | | CLAPPING_HANDS | 5 | | | LAUGH | 6 | | | OK_HAND | 7 | | | ROCKET | 8 | | | EYES | 9 | | | THINKING_FACE | 10 | | | CLOWN_FACE | 11 | | | QUESTION_MARK | 12 | | ## api/v2/resource_service.proto ### CreateResourceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | filename | [string](#string) | | | | external_link | [string](#string) | | | | type | [string](#string) | | | | memo_id | [int32](#int32) | optional | | ### CreateResourceResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resource | [Resource](#memos-api-v2-Resource) | | | ### DeleteResourceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### DeleteResourceResponse ### GetResourceByNameRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | ### GetResourceByNameResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resource | [Resource](#memos-api-v2-Resource) | | | ### GetResourceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### GetResourceResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resource | [Resource](#memos-api-v2-Resource) | | | ### ListResourcesRequest ### ListResourcesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resources | [Resource](#memos-api-v2-Resource) | repeated | | ### Resource | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the system generated unique identifier. | | name | [string](#string) | | name is the user provided name. | | create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | filename | [string](#string) | | | | external_link | [string](#string) | | | | type | [string](#string) | | | | size | [int64](#int64) | | | | memo_id | [int32](#int32) | optional | | ### UpdateResourceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resource | [Resource](#memos-api-v2-Resource) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateResourceResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resource | [Resource](#memos-api-v2-Resource) | | | ### ResourceService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | CreateResource | [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) | [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) | CreateResource creates a new resource. | | ListResources | [ListResourcesRequest](#memos-api-v2-ListResourcesRequest) | [ListResourcesResponse](#memos-api-v2-ListResourcesResponse) | ListResources lists all resources. | | GetResource | [GetResourceRequest](#memos-api-v2-GetResourceRequest) | [GetResourceResponse](#memos-api-v2-GetResourceResponse) | GetResource returns a resource by id. | | GetResourceByName | [GetResourceByNameRequest](#memos-api-v2-GetResourceByNameRequest) | [GetResourceByNameResponse](#memos-api-v2-GetResourceByNameResponse) | GetResourceByName returns a resource by name. | | UpdateResource | [UpdateResourceRequest](#memos-api-v2-UpdateResourceRequest) | [UpdateResourceResponse](#memos-api-v2-UpdateResourceResponse) | UpdateResource updates a resource. | | DeleteResource | [DeleteResourceRequest](#memos-api-v2-DeleteResourceRequest) | [DeleteResourceResponse](#memos-api-v2-DeleteResourceResponse) | DeleteResource deletes a resource by id. | ## api/v2/memo_service.proto ### CreateMemoCommentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the memo id to create comment for. | | create | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | | | ### CreateMemoCommentResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | ### CreateMemoRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | content | [string](#string) | | | | visibility | [Visibility](#memos-api-v2-Visibility) | | | ### CreateMemoResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | ### DeleteMemoReactionRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | reaction_id | [int32](#int32) | | | ### DeleteMemoReactionResponse ### DeleteMemoRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### DeleteMemoResponse ### ExportMemosRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | filter | [string](#string) | | Same as ListMemosRequest.filter | ### ExportMemosResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | content | [bytes](#bytes) | | | ### GetMemoByNameRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | ### GetMemoByNameResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | ### GetMemoRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### GetMemoResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | ### GetUserMemosStatsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | name is the name of the user to get stats for. Format: users/{username} | | timezone | [string](#string) | | timezone location Format: uses tz identifier https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | | filter | [string](#string) | | Same as ListMemosRequest.filter | ### GetUserMemosStatsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | stats | [GetUserMemosStatsResponse.StatsEntry](#memos-api-v2-GetUserMemosStatsResponse-StatsEntry) | repeated | stats is the stats of memo creating/updating activities. key is the year-month-day string. e.g. "2020-01-01". | ### GetUserMemosStatsResponse.StatsEntry | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | key | [string](#string) | | | | value | [int32](#int32) | | | ### ListMemoCommentsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### ListMemoCommentsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memos | [Memo](#memos-api-v2-Memo) | repeated | | ### ListMemoReactionsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### ListMemoReactionsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | reactions | [Reaction](#memos-api-v2-Reaction) | repeated | | ### ListMemoRelationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### ListMemoRelationsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | ### ListMemoResourcesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### ListMemoResourcesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | resources | [Resource](#memos-api-v2-Resource) | repeated | | ### ListMemosRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | page_size | [int32](#int32) | | The maximum number of memos to return. | | page_token | [string](#string) | | A page token, received from a previous `ListMemos` call. Provide this to retrieve the subsequent page. | | filter | [string](#string) | | Filter is used to filter memos returned in the list. Format: "creator == users/{username} && visibilities == ['PUBLIC', 'PROTECTED']" | ### ListMemosResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memos | [Memo](#memos-api-v2-Memo) | repeated | | | next_page_token | [string](#string) | | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | ### Memo | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the system generated unique identifier. | | name | [string](#string) | | name is the user provided name. | | row_status | [RowStatus](#memos-api-v2-RowStatus) | | | | creator | [string](#string) | | The name of the creator. Format: users/{username} | | creator_id | [int32](#int32) | | | | create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | update_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | display_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | content | [string](#string) | | | | visibility | [Visibility](#memos-api-v2-Visibility) | | | | pinned | [bool](#bool) | | | | parent_id | [int32](#int32) | optional | | | resources | [Resource](#memos-api-v2-Resource) | repeated | | | relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | | reactions | [Reaction](#memos-api-v2-Reaction) | repeated | | ### SetMemoRelationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | ### SetMemoRelationsResponse ### SetMemoResourcesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | resources | [Resource](#memos-api-v2-Resource) | repeated | | ### SetMemoResourcesResponse ### UpdateMemoRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateMemoResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | memo | [Memo](#memos-api-v2-Memo) | | | ### UpsertMemoReactionRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | reaction | [Reaction](#memos-api-v2-Reaction) | | | ### UpsertMemoReactionResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | reaction | [Reaction](#memos-api-v2-Reaction) | | | ### Visibility | Name | Number | Description | | ---- | ------ | ----------- | | VISIBILITY_UNSPECIFIED | 0 | | | PRIVATE | 1 | | | PROTECTED | 2 | | | PUBLIC | 3 | | ### MemoService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | CreateMemo | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) | CreateMemo creates a memo. | | ListMemos | [ListMemosRequest](#memos-api-v2-ListMemosRequest) | [ListMemosResponse](#memos-api-v2-ListMemosResponse) | ListMemos lists memos with pagination and filter. | | GetMemo | [GetMemoRequest](#memos-api-v2-GetMemoRequest) | [GetMemoResponse](#memos-api-v2-GetMemoResponse) | GetMemo gets a memo by id. | | GetMemoByName | [GetMemoByNameRequest](#memos-api-v2-GetMemoByNameRequest) | [GetMemoByNameResponse](#memos-api-v2-GetMemoByNameResponse) | GetMemoByName gets a memo by name. | | UpdateMemo | [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) | [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) | UpdateMemo updates a memo. | | DeleteMemo | [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) | [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) | DeleteMemo deletes a memo by id. | | ExportMemos | [ExportMemosRequest](#memos-api-v2-ExportMemosRequest) | [ExportMemosResponse](#memos-api-v2-ExportMemosResponse) | ExportMemos exports memos. | | SetMemoResources | [SetMemoResourcesRequest](#memos-api-v2-SetMemoResourcesRequest) | [SetMemoResourcesResponse](#memos-api-v2-SetMemoResourcesResponse) | SetMemoResources sets resources for a memo. | | ListMemoResources | [ListMemoResourcesRequest](#memos-api-v2-ListMemoResourcesRequest) | [ListMemoResourcesResponse](#memos-api-v2-ListMemoResourcesResponse) | ListMemoResources lists resources for a memo. | | SetMemoRelations | [SetMemoRelationsRequest](#memos-api-v2-SetMemoRelationsRequest) | [SetMemoRelationsResponse](#memos-api-v2-SetMemoRelationsResponse) | SetMemoRelations sets relations for a memo. | | ListMemoRelations | [ListMemoRelationsRequest](#memos-api-v2-ListMemoRelationsRequest) | [ListMemoRelationsResponse](#memos-api-v2-ListMemoRelationsResponse) | ListMemoRelations lists relations for a memo. | | CreateMemoComment | [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) | [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) | CreateMemoComment creates a comment for a memo. | | ListMemoComments | [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) | [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) | ListMemoComments lists comments for a memo. | | GetUserMemosStats | [GetUserMemosStatsRequest](#memos-api-v2-GetUserMemosStatsRequest) | [GetUserMemosStatsResponse](#memos-api-v2-GetUserMemosStatsResponse) | GetUserMemosStats gets stats of memos for a user. | | ListMemoReactions | [ListMemoReactionsRequest](#memos-api-v2-ListMemoReactionsRequest) | [ListMemoReactionsResponse](#memos-api-v2-ListMemoReactionsResponse) | ListMemoReactions lists reactions for a memo. | | UpsertMemoReaction | [UpsertMemoReactionRequest](#memos-api-v2-UpsertMemoReactionRequest) | [UpsertMemoReactionResponse](#memos-api-v2-UpsertMemoReactionResponse) | UpsertMemoReaction upserts a reaction for a memo. | | DeleteMemoReaction | [DeleteMemoReactionRequest](#memos-api-v2-DeleteMemoReactionRequest) | [DeleteMemoReactionResponse](#memos-api-v2-DeleteMemoReactionResponse) | DeleteMemoReaction deletes a reaction for a memo. | ## api/v2/tag_service.proto ### BatchUpsertTagRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | requests | [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) | repeated | | ### BatchUpsertTagResponse ### DeleteTagRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | tag | [Tag](#memos-api-v2-Tag) | | | ### DeleteTagResponse ### GetTagSuggestionsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [string](#string) | | The creator of tags. Format: users/{username} | ### GetTagSuggestionsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | tags | [string](#string) | repeated | | ### ListTagsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [string](#string) | | The creator of tags. Format: users/{username} | ### ListTagsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | tags | [Tag](#memos-api-v2-Tag) | repeated | | ### RenameTagRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [string](#string) | | The creator of tags. Format: users/{username} | | old_name | [string](#string) | | | | new_name | [string](#string) | | | ### RenameTagResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | tag | [Tag](#memos-api-v2-Tag) | | | ### Tag | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | | creator | [string](#string) | | The creator of tags. Format: users/{username} | ### UpsertTagRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | ### UpsertTagResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | tag | [Tag](#memos-api-v2-Tag) | | | ### TagService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | UpsertTag | [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) | [UpsertTagResponse](#memos-api-v2-UpsertTagResponse) | UpsertTag upserts a tag. | | BatchUpsertTag | [BatchUpsertTagRequest](#memos-api-v2-BatchUpsertTagRequest) | [BatchUpsertTagResponse](#memos-api-v2-BatchUpsertTagResponse) | BatchUpsertTag upserts multiple tags. | | ListTags | [ListTagsRequest](#memos-api-v2-ListTagsRequest) | [ListTagsResponse](#memos-api-v2-ListTagsResponse) | ListTags lists tags. | | RenameTag | [RenameTagRequest](#memos-api-v2-RenameTagRequest) | [RenameTagResponse](#memos-api-v2-RenameTagResponse) | RenameTag renames a tag. All related memos will be updated. | | DeleteTag | [DeleteTagRequest](#memos-api-v2-DeleteTagRequest) | [DeleteTagResponse](#memos-api-v2-DeleteTagResponse) | DeleteTag deletes a tag. | | GetTagSuggestions | [GetTagSuggestionsRequest](#memos-api-v2-GetTagSuggestionsRequest) | [GetTagSuggestionsResponse](#memos-api-v2-GetTagSuggestionsResponse) | GetTagSuggestions gets tag suggestions from the user's memos. | ## api/v2/webhook_service.proto ### CreateWebhookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | | url | [string](#string) | | | ### CreateWebhookResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | webhook | [Webhook](#memos-api-v2-Webhook) | | | ### DeleteWebhookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### DeleteWebhookResponse ### GetWebhookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### GetWebhookResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | webhook | [Webhook](#memos-api-v2-Webhook) | | | ### ListWebhooksRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | creator_id | [int32](#int32) | | | ### ListWebhooksResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | webhooks | [Webhook](#memos-api-v2-Webhook) | repeated | | ### UpdateWebhookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | webhook | [Webhook](#memos-api-v2-Webhook) | | | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateWebhookResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | webhook | [Webhook](#memos-api-v2-Webhook) | | | ### Webhook | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | creator_id | [int32](#int32) | | | | created_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | updated_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | | row_status | [RowStatus](#memos-api-v2-RowStatus) | | | | name | [string](#string) | | | | url | [string](#string) | | | ### WebhookService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | CreateWebhook | [CreateWebhookRequest](#memos-api-v2-CreateWebhookRequest) | [CreateWebhookResponse](#memos-api-v2-CreateWebhookResponse) | CreateWebhook creates a new webhook. | | GetWebhook | [GetWebhookRequest](#memos-api-v2-GetWebhookRequest) | [GetWebhookResponse](#memos-api-v2-GetWebhookResponse) | GetWebhook returns a webhook by id. | | ListWebhooks | [ListWebhooksRequest](#memos-api-v2-ListWebhooksRequest) | [ListWebhooksResponse](#memos-api-v2-ListWebhooksResponse) | ListWebhooks returns a list of webhooks. | | UpdateWebhook | [UpdateWebhookRequest](#memos-api-v2-UpdateWebhookRequest) | [UpdateWebhookResponse](#memos-api-v2-UpdateWebhookResponse) | UpdateWebhook updates a webhook. | | DeleteWebhook | [DeleteWebhookRequest](#memos-api-v2-DeleteWebhookRequest) | [DeleteWebhookResponse](#memos-api-v2-DeleteWebhookResponse) | DeleteWebhook deletes a webhook by id. | ## api/v2/workspace_service.proto ### GetWorkspaceProfileRequest ### GetWorkspaceProfileResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | | ### UpdateWorkspaceProfileRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | System info is the updated data. | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | ### UpdateWorkspaceProfileResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | | ### WorkspaceProfile | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | version | [string](#string) | | | | mode | [string](#string) | | | | allow_registration | [bool](#bool) | | | | disable_password_login | [bool](#bool) | | | | additional_script | [string](#string) | | | | additional_style | [string](#string) | | | ### WorkspaceService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | GetWorkspaceProfile | [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) | [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) | GetWorkspaceProfile returns the workspace profile. | | UpdateWorkspaceProfile | [UpdateWorkspaceProfileRequest](#memos-api-v2-UpdateWorkspaceProfileRequest) | [UpdateWorkspaceProfileResponse](#memos-api-v2-UpdateWorkspaceProfileResponse) | UpdateWorkspaceProfile updates the workspace profile. | ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | | ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | | double | | double | double | float | float64 | double | float | Float | | float | | float | float | float | float32 | float | float | Float | | int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | | uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | | uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | | sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | | fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | | fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | | sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | | bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | | string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | | bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |