# Protocol Documentation ## Table of Contents - [applications/applications_v1.proto](#applications_applications_v1-proto) - [ApplicationFull](#applications-ApplicationFull) - [ApplicationId](#applications-ApplicationId) - [ApplicationMetadata](#applications-ApplicationMetadata) - [ApplicationSpec](#applications-ApplicationSpec) - [ApplicationSpec.ConfigEntry](#applications-ApplicationSpec-ConfigEntry) - [CreateOptions](#applications-CreateOptions) - [DeleteOptions](#applications-DeleteOptions) - [GetOptions](#applications-GetOptions) - [ListOptions](#applications-ListOptions) - [OwnerId](#applications-OwnerId) - [Token](#applications-Token) - [UpdateOptions](#applications-UpdateOptions) - [Applications](#applications-Applications) - [email/email_v1.proto](#email_email_v1-proto) - [ConfirmValidation](#email-ConfirmValidation) - [RequestValidation](#email-RequestValidation) - [EmailValidation](#email-EmailValidation) - [accounts/accounts_v1.proto](#accounts_accounts_v1-proto) - [AccountData](#accounts-AccountData) - [AccountFull](#accounts-AccountFull) - [AccountFullWithToken](#accounts-AccountFullWithToken) - [AccountId](#accounts-AccountId) - [AccountPassword](#accounts-AccountPassword) - [AccountWithPassword](#accounts-AccountWithPassword) - [Accounts](#accounts-Accounts) - [environments/environments_v1.proto](#environments_environments_v1-proto) - [CreateOptions](#environments-CreateOptions) - [DeleteOptions](#environments-DeleteOptions) - [EnvironmentFull](#environments-EnvironmentFull) - [EnvironmentId](#environments-EnvironmentId) - [EnvironmentMetadata](#environments-EnvironmentMetadata) - [EnvironmentSpec](#environments-EnvironmentSpec) - [GetOptions](#environments-GetOptions) - [ListOptions](#environments-ListOptions) - [OwnerId](#environments-OwnerId) - [Token](#environments-Token) - [UpdateOptions](#environments-UpdateOptions) - [Kubernetes](#environments-Kubernetes) - [Location](#environments-Location) - [Provider](#environments-Provider) - [ServerType](#environments-ServerType) - [Environments](#environments-Environments) - [Scalar Value Types](#scalar-value-types)
## applications/applications_v1.proto This file has messages for describing applications ### ApplicationFull | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | spec | [ApplicationSpec](#applications-ApplicationSpec) | | | | id | [ApplicationId](#applications-ApplicationId) | | | ### ApplicationId | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | uuid | [string](#string) | | | ### ApplicationMetadata | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | | | description | [string](#string) | | | ### ApplicationSpec | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | application | [string](#string) | | | | version | [string](#string) | | | | environemnt_id | [string](#string) | | | | config | [ApplicationSpec.ConfigEntry](#applications-ApplicationSpec-ConfigEntry) | repeated | | | raw_config | [string](#string) | | | ### ApplicationSpec.ConfigEntry | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | key | [string](#string) | | | | value | [string](#string) | | | ### CreateOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | spec | [ApplicationSpec](#applications-ApplicationSpec) | | | | owner_id | [OwnerId](#applications-OwnerId) | | | | token | [Token](#applications-Token) | | | ### DeleteOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [ApplicationId](#applications-ApplicationId) | | | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | owner_id | [OwnerId](#applications-OwnerId) | | | | token | [Token](#applications-Token) | | | ### GetOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [ApplicationId](#applications-ApplicationId) | | | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | owner_id | [OwnerId](#applications-OwnerId) | | | | token | [Token](#applications-Token) | | | ### ListOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | owner_id | [OwnerId](#applications-OwnerId) | | | | token | [Token](#applications-Token) | | | ### OwnerId | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | uuid | [string](#string) | | UUID of a user that is creating an environemnt | ### Token | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token | [string](#string) | | Token that should be used to create an environment | ### UpdateOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [ApplicationId](#applications-ApplicationId) | | | | metadata | [ApplicationMetadata](#applications-ApplicationMetadata) | | | | spec | [ApplicationSpec](#applications-ApplicationSpec) | | | | owner_id | [OwnerId](#applications-OwnerId) | | | | token | [Token](#applications-Token) | | | ### Applications Service for handling applications | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | Create | [CreateOptions](#applications-CreateOptions) | [ApplicationFull](#applications-ApplicationFull) | | | Update | [UpdateOptions](#applications-UpdateOptions) | [ApplicationFull](#applications-ApplicationFull) | | | Delete | [DeleteOptions](#applications-DeleteOptions) | [.google.protobuf.Empty](#google-protobuf-Empty) | | | Get | [GetOptions](#applications-GetOptions) | [ApplicationFull](#applications-ApplicationFull) | | | List | [ListOptions](#applications-ListOptions) | [ApplicationFull](#applications-ApplicationFull) stream | | ## email/email_v1.proto This file has messages for describing environments ### ConfirmValidation | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user_id | [string](#string) | | | | code | [int32](#int32) | | | ### RequestValidation | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | user_id | [string](#string) | | | ### EmailValidation A service that should handle email validation | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | SendRequest | [RequestValidation](#email-RequestValidation) | [.google.protobuf.Empty](#google-protobuf-Empty) | | | ValidateEmail | [ConfirmValidation](#email-ConfirmValidation) | [.google.protobuf.Empty](#google-protobuf-Empty) | | ## accounts/accounts_v1.proto This file has messages for describing environments ### AccountData | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | Account name | | email | [string](#string) | | Account email | ### AccountFull | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [AccountId](#accounts-AccountId) | | | | data | [AccountData](#accounts-AccountData) | | | ### AccountFullWithToken | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [AccountId](#accounts-AccountId) | | | | data | [AccountData](#accounts-AccountData) | | | | token | [string](#string) | | | ### AccountId Represents a environment UUID only | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [string](#string) | | Contour ID: UUID | ### AccountPassword | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | password | [string](#string) | | | ### AccountWithPassword | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | data | [AccountData](#accounts-AccountData) | | | | password | [AccountPassword](#accounts-AccountPassword) | | | ### Accounts Service for handling environments | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | SignUp | [AccountWithPassword](#accounts-AccountWithPassword) | [AccountFullWithToken](#accounts-AccountFullWithToken) | | | SignIn | [AccountWithPassword](#accounts-AccountWithPassword) | [AccountFullWithToken](#accounts-AccountFullWithToken) | | ## environments/environments_v1.proto This file has messages for describing environments ### CreateOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | | owner_id | [OwnerId](#environments-OwnerId) | | | | token | [Token](#environments-Token) | | | ### DeleteOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [EnvironmentId](#environments-EnvironmentId) | | | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | owner_id | [OwnerId](#environments-OwnerId) | | | | token | [Token](#environments-Token) | | | ### EnvironmentFull | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | | id | [EnvironmentId](#environments-EnvironmentId) | | | ### EnvironmentId | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | uuid | [string](#string) | | | ### EnvironmentMetadata | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | name | [string](#string) | | A name of the environment | | description | [string](#string) | | | ### EnvironmentSpec | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | provider | [Provider](#environments-Provider) | | Provide | | kubernetes | [Kubernetes](#environments-Kubernetes) | | | | server_type | [ServerType](#environments-ServerType) | | | | server_location | [Location](#environments-Location) | | | ### GetOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [EnvironmentId](#environments-EnvironmentId) | | | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | owner_id | [OwnerId](#environments-OwnerId) | | | | token | [Token](#environments-Token) | | | ### ListOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | search_string | [string](#string) | | | | owner_id | [OwnerId](#environments-OwnerId) | | | | token | [Token](#environments-Token) | | | ### OwnerId | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | uuid | [string](#string) | | UUID of a user that is creating an environemnt | ### Token | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | token | [string](#string) | | Token that should be used to create an environment | ### UpdateOptions | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [EnvironmentId](#environments-EnvironmentId) | | | | metadata | [EnvironmentMetadata](#environments-EnvironmentMetadata) | | | | spec | [EnvironmentSpec](#environments-EnvironmentSpec) | | | | owner_id | [OwnerId](#environments-OwnerId) | | | | token | [Token](#environments-Token) | | | ### Kubernetes | Name | Number | Description | | ---- | ------ | ----------- | | KUBERNETES_UNSPECIFIED | 0 | | | KUBERNETES_K3S | 1 | | ### Location | Name | Number | Description | | ---- | ------ | ----------- | | LOCATION_UNSPECIFIED | 0 | | | LOCATION_HETZNER_NUREMBERG | 1 | | | LOCATION_HETZNER_FALKENSTEIN | 2 | | | LOCATION_HETZNER_HELSINKI | 3 | | | LOCATION_HETZNER_HILLSBORO | 4 | | | LOCATION_HETZNER_ASHBURN | 5 | | ### Provider Helpers and other messages | Name | Number | Description | | ---- | ------ | ----------- | | PROVIDER_UNSPECIFIED | 0 | | | PROVIDER_HETZNER | 1 | | ### ServerType | Name | Number | Description | | ---- | ------ | ----------- | | SERVER_TYPE_UNSPECIFIED | 0 | | | SERVER_TYPE_STARTER | 1 | | | SERVER_TYPE_REGULAR | 2 | | | SERVER_TYPE_PLUS | 3 | | | SERVER_TYPE_PRO | 4 | | | SERVER_TYPE_CUSTOM | 5 | | ### Environments Service for handling environments | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | Create | [CreateOptions](#environments-CreateOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | | Update | [UpdateOptions](#environments-UpdateOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | | Delete | [DeleteOptions](#environments-DeleteOptions) | [.google.protobuf.Empty](#google-protobuf-Empty) | | | Get | [GetOptions](#environments-GetOptions) | [EnvironmentFull](#environments-EnvironmentFull) | | | List | [ListOptions](#environments-ListOptions) | [EnvironmentFull](#environments-EnvironmentFull) stream | | ## 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) |