# Protocol Documentation
< a name = "top" > < / a >
## 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 )
- [SearchUsersRequest ](#memos-api-v2-SearchUsersRequest )
- [SearchUsersResponse ](#memos-api-v2-SearchUsersResponse )
- [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/link_service.proto ](#api_v2_link_service-proto )
- [GetLinkMetadataRequest ](#memos-api-v2-GetLinkMetadataRequest )
- [GetLinkMetadataResponse ](#memos-api-v2-GetLinkMetadataResponse )
- [LinkMetadata ](#memos-api-v2-LinkMetadata )
- [LinkService ](#memos-api-v2-LinkService )
- [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 )
- [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 )
- [SearchResourcesRequest ](#memos-api-v2-SearchResourcesRequest )
- [SearchResourcesResponse ](#memos-api-v2-SearchResourcesResponse )
- [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 )
- [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 )
- [SearchMemosRequest ](#memos-api-v2-SearchMemosRequest )
- [SearchMemosResponse ](#memos-api-v2-SearchMemosResponse )
- [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 )
- [WorkspaceProfile ](#memos-api-v2-WorkspaceProfile )
- [WorkspaceService ](#memos-api-v2-WorkspaceService )
- [api/v2/workspace_setting_service.proto ](#api_v2_workspace_setting_service-proto )
- [GetWorkspaceSettingRequest ](#memos-api-v2-GetWorkspaceSettingRequest )
- [GetWorkspaceSettingResponse ](#memos-api-v2-GetWorkspaceSettingResponse )
- [SetWorkspaceSettingRequest ](#memos-api-v2-SetWorkspaceSettingRequest )
- [SetWorkspaceSettingResponse ](#memos-api-v2-SetWorkspaceSettingResponse )
- [WorkspaceGeneralSetting ](#memos-api-v2-WorkspaceGeneralSetting )
- [WorkspaceSetting ](#memos-api-v2-WorkspaceSetting )
- [WorkspaceSettingService ](#memos-api-v2-WorkspaceSettingService )
- [Scalar Value Types ](#scalar-value-types )
< a name = "api_v2_activity_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/activity_service.proto
< a name = "memos-api-v2-Activity" > < / a >
### 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 ) | | |
< a name = "memos-api-v2-ActivityMemoCommentPayload" > < / a >
### ActivityMemoCommentPayload
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo_id | [int32 ](#int32 ) | | |
| related_memo_id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-ActivityPayload" > < / a >
### ActivityPayload
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo_comment | [ActivityMemoCommentPayload ](#memos-api-v2-ActivityMemoCommentPayload ) | | |
| version_update | [ActivityVersionUpdatePayload ](#memos-api-v2-ActivityVersionUpdatePayload ) | | |
< a name = "memos-api-v2-ActivityVersionUpdatePayload" > < / a >
### ActivityVersionUpdatePayload
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| version | [string ](#string ) | | |
< a name = "memos-api-v2-GetActivityRequest" > < / a >
### GetActivityRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-GetActivityResponse" > < / a >
### GetActivityResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| activity | [Activity ](#memos-api-v2-Activity ) | | |
< a name = "memos-api-v2-ActivityService" > < / a >
### 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. |
< a name = "api_v2_common-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/common.proto
< a name = "memos-api-v2-PageToken" > < / a >
### PageToken
Used internally for obfuscating the page token.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| limit | [int32 ](#int32 ) | | |
| offset | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-RowStatus" > < / a >
### RowStatus
| Name | Number | Description |
| ---- | ------ | ----------- |
| ROW_STATUS_UNSPECIFIED | 0 | |
| ACTIVE | 1 | |
| ARCHIVED | 2 | |
< a name = "api_v2_user_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/user_service.proto
< a name = "memos-api-v2-CreateUserAccessTokenRequest" > < / a >
### CreateUserAccessTokenRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
| description | [string ](#string ) | | |
| expires_at | [google.protobuf.Timestamp ](#google-protobuf-Timestamp ) | optional | |
< a name = "memos-api-v2-CreateUserAccessTokenResponse" > < / a >
### CreateUserAccessTokenResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_token | [UserAccessToken ](#memos-api-v2-UserAccessToken ) | | |
< a name = "memos-api-v2-CreateUserRequest" > < / a >
### CreateUserRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-CreateUserResponse" > < / a >
### CreateUserResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-DeleteUserAccessTokenRequest" > < / a >
### DeleteUserAccessTokenRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
| access_token | [string ](#string ) | | access_token is the access token to delete. |
< a name = "memos-api-v2-DeleteUserAccessTokenResponse" > < / a >
### DeleteUserAccessTokenResponse
< a name = "memos-api-v2-DeleteUserRequest" > < / a >
### DeleteUserRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
< a name = "memos-api-v2-DeleteUserResponse" > < / a >
### DeleteUserResponse
< a name = "memos-api-v2-GetUserRequest" > < / a >
### GetUserRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
< a name = "memos-api-v2-GetUserResponse" > < / a >
### GetUserResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-GetUserSettingRequest" > < / a >
### GetUserSettingRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
< a name = "memos-api-v2-GetUserSettingResponse" > < / a >
### GetUserSettingResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [UserSetting ](#memos-api-v2-UserSetting ) | | |
< a name = "memos-api-v2-ListUserAccessTokensRequest" > < / a >
### ListUserAccessTokensRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
< a name = "memos-api-v2-ListUserAccessTokensResponse" > < / a >
### ListUserAccessTokensResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_tokens | [UserAccessToken ](#memos-api-v2-UserAccessToken ) | repeated | |
< a name = "memos-api-v2-ListUsersRequest" > < / a >
### ListUsersRequest
< a name = "memos-api-v2-ListUsersResponse" > < / a >
### ListUsersResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| users | [User ](#memos-api-v2-User ) | repeated | |
< a name = "memos-api-v2-SearchUsersRequest" > < / a >
### SearchUsersRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| filter | [string ](#string ) | | Filter is used to filter users returned in the list. Format: " username == frank" |
< a name = "memos-api-v2-SearchUsersResponse" > < / a >
### SearchUsersResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| users | [User ](#memos-api-v2-User ) | repeated | |
< a name = "memos-api-v2-UpdateUserRequest" > < / a >
### UpdateUserRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateUserResponse" > < / a >
### UpdateUserResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-UpdateUserSettingRequest" > < / a >
### UpdateUserSettingRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [UserSetting ](#memos-api-v2-UserSetting ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateUserSettingResponse" > < / a >
### UpdateUserSettingResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [UserSetting ](#memos-api-v2-UserSetting ) | | |
< a name = "memos-api-v2-User" > < / a >
### User
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
| id | [int32 ](#int32 ) | | The system generated uid of the user. |
| role | [User.Role ](#memos-api-v2-User-Role ) | | |
| username | [string ](#string ) | | |
| email | [string ](#string ) | | |
| nickname | [string ](#string ) | | |
| avatar_url | [string ](#string ) | | |
| description | [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 ) | | |
< a name = "memos-api-v2-UserAccessToken" > < / a >
### 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 ) | | |
< a name = "memos-api-v2-UserSetting" > < / a >
### UserSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the user. Format: users/{id} |
| 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. |
< a name = "memos-api-v2-User-Role" > < / a >
### User.Role
| Name | Number | Description |
| ---- | ------ | ----------- |
| ROLE_UNSPECIFIED | 0 | |
| HOST | 1 | |
| ADMIN | 2 | |
| USER | 3 | |
< a name = "memos-api-v2-UserService" > < / a >
### 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. |
| SearchUsers | [SearchUsersRequest ](#memos-api-v2-SearchUsersRequest ) | [SearchUsersResponse ](#memos-api-v2-SearchUsersResponse ) | SearchUsers searches users by filter. |
| 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. |
< a name = "api_v2_auth_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/auth_service.proto
< a name = "memos-api-v2-GetAuthStatusRequest" > < / a >
### GetAuthStatusRequest
< a name = "memos-api-v2-GetAuthStatusResponse" > < / a >
### GetAuthStatusResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-SignInRequest" > < / a >
### SignInRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| username | [string ](#string ) | | |
| password | [string ](#string ) | | |
| never_expire | [bool ](#bool ) | | |
< a name = "memos-api-v2-SignInResponse" > < / a >
### SignInResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-SignInWithSSORequest" > < / a >
### SignInWithSSORequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| idp_id | [int32 ](#int32 ) | | |
| code | [string ](#string ) | | |
| redirect_uri | [string ](#string ) | | |
< a name = "memos-api-v2-SignInWithSSOResponse" > < / a >
### SignInWithSSOResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-SignOutRequest" > < / a >
### SignOutRequest
< a name = "memos-api-v2-SignOutResponse" > < / a >
### SignOutResponse
< a name = "memos-api-v2-SignUpRequest" > < / a >
### SignUpRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| username | [string ](#string ) | | |
| password | [string ](#string ) | | |
< a name = "memos-api-v2-SignUpResponse" > < / a >
### SignUpResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [User ](#memos-api-v2-User ) | | |
< a name = "memos-api-v2-AuthService" > < / a >
### 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. |
< a name = "api_v2_inbox_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/inbox_service.proto
< a name = "memos-api-v2-DeleteInboxRequest" > < / a >
### DeleteInboxRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the inbox to delete. Format: inboxes/{uid} |
< a name = "memos-api-v2-DeleteInboxResponse" > < / a >
### DeleteInboxResponse
< a name = "memos-api-v2-Inbox" > < / a >
### 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 | |
< a name = "memos-api-v2-ListInboxesRequest" > < / a >
### ListInboxesRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [string ](#string ) | | Format: users/{username} |
< a name = "memos-api-v2-ListInboxesResponse" > < / a >
### ListInboxesResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| inboxes | [Inbox ](#memos-api-v2-Inbox ) | repeated | |
< a name = "memos-api-v2-UpdateInboxRequest" > < / a >
### UpdateInboxRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| inbox | [Inbox ](#memos-api-v2-Inbox ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateInboxResponse" > < / a >
### UpdateInboxResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| inbox | [Inbox ](#memos-api-v2-Inbox ) | | |
< a name = "memos-api-v2-Inbox-Status" > < / a >
### Inbox.Status
| Name | Number | Description |
| ---- | ------ | ----------- |
| STATUS_UNSPECIFIED | 0 | |
| UNREAD | 1 | |
| ARCHIVED | 2 | |
< a name = "memos-api-v2-Inbox-Type" > < / a >
### Inbox.Type
| Name | Number | Description |
| ---- | ------ | ----------- |
| TYPE_UNSPECIFIED | 0 | |
| TYPE_MEMO_COMMENT | 1 | |
| TYPE_VERSION_UPDATE | 2 | |
< a name = "memos-api-v2-InboxService" > < / a >
### 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. |
< a name = "api_v2_link_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/link_service.proto
< a name = "memos-api-v2-GetLinkMetadataRequest" > < / a >
### GetLinkMetadataRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| link | [string ](#string ) | | |
< a name = "memos-api-v2-GetLinkMetadataResponse" > < / a >
### GetLinkMetadataResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| link_metadata | [LinkMetadata ](#memos-api-v2-LinkMetadata ) | | |
< a name = "memos-api-v2-LinkMetadata" > < / a >
### LinkMetadata
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| title | [string ](#string ) | | |
| description | [string ](#string ) | | |
| image | [string ](#string ) | | |
< a name = "memos-api-v2-LinkService" > < / a >
### LinkService
| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| GetLinkMetadata | [GetLinkMetadataRequest ](#memos-api-v2-GetLinkMetadataRequest ) | [GetLinkMetadataResponse ](#memos-api-v2-GetLinkMetadataResponse ) | |
< a name = "api_v2_memo_relation_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/memo_relation_service.proto
< a name = "memos-api-v2-MemoRelation" > < / a >
### MemoRelation
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [string ](#string ) | | The name of memo. Format: " memos/{uid}" |
| related_memo | [string ](#string ) | | The name of related memo. Format: " memos/{uid}" |
| type | [MemoRelation.Type ](#memos-api-v2-MemoRelation-Type ) | | |
< a name = "memos-api-v2-MemoRelation-Type" > < / a >
### MemoRelation.Type
| Name | Number | Description |
| ---- | ------ | ----------- |
| TYPE_UNSPECIFIED | 0 | |
| REFERENCE | 1 | |
| COMMENT | 2 | |
< a name = "api_v2_reaction_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/reaction_service.proto
< a name = "memos-api-v2-Reaction" > < / a >
### Reaction
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [int32 ](#int32 ) | | |
| creator | [string ](#string ) | | The name of the creator. Format: users/{id} |
| content_id | [string ](#string ) | | |
| reaction_type | [Reaction.Type ](#memos-api-v2-Reaction-Type ) | | |
< a name = "memos-api-v2-Reaction-Type" > < / a >
### 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 | |
< a name = "api_v2_resource_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/resource_service.proto
< a name = "memos-api-v2-CreateResourceRequest" > < / a >
### CreateResourceRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| filename | [string ](#string ) | | |
| external_link | [string ](#string ) | | |
| type | [string ](#string ) | | |
| memo_id | [int32 ](#int32 ) | optional | |
< a name = "memos-api-v2-CreateResourceResponse" > < / a >
### CreateResourceResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resource | [Resource ](#memos-api-v2-Resource ) | | |
< a name = "memos-api-v2-DeleteResourceRequest" > < / a >
### DeleteResourceRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | |
< a name = "memos-api-v2-DeleteResourceResponse" > < / a >
### DeleteResourceResponse
< a name = "memos-api-v2-GetResourceRequest" > < / a >
### GetResourceRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | |
< a name = "memos-api-v2-GetResourceResponse" > < / a >
### GetResourceResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resource | [Resource ](#memos-api-v2-Resource ) | | |
< a name = "memos-api-v2-ListResourcesRequest" > < / a >
### ListResourcesRequest
< a name = "memos-api-v2-ListResourcesResponse" > < / a >
### ListResourcesResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resources | [Resource ](#memos-api-v2-Resource ) | repeated | |
< a name = "memos-api-v2-Resource" > < / a >
### Resource
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the resource. Format: resources/{id} id is the system generated unique identifier. |
| uid | [string ](#string ) | | The user defined id of the resource. |
| 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 | |
< a name = "memos-api-v2-SearchResourcesRequest" > < / a >
### SearchResourcesRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| filter | [string ](#string ) | | |
< a name = "memos-api-v2-SearchResourcesResponse" > < / a >
### SearchResourcesResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resources | [Resource ](#memos-api-v2-Resource ) | repeated | |
< a name = "memos-api-v2-UpdateResourceRequest" > < / a >
### UpdateResourceRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resource | [Resource ](#memos-api-v2-Resource ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateResourceResponse" > < / a >
### UpdateResourceResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resource | [Resource ](#memos-api-v2-Resource ) | | |
< a name = "memos-api-v2-ResourceService" > < / a >
### 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. |
| SearchResources | [SearchResourcesRequest ](#memos-api-v2-SearchResourcesRequest ) | [SearchResourcesResponse ](#memos-api-v2-SearchResourcesResponse ) | SearchResources searches memos. |
| GetResource | [GetResourceRequest ](#memos-api-v2-GetResourceRequest ) | [GetResourceResponse ](#memos-api-v2-GetResourceResponse ) | GetResource 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 name. |
< a name = "api_v2_memo_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/memo_service.proto
< a name = "memos-api-v2-CreateMemoCommentRequest" > < / a >
### CreateMemoCommentRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
| comment | [CreateMemoRequest ](#memos-api-v2-CreateMemoRequest ) | | |
< a name = "memos-api-v2-CreateMemoCommentResponse" > < / a >
### CreateMemoCommentResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [Memo ](#memos-api-v2-Memo ) | | |
< a name = "memos-api-v2-CreateMemoRequest" > < / a >
### CreateMemoRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| content | [string ](#string ) | | |
| visibility | [Visibility ](#memos-api-v2-Visibility ) | | |
< a name = "memos-api-v2-CreateMemoResponse" > < / a >
### CreateMemoResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [Memo ](#memos-api-v2-Memo ) | | |
< a name = "memos-api-v2-DeleteMemoReactionRequest" > < / a >
### DeleteMemoReactionRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
| reaction_id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-DeleteMemoReactionResponse" > < / a >
### DeleteMemoReactionResponse
< a name = "memos-api-v2-DeleteMemoRequest" > < / a >
### DeleteMemoRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-DeleteMemoResponse" > < / a >
### DeleteMemoResponse
< a name = "memos-api-v2-ExportMemosRequest" > < / a >
### ExportMemosRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| filter | [string ](#string ) | | Same as ListMemosRequest.filter |
< a name = "memos-api-v2-ExportMemosResponse" > < / a >
### ExportMemosResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| content | [bytes ](#bytes ) | | |
< a name = "memos-api-v2-GetMemoRequest" > < / a >
### GetMemoRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-GetMemoResponse" > < / a >
### GetMemoResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [Memo ](#memos-api-v2-Memo ) | | |
< a name = "memos-api-v2-GetUserMemosStatsRequest" > < / a >
### GetUserMemosStatsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | name is the name of the user to get stats for. Format: users/{id} |
| 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 |
< a name = "memos-api-v2-GetUserMemosStatsResponse" > < / a >
### 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" . |
< a name = "memos-api-v2-GetUserMemosStatsResponse-StatsEntry" > < / a >
### GetUserMemosStatsResponse.StatsEntry
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| key | [string ](#string ) | | |
| value | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-ListMemoCommentsRequest" > < / a >
### ListMemoCommentsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-ListMemoCommentsResponse" > < / a >
### ListMemoCommentsResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memos | [Memo ](#memos-api-v2-Memo ) | repeated | |
< a name = "memos-api-v2-ListMemoReactionsRequest" > < / a >
### ListMemoReactionsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-ListMemoReactionsResponse" > < / a >
### ListMemoReactionsResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| reactions | [Reaction ](#memos-api-v2-Reaction ) | repeated | |
< a name = "memos-api-v2-ListMemoRelationsRequest" > < / a >
### ListMemoRelationsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-ListMemoRelationsResponse" > < / a >
### ListMemoRelationsResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| relations | [MemoRelation ](#memos-api-v2-MemoRelation ) | repeated | |
< a name = "memos-api-v2-ListMemoResourcesRequest" > < / a >
### ListMemoResourcesRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
< a name = "memos-api-v2-ListMemoResourcesResponse" > < / a >
### ListMemoResourcesResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resources | [Resource ](#memos-api-v2-Resource ) | repeated | |
< a name = "memos-api-v2-ListMemosRequest" > < / a >
### 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/{uid} && visibilities == [' PUBLIC' , ' PROTECTED' ]" |
< a name = "memos-api-v2-ListMemosResponse" > < / a >
### 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. |
< a name = "memos-api-v2-Memo" > < / a >
### Memo
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} id is the system generated id. |
| uid | [string ](#string ) | | The user defined id of the memo. |
| row_status | [RowStatus ](#memos-api-v2-RowStatus ) | | |
| creator | [string ](#string ) | | The name of the creator. Format: users/{id} |
| 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 | |
< a name = "memos-api-v2-SearchMemosRequest" > < / a >
### SearchMemosRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| filter | [string ](#string ) | | Filter is used to filter memos returned. Format: " creator == users/{uid} && visibilities == [' PUBLIC' , ' PROTECTED' ]" |
< a name = "memos-api-v2-SearchMemosResponse" > < / a >
### SearchMemosResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memos | [Memo ](#memos-api-v2-Memo ) | repeated | |
< a name = "memos-api-v2-SetMemoRelationsRequest" > < / a >
### SetMemoRelationsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
| relations | [MemoRelation ](#memos-api-v2-MemoRelation ) | repeated | |
< a name = "memos-api-v2-SetMemoRelationsResponse" > < / a >
### SetMemoRelationsResponse
< a name = "memos-api-v2-SetMemoResourcesRequest" > < / a >
### SetMemoResourcesRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
| resources | [Resource ](#memos-api-v2-Resource ) | repeated | |
< a name = "memos-api-v2-SetMemoResourcesResponse" > < / a >
### SetMemoResourcesResponse
< a name = "memos-api-v2-UpdateMemoRequest" > < / a >
### UpdateMemoRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [Memo ](#memos-api-v2-Memo ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateMemoResponse" > < / a >
### UpdateMemoResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| memo | [Memo ](#memos-api-v2-Memo ) | | |
< a name = "memos-api-v2-UpsertMemoReactionRequest" > < / a >
### UpsertMemoReactionRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The name of the memo. Format: memos/{id} |
| reaction | [Reaction ](#memos-api-v2-Reaction ) | | |
< a name = "memos-api-v2-UpsertMemoReactionResponse" > < / a >
### UpsertMemoReactionResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| reaction | [Reaction ](#memos-api-v2-Reaction ) | | |
< a name = "memos-api-v2-Visibility" > < / a >
### Visibility
| Name | Number | Description |
| ---- | ------ | ----------- |
| VISIBILITY_UNSPECIFIED | 0 | |
| PRIVATE | 1 | |
| PROTECTED | 2 | |
| PUBLIC | 3 | |
< a name = "memos-api-v2-MemoService" > < / a >
### 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. |
| SearchMemos | [SearchMemosRequest ](#memos-api-v2-SearchMemosRequest ) | [SearchMemosResponse ](#memos-api-v2-SearchMemosResponse ) | SearchMemos searches memos. |
| GetMemo | [GetMemoRequest ](#memos-api-v2-GetMemoRequest ) | [GetMemoResponse ](#memos-api-v2-GetMemoResponse ) | GetMemo gets a memo. |
| 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. |
| 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. |
< a name = "api_v2_tag_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/tag_service.proto
< a name = "memos-api-v2-BatchUpsertTagRequest" > < / a >
### BatchUpsertTagRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| requests | [UpsertTagRequest ](#memos-api-v2-UpsertTagRequest ) | repeated | |
< a name = "memos-api-v2-BatchUpsertTagResponse" > < / a >
### BatchUpsertTagResponse
< a name = "memos-api-v2-DeleteTagRequest" > < / a >
### DeleteTagRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| tag | [Tag ](#memos-api-v2-Tag ) | | |
< a name = "memos-api-v2-DeleteTagResponse" > < / a >
### DeleteTagResponse
< a name = "memos-api-v2-GetTagSuggestionsRequest" > < / a >
### GetTagSuggestionsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [string ](#string ) | | The creator of tags. Format: users/{id} |
< a name = "memos-api-v2-GetTagSuggestionsResponse" > < / a >
### GetTagSuggestionsResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| tags | [string ](#string ) | repeated | |
< a name = "memos-api-v2-ListTagsRequest" > < / a >
### ListTagsRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [string ](#string ) | | The creator of tags. Format: users/{id} |
< a name = "memos-api-v2-ListTagsResponse" > < / a >
### ListTagsResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| tags | [Tag ](#memos-api-v2-Tag ) | repeated | |
< a name = "memos-api-v2-RenameTagRequest" > < / a >
### RenameTagRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| user | [string ](#string ) | | The creator of tags. Format: users/{id} |
| old_name | [string ](#string ) | | |
| new_name | [string ](#string ) | | |
< a name = "memos-api-v2-RenameTagResponse" > < / a >
### RenameTagResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| tag | [Tag ](#memos-api-v2-Tag ) | | |
< a name = "memos-api-v2-Tag" > < / a >
### Tag
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | |
| creator | [string ](#string ) | | The creator of tags. Format: users/{id} |
< a name = "memos-api-v2-UpsertTagRequest" > < / a >
### UpsertTagRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | |
< a name = "memos-api-v2-UpsertTagResponse" > < / a >
### UpsertTagResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| tag | [Tag ](#memos-api-v2-Tag ) | | |
< a name = "memos-api-v2-TagService" > < / a >
### 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. |
< a name = "api_v2_webhook_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/webhook_service.proto
< a name = "memos-api-v2-CreateWebhookRequest" > < / a >
### CreateWebhookRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | |
| url | [string ](#string ) | | |
< a name = "memos-api-v2-CreateWebhookResponse" > < / a >
### CreateWebhookResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| webhook | [Webhook ](#memos-api-v2-Webhook ) | | |
< a name = "memos-api-v2-DeleteWebhookRequest" > < / a >
### DeleteWebhookRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-DeleteWebhookResponse" > < / a >
### DeleteWebhookResponse
< a name = "memos-api-v2-GetWebhookRequest" > < / a >
### GetWebhookRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-GetWebhookResponse" > < / a >
### GetWebhookResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| webhook | [Webhook ](#memos-api-v2-Webhook ) | | |
< a name = "memos-api-v2-ListWebhooksRequest" > < / a >
### ListWebhooksRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| creator_id | [int32 ](#int32 ) | | |
< a name = "memos-api-v2-ListWebhooksResponse" > < / a >
### ListWebhooksResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| webhooks | [Webhook ](#memos-api-v2-Webhook ) | repeated | |
< a name = "memos-api-v2-UpdateWebhookRequest" > < / a >
### UpdateWebhookRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| webhook | [Webhook ](#memos-api-v2-Webhook ) | | |
| update_mask | [google.protobuf.FieldMask ](#google-protobuf-FieldMask ) | | |
< a name = "memos-api-v2-UpdateWebhookResponse" > < / a >
### UpdateWebhookResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| webhook | [Webhook ](#memos-api-v2-Webhook ) | | |
< a name = "memos-api-v2-Webhook" > < / a >
### 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 ) | | |
< a name = "memos-api-v2-WebhookService" > < / a >
### 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. |
< a name = "api_v2_workspace_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/workspace_service.proto
< a name = "memos-api-v2-GetWorkspaceProfileRequest" > < / a >
### GetWorkspaceProfileRequest
< a name = "memos-api-v2-GetWorkspaceProfileResponse" > < / a >
### GetWorkspaceProfileResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| workspace_profile | [WorkspaceProfile ](#memos-api-v2-WorkspaceProfile ) | | |
< a name = "memos-api-v2-WorkspaceProfile" > < / a >
### WorkspaceProfile
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| owner | [string ](#string ) | | The name of intance owner. Format: " users/{id}" |
| version | [string ](#string ) | | version is the current version of instance |
| mode | [string ](#string ) | | mode is the instance mode (e.g. " prod" , " dev" or " demo" ). |
| disallow_signup | [bool ](#bool ) | | disallow_signup is whether the signup is disallowed. |
| disable_password_login | [bool ](#bool ) | | disable_password_login is whether the password login is disabled. |
| additional_script | [string ](#string ) | | additional_script is the additional script. |
| additional_style | [string ](#string ) | | additional_style is the additional style. |
< a name = "memos-api-v2-WorkspaceService" > < / a >
### WorkspaceService
| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| GetWorkspaceProfile | [GetWorkspaceProfileRequest ](#memos-api-v2-GetWorkspaceProfileRequest ) | [GetWorkspaceProfileResponse ](#memos-api-v2-GetWorkspaceProfileResponse ) | GetWorkspaceProfile returns the workspace profile. |
< a name = "api_v2_workspace_setting_service-proto" > < / a >
< p align = "right" > < a href = "#top" > Top< / a > < / p >
## api/v2/workspace_setting_service.proto
< a name = "memos-api-v2-GetWorkspaceSettingRequest" > < / a >
### GetWorkspaceSettingRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | The resource name of the workspace setting. Format: settings/{setting} |
< a name = "memos-api-v2-GetWorkspaceSettingResponse" > < / a >
### GetWorkspaceSettingResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [WorkspaceSetting ](#memos-api-v2-WorkspaceSetting ) | | |
< a name = "memos-api-v2-SetWorkspaceSettingRequest" > < / a >
### SetWorkspaceSettingRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [WorkspaceSetting ](#memos-api-v2-WorkspaceSetting ) | | setting is the setting to update. |
< a name = "memos-api-v2-SetWorkspaceSettingResponse" > < / a >
### SetWorkspaceSettingResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| setting | [WorkspaceSetting ](#memos-api-v2-WorkspaceSetting ) | | |
< a name = "memos-api-v2-WorkspaceGeneralSetting" > < / a >
### WorkspaceGeneralSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| instance_url | [string ](#string ) | | instance_url is the instance URL. |
| disallow_signup | [bool ](#bool ) | | disallow_signup is the flag to disallow signup. |
| disallow_password_login | [bool ](#bool ) | | disallow_password_login is the flag to disallow password login. |
| additional_script | [string ](#string ) | | additional_script is the additional script. |
| additional_style | [string ](#string ) | | additional_style is the additional style. |
< a name = "memos-api-v2-WorkspaceSetting" > < / a >
### WorkspaceSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name | [string ](#string ) | | name is the name of the setting. Format: settings/{setting} |
| general_setting | [WorkspaceGeneralSetting ](#memos-api-v2-WorkspaceGeneralSetting ) | | general_setting is the general setting of workspace. |
< a name = "memos-api-v2-WorkspaceSettingService" > < / a >
### WorkspaceSettingService
| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| GetWorkspaceSetting | [GetWorkspaceSettingRequest ](#memos-api-v2-GetWorkspaceSettingRequest ) | [GetWorkspaceSettingResponse ](#memos-api-v2-GetWorkspaceSettingResponse ) | GetWorkspaceSetting returns the setting by name. |
| SetWorkspaceSetting | [SetWorkspaceSettingRequest ](#memos-api-v2-SetWorkspaceSettingRequest ) | [SetWorkspaceSettingResponse ](#memos-api-v2-SetWorkspaceSettingResponse ) | SetWorkspaceSetting updates the setting. |
## Scalar Value Types
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- |
| < a name = "double" / > double | | double | double | float | float64 | double | float | Float |
| < a name = "float" / > float | | float | float | float | float32 | float | float | Float |
| < a name = "int32" / > 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) |
| < a name = "int64" / > 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 |
| < a name = "uint32" / > uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| < a name = "uint64" / > uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| < a name = "sint32" / > 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) |
| < a name = "sint64" / > 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 |
| < a name = "fixed32" / > 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) |
| < a name = "fixed64" / > 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 |
| < a name = "sfixed32" / > sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| < a name = "sfixed64" / > sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| < a name = "bool" / > bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
| < a name = "string" / > string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| < a name = "bytes" / > bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |