memos/proto/gen/api/v2/README.md
2024-02-09 21:59:45 +08:00

58 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

api/v2/activity_service.proto

Activity

Field Type Label Description
id int32
creator_id int32
type string
level string
create_time google.protobuf.Timestamp
payload ActivityPayload

ActivityMemoCommentPayload

Field Type Label Description
memo_id int32
related_memo_id int32

ActivityPayload

Field Type Label Description
memo_comment ActivityMemoCommentPayload
version_update ActivityVersionUpdatePayload

ActivityVersionUpdatePayload

Field Type Label Description
version string

GetActivityRequest

Field Type Label Description
id int32

GetActivityResponse

Field Type Label Description
activity Activity

ActivityService

Method Name Request Type Response Type Description
GetActivity GetActivityRequest GetActivityResponse GetActivity returns the activity with the given id.

Top

api/v2/common.proto

PageToken

Used internally for obfuscating the page token.

Field Type Label Description
limit int32
offset int32

RowStatus

Name Number Description
ROW_STATUS_UNSPECIFIED 0
ACTIVE 1
ARCHIVED 2

Top

api/v2/user_service.proto

CreateUserAccessTokenRequest

Field Type Label Description
name string The name of the user. Format: users/{username}
description string
expires_at google.protobuf.Timestamp optional

CreateUserAccessTokenResponse

Field Type Label Description
access_token UserAccessToken

CreateUserRequest

Field Type Label Description
user User

CreateUserResponse

Field Type Label Description
user User

DeleteUserAccessTokenRequest

Field Type Label Description
name string The name of the user. Format: users/{username}
access_token string access_token is the access token to delete.

DeleteUserAccessTokenResponse

DeleteUserRequest

Field Type Label Description
name string The name of the user. Format: users/{username}

DeleteUserResponse

GetUserRequest

Field Type Label Description
name string The name of the user. Format: users/{username}

GetUserResponse

Field Type Label Description
user User

GetUserSettingRequest

Field Type Label Description
name string The name of the user. Format: users/{username}

GetUserSettingResponse

Field Type Label Description
setting UserSetting

ListUserAccessTokensRequest

Field Type Label Description
name string The name of the user. Format: users/{username}

ListUserAccessTokensResponse

Field Type Label Description
access_tokens UserAccessToken repeated

ListUsersRequest

ListUsersResponse

Field Type Label Description
users User repeated

UpdateUserRequest

Field Type Label Description
user User
update_mask google.protobuf.FieldMask

UpdateUserResponse

Field Type Label Description
user User

UpdateUserSettingRequest

Field Type Label Description
setting UserSetting
update_mask google.protobuf.FieldMask

UpdateUserSettingResponse

Field Type Label Description
setting UserSetting

User

Field Type Label Description
name string The name of the user. Format: users/{username}
id int32
role User.Role
username string
email string
nickname string
avatar_url string
password string
row_status RowStatus
create_time google.protobuf.Timestamp
update_time google.protobuf.Timestamp

UserAccessToken

Field Type Label Description
access_token string
description string
issued_at google.protobuf.Timestamp
expires_at google.protobuf.Timestamp

UserSetting

Field Type Label Description
name string The name of the user. Format: users/{username}
locale string The preferred locale of the user.
appearance string The preferred appearance of the user.
memo_visibility string The default visibility of the memo.
telegram_user_id string The telegram user id of the user.
compact_view 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 ListUsersResponse ListUsers returns a list of users.
GetUser GetUserRequest GetUserResponse GetUser gets a user by name.
CreateUser CreateUserRequest CreateUserResponse CreateUser creates a new user.
UpdateUser UpdateUserRequest UpdateUserResponse UpdateUser updates a user.
DeleteUser DeleteUserRequest DeleteUserResponse DeleteUser deletes a user.
GetUserSetting GetUserSettingRequest GetUserSettingResponse GetUserSetting gets the setting of a user.
UpdateUserSetting UpdateUserSettingRequest UpdateUserSettingResponse UpdateUserSetting updates the setting of a user.
ListUserAccessTokens ListUserAccessTokensRequest ListUserAccessTokensResponse ListUserAccessTokens returns a list of access tokens for a user.
CreateUserAccessToken CreateUserAccessTokenRequest CreateUserAccessTokenResponse CreateUserAccessToken creates a new access token for a user.
DeleteUserAccessToken DeleteUserAccessTokenRequest DeleteUserAccessTokenResponse DeleteUserAccessToken deletes an access token for a user.

Top

api/v2/auth_service.proto

GetAuthStatusRequest

GetAuthStatusResponse

Field Type Label Description
user User

SignInRequest

Field Type Label Description
username string
password string
never_expire bool

SignInResponse

Field Type Label Description
user User

SignInWithSSORequest

Field Type Label Description
idp_id int32
code string
redirect_uri string

SignInWithSSOResponse

Field Type Label Description
user User

SignOutRequest

SignOutResponse

SignUpRequest

Field Type Label Description
username string
password string

SignUpResponse

Field Type Label Description
user User

AuthService

Method Name Request Type Response Type Description
GetAuthStatus GetAuthStatusRequest GetAuthStatusResponse GetAuthStatus returns the current auth status of the user.
SignIn SignInRequest SignInResponse SignIn signs in the user with the given username and password.
SignInWithSSO SignInWithSSORequest SignInWithSSOResponse SignInWithSSO signs in the user with the given SSO code.
SignUp SignUpRequest SignUpResponse SignUp signs up the user with the given username and password.
SignOut SignOutRequest SignOutResponse SignOut signs out the user.

Top

api/v2/inbox_service.proto

DeleteInboxRequest

Field Type Label Description
name string The name of the inbox to delete. Format: inboxes/{uid}

DeleteInboxResponse

Inbox

Field Type Label Description
name string The name of the inbox. Format: inboxes/{uid}
sender string Format: users/{username}
receiver string Format: users/{username}
status Inbox.Status
create_time google.protobuf.Timestamp
type Inbox.Type
activity_id int32 optional

ListInboxesRequest

Field Type Label Description
user string Format: users/{username}

ListInboxesResponse

Field Type Label Description
inboxes Inbox repeated

UpdateInboxRequest

Field Type Label Description
inbox Inbox
update_mask google.protobuf.FieldMask

UpdateInboxResponse

Field Type Label Description
inbox 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 ListInboxesResponse ListInboxes lists inboxes for a user.
UpdateInbox UpdateInboxRequest UpdateInboxResponse UpdateInbox updates an inbox.
DeleteInbox DeleteInboxRequest DeleteInboxResponse DeleteInbox deletes an inbox.

Top

api/v2/memo_relation_service.proto

MemoRelation

Field Type Label Description
memo_id int32
related_memo_id int32
type MemoRelation.Type

MemoRelation.Type

Name Number Description
TYPE_UNSPECIFIED 0
REFERENCE 1
COMMENT 2

Top

api/v2/reaction_service.proto

Reaction

Field Type Label Description
id int32
creator string
content_id string
reaction_type 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

Top

api/v2/resource_service.proto

CreateResourceRequest

Field Type Label Description
filename string
external_link string
type string
memo_id int32 optional

CreateResourceResponse

Field Type Label Description
resource Resource

DeleteResourceRequest

Field Type Label Description
id int32

DeleteResourceResponse

GetResourceByNameRequest

Field Type Label Description
name string

GetResourceByNameResponse

Field Type Label Description
resource Resource

GetResourceRequest

Field Type Label Description
id int32

GetResourceResponse

Field Type Label Description
resource Resource

ListResourcesRequest

ListResourcesResponse

Field Type Label Description
resources Resource repeated

Resource

Field Type Label Description
id int32 id is the system generated unique identifier.
name string name is the user provided name.
create_time google.protobuf.Timestamp
filename string
external_link string
type string
size int64
memo_id int32 optional

UpdateResourceRequest

Field Type Label Description
resource Resource
update_mask google.protobuf.FieldMask

UpdateResourceResponse

Field Type Label Description
resource Resource

ResourceService

Method Name Request Type Response Type Description
CreateResource CreateResourceRequest CreateResourceResponse CreateResource creates a new resource.
ListResources ListResourcesRequest ListResourcesResponse ListResources lists all resources.
GetResource GetResourceRequest GetResourceResponse GetResource returns a resource by id.
GetResourceByName GetResourceByNameRequest GetResourceByNameResponse GetResourceByName returns a resource by name.
UpdateResource UpdateResourceRequest UpdateResourceResponse UpdateResource updates a resource.
DeleteResource DeleteResourceRequest DeleteResourceResponse DeleteResource deletes a resource by id.

Top

api/v2/memo_service.proto

CreateMemoCommentRequest

Field Type Label Description
id int32 id is the memo id to create comment for.
create CreateMemoRequest

CreateMemoCommentResponse

Field Type Label Description
memo Memo

CreateMemoRequest

Field Type Label Description
content string
visibility Visibility

CreateMemoResponse

Field Type Label Description
memo Memo

DeleteMemoReactionRequest

Field Type Label Description
id int32
reaction_id int32

DeleteMemoReactionResponse

DeleteMemoRequest

Field Type Label Description
id int32

DeleteMemoResponse

ExportMemosRequest

Field Type Label Description
filter string Same as ListMemosRequest.filter

ExportMemosResponse

Field Type Label Description
content bytes

GetMemoByNameRequest

Field Type Label Description
name string

GetMemoByNameResponse

Field Type Label Description
memo Memo

GetMemoRequest

Field Type Label Description
id int32

GetMemoResponse

Field Type Label Description
memo Memo

GetUserMemosStatsRequest

Field Type Label Description
name string name is the name of the user to get stats for. Format: users/{username}
timezone string timezone location Format: uses tz identifier https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
filter string Same as ListMemosRequest.filter

GetUserMemosStatsResponse

Field Type Label Description
stats 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
value int32

ListMemoCommentsRequest

Field Type Label Description
id int32

ListMemoCommentsResponse

Field Type Label Description
memos Memo repeated

ListMemoReactionsRequest

Field Type Label Description
id int32

ListMemoReactionsResponse

Field Type Label Description
reactions Reaction repeated

ListMemoRelationsRequest

Field Type Label Description
id int32

ListMemoRelationsResponse

Field Type Label Description
relations MemoRelation repeated

ListMemoResourcesRequest

Field Type Label Description
id int32

ListMemoResourcesResponse

Field Type Label Description
resources Resource repeated

ListMemosRequest

Field Type Label Description
page_size int32 The maximum number of memos to return.
page_token string A page token, received from a previous ListMemos call. Provide this to retrieve the subsequent page.
filter 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 repeated
next_page_token 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 id is the system generated unique identifier.
name string name is the user provided name.
row_status RowStatus
creator string The name of the creator. Format: users/{username}
creator_id int32
create_time google.protobuf.Timestamp
update_time google.protobuf.Timestamp
display_time google.protobuf.Timestamp
content string
visibility Visibility
pinned bool
parent_id int32 optional
resources Resource repeated
relations MemoRelation repeated
reactions Reaction repeated

SetMemoRelationsRequest

Field Type Label Description
id int32
relations MemoRelation repeated

SetMemoRelationsResponse

SetMemoResourcesRequest

Field Type Label Description
id int32
resources Resource repeated

SetMemoResourcesResponse

UpdateMemoRequest

Field Type Label Description
memo Memo
update_mask google.protobuf.FieldMask

UpdateMemoResponse

Field Type Label Description
memo Memo

UpsertMemoReactionRequest

Field Type Label Description
id int32
reaction Reaction

UpsertMemoReactionResponse

Field Type Label Description
reaction Reaction

Visibility

Name Number Description
VISIBILITY_UNSPECIFIED 0
PRIVATE 1
PROTECTED 2
PUBLIC 3

MemoService

Method Name Request Type Response Type Description
CreateMemo CreateMemoRequest CreateMemoResponse CreateMemo creates a memo.
ListMemos ListMemosRequest ListMemosResponse ListMemos lists memos with pagination and filter.
GetMemo GetMemoRequest GetMemoResponse GetMemo gets a memo by id.
GetMemoByName GetMemoByNameRequest GetMemoByNameResponse GetMemoByName gets a memo by name.
UpdateMemo UpdateMemoRequest UpdateMemoResponse UpdateMemo updates a memo.
DeleteMemo DeleteMemoRequest DeleteMemoResponse DeleteMemo deletes a memo by id.
ExportMemos ExportMemosRequest ExportMemosResponse ExportMemos exports memos.
SetMemoResources SetMemoResourcesRequest SetMemoResourcesResponse SetMemoResources sets resources for a memo.
ListMemoResources ListMemoResourcesRequest ListMemoResourcesResponse ListMemoResources lists resources for a memo.
SetMemoRelations SetMemoRelationsRequest SetMemoRelationsResponse SetMemoRelations sets relations for a memo.
ListMemoRelations ListMemoRelationsRequest ListMemoRelationsResponse ListMemoRelations lists relations for a memo.
CreateMemoComment CreateMemoCommentRequest CreateMemoCommentResponse CreateMemoComment creates a comment for a memo.
ListMemoComments ListMemoCommentsRequest ListMemoCommentsResponse ListMemoComments lists comments for a memo.
GetUserMemosStats GetUserMemosStatsRequest GetUserMemosStatsResponse GetUserMemosStats gets stats of memos for a user.
ListMemoReactions ListMemoReactionsRequest ListMemoReactionsResponse ListMemoReactions lists reactions for a memo.
UpsertMemoReaction UpsertMemoReactionRequest UpsertMemoReactionResponse UpsertMemoReaction upserts a reaction for a memo.
DeleteMemoReaction DeleteMemoReactionRequest DeleteMemoReactionResponse DeleteMemoReaction deletes a reaction for a memo.

Top

api/v2/tag_service.proto

BatchUpsertTagRequest

Field Type Label Description
requests UpsertTagRequest repeated

BatchUpsertTagResponse

DeleteTagRequest

Field Type Label Description
tag Tag

DeleteTagResponse

GetTagSuggestionsRequest

Field Type Label Description
user string The creator of tags. Format: users/{username}

GetTagSuggestionsResponse

Field Type Label Description
tags string repeated

ListTagsRequest

Field Type Label Description
user string The creator of tags. Format: users/{username}

ListTagsResponse

Field Type Label Description
tags Tag repeated

RenameTagRequest

Field Type Label Description
user string The creator of tags. Format: users/{username}
old_name string
new_name string

RenameTagResponse

Field Type Label Description
tag Tag

Tag

Field Type Label Description
name string
creator string The creator of tags. Format: users/{username}

UpsertTagRequest

Field Type Label Description
name string

UpsertTagResponse

Field Type Label Description
tag Tag

TagService

Method Name Request Type Response Type Description
UpsertTag UpsertTagRequest UpsertTagResponse UpsertTag upserts a tag.
BatchUpsertTag BatchUpsertTagRequest BatchUpsertTagResponse BatchUpsertTag upserts multiple tags.
ListTags ListTagsRequest ListTagsResponse ListTags lists tags.
RenameTag RenameTagRequest RenameTagResponse RenameTag renames a tag. All related memos will be updated.
DeleteTag DeleteTagRequest DeleteTagResponse DeleteTag deletes a tag.
GetTagSuggestions GetTagSuggestionsRequest GetTagSuggestionsResponse GetTagSuggestions gets tag suggestions from the user's memos.

Top

api/v2/webhook_service.proto

CreateWebhookRequest

Field Type Label Description
name string
url string

CreateWebhookResponse

Field Type Label Description
webhook Webhook

DeleteWebhookRequest

Field Type Label Description
id int32

DeleteWebhookResponse

GetWebhookRequest

Field Type Label Description
id int32

GetWebhookResponse

Field Type Label Description
webhook Webhook

ListWebhooksRequest

Field Type Label Description
creator_id int32

ListWebhooksResponse

Field Type Label Description
webhooks Webhook repeated

UpdateWebhookRequest

Field Type Label Description
webhook Webhook
update_mask google.protobuf.FieldMask

UpdateWebhookResponse

Field Type Label Description
webhook Webhook

Webhook

Field Type Label Description
id int32
creator_id int32
created_time google.protobuf.Timestamp
updated_time google.protobuf.Timestamp
row_status RowStatus
name string
url string

WebhookService

Method Name Request Type Response Type Description
CreateWebhook CreateWebhookRequest CreateWebhookResponse CreateWebhook creates a new webhook.
GetWebhook GetWebhookRequest GetWebhookResponse GetWebhook returns a webhook by id.
ListWebhooks ListWebhooksRequest ListWebhooksResponse ListWebhooks returns a list of webhooks.
UpdateWebhook UpdateWebhookRequest UpdateWebhookResponse UpdateWebhook updates a webhook.
DeleteWebhook DeleteWebhookRequest DeleteWebhookResponse DeleteWebhook deletes a webhook by id.

Top

api/v2/workspace_service.proto

GetWorkspaceProfileRequest

GetWorkspaceProfileResponse

Field Type Label Description
workspace_profile WorkspaceProfile

UpdateWorkspaceProfileRequest

Field Type Label Description
workspace_profile WorkspaceProfile System info is the updated data.
update_mask google.protobuf.FieldMask

UpdateWorkspaceProfileResponse

Field Type Label Description
workspace_profile WorkspaceProfile

WorkspaceProfile

Field Type Label Description
version string
mode string
allow_registration bool
disable_password_login bool
additional_script string
additional_style string

WorkspaceService

Method Name Request Type Response Type Description
GetWorkspaceProfile GetWorkspaceProfileRequest GetWorkspaceProfileResponse GetWorkspaceProfile returns the workspace profile.
UpdateWorkspaceProfile UpdateWorkspaceProfileRequest 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)