mirror of
https://github.com/usememos/memos.git
synced 2024-11-17 04:07:30 +08:00
.. | ||
activity_service.pb.go | ||
activity_service.pb.gw.go | ||
activity_service_grpc.pb.go | ||
auth_service.pb.go | ||
auth_service.pb.gw.go | ||
auth_service_grpc.pb.go | ||
common.pb.go | ||
inbox_service.pb.go | ||
inbox_service.pb.gw.go | ||
inbox_service_grpc.pb.go | ||
memo_relation_service.pb.go | ||
memo_service.pb.go | ||
memo_service.pb.gw.go | ||
memo_service_grpc.pb.go | ||
node.pb.go | ||
README.md | ||
resource_service.pb.go | ||
resource_service.pb.gw.go | ||
resource_service_grpc.pb.go | ||
tag_service.pb.go | ||
tag_service.pb.gw.go | ||
tag_service_grpc.pb.go | ||
user_service.pb.go | ||
user_service.pb.gw.go | ||
user_service_grpc.pb.go | ||
webhook_service.pb.go | ||
webhook_service.pb.gw.go | ||
webhook_service_grpc.pb.go | ||
workspace_service.pb.go | ||
workspace_service.pb.gw.go | ||
workspace_service_grpc.pb.go |
Protocol Documentation
Table of Contents
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 |
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 |
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 | ||
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. |
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 | |
UpdateUserSetting | UpdateUserSettingRequest | UpdateUserSettingResponse | |
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. |
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. |
api/v2/inbox_service.proto
DeleteInboxRequest
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the inbox to delete. Format: inboxes/{inbox} |
DeleteInboxResponse
Inbox
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the inbox. Format: inboxes/{id} | |
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 | |
UpdateInbox | UpdateInboxRequest | UpdateInboxResponse | |
DeleteInbox | DeleteInboxRequest | DeleteInboxResponse |
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 |
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 | |
ListResources | ListResourcesRequest | ListResourcesResponse | |
GetResource | GetResourceRequest | GetResourceResponse | |
GetResourceByName | GetResourceByNameRequest | GetResourceByNameResponse | |
UpdateResource | UpdateResourceRequest | UpdateResourceResponse | |
DeleteResource | DeleteResourceRequest | DeleteResourceResponse |
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 |
DeleteMemoRequest
Field | Type | Label | Description |
---|---|---|---|
id | int32 |
DeleteMemoResponse
ExportMemosRequest
Field | Type | Label | Description |
---|---|---|---|
filter | string | Same as ListMemosRequest.filter |
ExportMemosResponse
Field | Type | Label | Description |
---|---|---|---|
file | 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 |
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 |
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 |
---|---|---|---|
id | int32 | ||
memo | Memo | ||
update_mask | google.protobuf.FieldMask |
UpdateMemoResponse
Field | Type | Label | Description |
---|---|---|---|
memo | Memo |
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. |
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. |
ExportMemos | ExportMemosRequest | ExportMemosResponse stream | ExportMemos exports memos. |
GetUserMemosStats | GetUserMemosStatsRequest | GetUserMemosStatsResponse | GetUserMemosStats gets stats of memos for a user. |
api/v2/tag_service.proto
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 | |
ListTags | ListTagsRequest | ListTagsResponse | |
RenameTag | RenameTagRequest | RenameTagResponse | |
DeleteTag | DeleteTagRequest | DeleteTagResponse | |
GetTagSuggestions | GetTagSuggestionsRequest | GetTagSuggestionsResponse |
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 | |
GetWebhook | GetWebhookRequest | GetWebhookResponse | |
ListWebhooks | ListWebhooksRequest | ListWebhooksResponse | |
UpdateWebhook | UpdateWebhookRequest | UpdateWebhookResponse | |
DeleteWebhook | DeleteWebhookRequest | DeleteWebhookResponse |
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 | |
UpdateWorkspaceProfile | UpdateWorkspaceProfileRequest | UpdateWorkspaceProfileResponse |
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) |