# Protocol Documentation ## Table of Contents - [api/v2/common.proto](#api_v2_common-proto) - [RowStatus](#slash-api-v2-RowStatus) - [api/v2/user_service.proto](#api_v2_user_service-proto) - [CreateUserAccessTokenRequest](#slash-api-v2-CreateUserAccessTokenRequest) - [CreateUserAccessTokenResponse](#slash-api-v2-CreateUserAccessTokenResponse) - [DeleteUserAccessTokenRequest](#slash-api-v2-DeleteUserAccessTokenRequest) - [DeleteUserAccessTokenResponse](#slash-api-v2-DeleteUserAccessTokenResponse) - [GetUserRequest](#slash-api-v2-GetUserRequest) - [GetUserResponse](#slash-api-v2-GetUserResponse) - [ListUserAccessTokensRequest](#slash-api-v2-ListUserAccessTokensRequest) - [ListUserAccessTokensResponse](#slash-api-v2-ListUserAccessTokensResponse) - [User](#slash-api-v2-User) - [UserAccessToken](#slash-api-v2-UserAccessToken) - [Role](#slash-api-v2-Role) - [UserService](#slash-api-v2-UserService) - [Scalar Value Types](#scalar-value-types)
## api/v2/common.proto ### RowStatus | Name | Number | Description | | ---- | ------ | ----------- | | ROW_STATUS_UNSPECIFIED | 0 | | | NORMAL | 1 | | | ARCHIVED | 2 | | ## api/v2/user_service.proto ### CreateUserAccessTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the user id. | | description | [string](#string) | | description is the title/description of the access token. | | expiration | [google.protobuf.Duration](#google-protobuf-Duration) | | expiration is the expires duration of the access token. | ### CreateUserAccessTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | access_token | [UserAccessToken](#slash-api-v2-UserAccessToken) | | | ### DeleteUserAccessTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the user id. | | access_token | [string](#string) | | access_token is the access token to delete. | ### DeleteUserAccessTokenResponse ### GetUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | ### GetUserResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user | [User](#slash-api-v2-User) | | | ### ListUserAccessTokensRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | id is the user id. | ### ListUserAccessTokensResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | access_tokens | [UserAccessToken](#slash-api-v2-UserAccessToken) | repeated | | ### User | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [int32](#int32) | | | | row_status | [RowStatus](#slash-api-v2-RowStatus) | | | | created_ts | [int64](#int64) | | | | updated_ts | [int64](#int64) | | | | role | [Role](#slash-api-v2-Role) | | | | email | [string](#string) | | | | nickname | [string](#string) | | | ### 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) | | | ### Role | Name | Number | Description | | ---- | ------ | ----------- | | ROLE_UNSPECIFIED | 0 | | | ADMIN | 1 | | | USER | 2 | | ### UserService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | GetUser | [GetUserRequest](#slash-api-v2-GetUserRequest) | [GetUserResponse](#slash-api-v2-GetUserResponse) | GetUser returns a user by id. | | ListUserAccessTokens | [ListUserAccessTokensRequest](#slash-api-v2-ListUserAccessTokensRequest) | [ListUserAccessTokensResponse](#slash-api-v2-ListUserAccessTokensResponse) | ListUserAccessTokens returns a list of access tokens for a user. | | CreateUserAccessToken | [CreateUserAccessTokenRequest](#slash-api-v2-CreateUserAccessTokenRequest) | [CreateUserAccessTokenResponse](#slash-api-v2-CreateUserAccessTokenResponse) | CreateUserAccessToken creates a new access token for a user. | | DeleteUserAccessToken | [DeleteUserAccessTokenRequest](#slash-api-v2-DeleteUserAccessTokenRequest) | [DeleteUserAccessTokenResponse](#slash-api-v2-DeleteUserAccessTokenResponse) | DeleteUserAccessToken deletes an access token for a user. | ## 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) |