# Protocol Documentation ## Table of Contents - [accounts/v1/accounts_v1.proto](#accounts_v1_accounts_v1-proto) - [AccountData](#accounts-v1-AccountData) - [AccountPassword](#accounts-v1-AccountPassword) - [IsEmailVerifiedRequest](#accounts-v1-IsEmailVerifiedRequest) - [IsEmailVerifiedResponse](#accounts-v1-IsEmailVerifiedResponse) - [NewPasswordRequest](#accounts-v1-NewPasswordRequest) - [RefreshTokenRequest](#accounts-v1-RefreshTokenRequest) - [ResetPasswordRequest](#accounts-v1-ResetPasswordRequest) - [SignInRequest](#accounts-v1-SignInRequest) - [SignUpRequest](#accounts-v1-SignUpRequest) - [AccountsService](#accounts-v1-AccountsService) - [PublicAccountsService](#accounts-v1-PublicAccountsService) - [test/v1/test_v1.proto](#test_v1_test_v1-proto) - [PingRequest](#test-v1-PingRequest) - [PingResponse](#test-v1-PingResponse) - [PongRequest](#test-v1-PongRequest) - [PongResponse](#test-v1-PongResponse) - [TestAuthService](#test-v1-TestAuthService) - [TestNoAuthService](#test-v1-TestNoAuthService) - [tokens/v1/tokens_v1.proto](#tokens_v1_tokens_v1-proto) - [CreateTokenRequest](#tokens-v1-CreateTokenRequest) - [CreateTokenResponse](#tokens-v1-CreateTokenResponse) - [ForceTokenExpirationRequest](#tokens-v1-ForceTokenExpirationRequest) - [GetTokenRequest](#tokens-v1-GetTokenRequest) - [GetTokenResponse](#tokens-v1-GetTokenResponse) - [ListTokensResponse](#tokens-v1-ListTokensResponse) - [RegenerateTokenRequest](#tokens-v1-RegenerateTokenRequest) - [RegenerateTokenResponse](#tokens-v1-RegenerateTokenResponse) - [TokenMetadata](#tokens-v1-TokenMetadata) - [TokenPermissions](#tokens-v1-TokenPermissions) - [TokenUUID](#tokens-v1-TokenUUID) - [TokenValue](#tokens-v1-TokenValue) - [UpdateTokenRequest](#tokens-v1-UpdateTokenRequest) - [UpdateTokenResponse](#tokens-v1-UpdateTokenResponse) - [TokensService](#tokens-v1-TokensService) - [Scalar Value Types](#scalar-value-types)

Top

## accounts/v1/accounts_v1.proto Protobuf definitions for the accounts service. ### AccountData | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | Account name | | email | [string](#string) | | Account email | ### AccountPassword | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | password | [string](#string) | | | ### IsEmailVerifiedRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | data | [AccountData](#accounts-v1-AccountData) | | | ### IsEmailVerifiedResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | verified | [bool](#bool) | | | ### NewPasswordRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | data | [AccountData](#accounts-v1-AccountData) | | | | password | [AccountPassword](#accounts-v1-AccountPassword) | | | | code | [string](#string) | | | ### RefreshTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | session_id | [string](#string) | | | ### ResetPasswordRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | data | [AccountData](#accounts-v1-AccountData) | | | ### SignInRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | email | [string](#string) | | | | password | [string](#string) | | | ### SignUpRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | email | [string](#string) | | | | password | [string](#string) | | | ### AccountsService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | IsEmailVerified | [IsEmailVerifiedRequest](#accounts-v1-IsEmailVerifiedRequest) | [IsEmailVerifiedResponse](#accounts-v1-IsEmailVerifiedResponse) | Is email for the current account verified | | RefreshSession | [.google.protobuf.Empty](#google-protobuf-Empty) | [.google.protobuf.Empty](#google-protobuf-Empty) | | | TokenAuthorization | [.google.protobuf.Empty](#google-protobuf-Empty) | [.google.protobuf.Empty](#google-protobuf-Empty) | Authorize using long living tokens | ### PublicAccountsService Service for handling accounts that do not require authentication | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | SignIn | [SignInRequest](#accounts-v1-SignInRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Sing in into an existing account | | SignUp | [SignUpRequest](#accounts-v1-SignUpRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Create a new account |

Top

## test/v1/test_v1.proto ### PingRequest ### PingResponse ### PongRequest ### PongResponse ### TestAuthService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | Pong | [PongRequest](#test-v1-PongRequest) | [PongResponse](#test-v1-PongResponse) | | ### TestNoAuthService Service for handling environments | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | Ping | [PingRequest](#test-v1-PingRequest) | [PingResponse](#test-v1-PingResponse) | |

Top

## tokens/v1/tokens_v1.proto Protobuf definitions for the accounts service. ### CreateTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | ### CreateTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | | token_value | [TokenValue](#tokens-v1-TokenValue) | | | ### ForceTokenExpirationRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | ### GetTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | ### GetTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | ### ListTokensResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | ### RegenerateTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | ### RegenerateTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_value | [TokenValue](#tokens-v1-TokenValue) | | | ### TokenMetadata | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | A token name | | expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Token expiration timestamp | ### TokenPermissions ### TokenUUID | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | uuid | [string](#string) | | An ID of a token | ### TokenValue | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token | [string](#string) | | Token value Can be only retrieved once after the generation | ### UpdateTokenRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | ### UpdateTokenResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token_uuid | [TokenUUID](#tokens-v1-TokenUUID) | | | | token_metadata | [TokenMetadata](#tokens-v1-TokenMetadata) | | | | token_permissions | [TokenPermissions](#tokens-v1-TokenPermissions) | | | ### TokensService Tokens should be used for programmatic access For example CLI or terraform modules | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | CreateToken | [CreateTokenRequest](#tokens-v1-CreateTokenRequest) | [CreateTokenResponse](#tokens-v1-CreateTokenResponse) | Create a new token | | UpdateToken | [UpdateTokenRequest](#tokens-v1-UpdateTokenRequest) | [UpdateTokenResponse](#tokens-v1-UpdateTokenResponse) | Update an existing token | | ForceTokenExpiration | [ForceTokenExpirationRequest](#tokens-v1-ForceTokenExpirationRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | Expire an existing token | | RegenerateToken | [RegenerateTokenRequest](#tokens-v1-RegenerateTokenRequest) | [RegenerateTokenResponse](#tokens-v1-RegenerateTokenResponse) | Create a new token with the same UUID | | GetToken | [GetTokenRequest](#tokens-v1-GetTokenRequest) | [GetTokenResponse](#tokens-v1-GetTokenResponse) | Get an existing token | | ListTokens | [.google.protobuf.Empty](#google-protobuf-Empty) | [ListTokensResponse](#tokens-v1-ListTokensResponse) stream | List all existing tokens | ## 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) |