Cryp Advise API description document

Introduction

Authorization

JWT Token

API uses OAuth-like authorization with a JWT token. JWT token is provided by the specific endpoint using TokenRequest. To obtain a JWT token, you need to send the TokenRequest with the corresponding credentials.

Once you obtain the token, you need to pass it as an Authorization header. Header example:

Authorization Bearer eyJhbGc...2nC_Tk

Endpoints

Environment URL
Test https://crypt-test.status200.io/
Preprod https://crypt-preprod.status200.io/
Production https://crypadvise.com/

Sending requests

Curl example

curl --location --request POST 'https://crypadvise.com/json-exec' \
--header 'Authorization: Bearer $YOUR_BASE64_ENCODED_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "trx": "c8b50640-4864-4b4b-8ead-91333fdc96f1",
    "listRegionsRequest": {
        "host": "HOST_LINODE"
    }
}'

Message composition

All request/response messages can be written in both CamelCase and SnakeCase forms.

Therefore following two examples demonstrate equivalent messages:

CamelCase

{
    "trx": "c8b50640-4864-4b4b-8ead-91333fdc96f1",
    "listRegionsRequest": {
        "host": "HOST_LINODE"
    }
}

SnakeCase

{
    "trx": "c8b50640-4864-4b4b-8ead-91333fdc96f1",
    "list_regions_request": {
        "host": "HOST_LINODE"
    }
}

API Description

cryp_advise.TokenRequest message description:

Token request for external API. Returns authorization bearer token (JWT token) payload if login is successful.

Field Type Label Description
username string user name (email)
password string password
expiry int64 token expiration period in seconds

'TokenRequest' code example:

{
	"trx": "{{trx}}",
	"tokenRequest": {
		"username": "{{USER}}",
		"password": "{{PASS}}",
		"expiry": 2147483647
	}
}

cryp_advise.TokenResponse message description:

Token response.

Field Type Label Description
status cryp_advise.LoginStatus login status
token string base64 encoded jwt token to include in authorization bearer header that you need to decode to use in your header
valid_till int64 valid till (unix timestamp in seconds)
error_reason string error reason if error has occurred

'TokenResponse' code example:

{
	"trx": "{{trx}}",
	"token_response": {
		"status": "LS_OK",
		"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXV..._rN5RansFteY3XTpIZkeyqG7gH5qSmU",
		"valid_till": "3820225124",
		"error_reason": ""
	}
}

cryp_advise.LoginRequest message description:

Basic login request. Sets authorization cookie with corresponding JWT token. Not applicable for external API usage.

Field Type Label Description
username string email
password string password

'LoginRequest' code example:

{
	"trx": "{{trx}}",
	"loginRequest": {
		"username": "{{USER}}",
		"password": "{{PASS}}"
	}
}

cryp_advise.LoginResponse message description:

Basic login response.

Field Type Label Description
status cryp_advise.LoginStatus login status

'LoginResponse' code example:

{
	"trx": "{{trx}}",
	"login_response": {
		"status": "LS_OK"
	}
}

cryp_advise.OAuthLoginRequest message description:

OAuth login request. Used for Google Sign In, Facebook and other providers as oauth methods.

Field Type Label Description
provider cryp_advise.OAuthProvider

cryp_advise.OAuthLoginResponse message description:

OAuth login response.

Field Type Label Description
status cryp_advise.OAuthLoginStatus
error string

cryp_advise.RegistrationRequest message description:

Registration request.

Field Type Label Description
phone string phone
email string email
password string password
recaptcha_token string recaptcha token that's obtained from recaptcha

'RegistrationRequest' code example:

{
	"trx": "{{trx}}",
	"registrationRequest": {
		"email": "[email protected]",
		"password": "33253253252AGDSgdsg"
	}
}

cryp_advise.RegistrationResponse message description:

Registration response.

Field Type Label Description
status cryp_advise.RegistrationStatus registration status

cryp_advise.ConfirmationRequest message description:

Generic confirmation request for confirmations. Applicable to email/account, and other confirmations.

Field Type Label Description
confirmation_id string confirmation id

'ConfirmationRequest' code example:

{
	"trx": "{{trx}}",
	"confirmationRequest": {
		"confirmationId": "MDNkYjVhNjUtNzgzNy00MDdkLWI5NGItNmY1Y2Q4ZDViODRk"
	}
}

cryp_advise.ConfirmationResponse message:

Field Type Label Description
status cryp_advise.ConfirmationStatus confirmation status
confirmation_id string confirmation id

cryp_advise.ListServersRequest message description:

List user servers. Pagination is optional and is not available for all hosts. Client don't have to worry about pagination support. In case pagination is not supported, you will receive a single page with all the results.

Field Type Label Description
page int32 page index
page_size int32 page size
host cryp_advise.Host host

'ListServersRequest' code example:

{
	"trx": "{{trx}}",
	"listServersRequest": {
		"page": 0,
		"page_size": 0,
		"host": "HOST_VULTR"
	}
}

cryp_advise.ListServersResponse message description:

List servers response.

Field Type Label Description
status cryp_advise.ListServersStatus operation status
page int32 page index
page_size int32 page size
pages int32 total pages count
host cryp_advise.Host host
servers cryp_advise.ServerEntry LABEL_REPEATED server entries

'ListServersResponse' code example:

{
	"trx": "{{trx}}",
	"list_servers_response": {
		"status": "LSS_OK",
		"page": 1,
		"page_size": 1,
		"pages": 1,
		"host": "HOST_VULTR",
		"servers": [
			{
				"id": "g_650785b9-9a26-4cc3-ba80-484be2dc30e8",
				"name": "25167-vc2-1c-1gb-ams-lively-snow",
				"host": "HOST_VULTR",
				"region": {
					"id": "ams",
					"country": "NL",
					"status": "ok",
					"display": ""
				},
				"status": "INSTANCE_RUNNING",
				"ip": [
					"45.32.184.29",
					"2001:19f0:5001:24b7:5400:04ff:fe37:440e"
				],
				"plan": {
					"name": "vc2-1c-1gb",
					"class": "Cloud Compute",
					"monthly_rate": "66960",
					"hourly_rate": "90",
					"disk": 25600,
					"gpus": 0,
					"memory": 1024,
					"network_out": 1024000,
					"cpus": 1,
					"labels": [
						"",
						"vc2"
					],
					"hw_info": {
						"cpu_info": "Intel Xeon",
						"gpu_info": ""
					},
					"supported_images": [],
					"supported_regions": [],
					"additional_costs": []
				},
				"image": null,
				"rootPassword": "2Ua]B+Hoc,aVxbjZ",
				"ssh_keys": {}
			}
		]
	}
}

cryp_advise.ListPlansRequest message description:

List available host plans.

Field Type Label Description
host cryp_advise.Host host

'ListPlansRequest' code example:

{
	"trx": "{{trx}}",
	"listPlansRequest": {
		"host": "HOST_VULTR"
	}
}

cryp_advise.ListPlansResponse message description:

Available plans response.

Field Type Label Description
status cryp_advise.ListPlansStatus operation status
host cryp_advise.Host host
plans cryp_advise.ServerPlan LABEL_REPEATED plan entries

cryp_advise.ListRegionsRequest message description:

List available host regions.

Field Type Label Description
host cryp_advise.Host host

'ListRegionsRequest' code example:

{
	"trx": "{{trx}}",
	"listRegionsRequest": {
		"host": "HOST_LINODE"
	}
}

cryp_advise.ListRegionsResponse message description:

Available regions response.

Field Type Label Description
host cryp_advise.Host host
regions cryp_advise.Region LABEL_REPEATED region entries

cryp_advise.ListImagesRequest message description:

List available host images.

Field Type Label Description
host cryp_advise.Host host

'ListImagesRequest' code example:

{
	"trx": "{{trx}}",
	"listImagesRequest": {
		"host": "HOST_VULTR"
	}
}

cryp_advise.ListImagesResponse message description:

Available images response.

Field Type Label Description
host cryp_advise.Host host
images cryp_advise.Image LABEL_REPEATED image entries

cryp_advise.PlaceServerOrderRequest message description:

Place instance order request. Specified parameters will be used to create an order with instance description. Instance with specified parameters will be automatically created once payment is done.

Field Type Label Description
name string server name (label)
host cryp_advise.Host host
currency cryp_advise.Currency currency
plan string plan id (e.g. g7-highmem-8)
region string region id
datacenter string datacenter id
image string image id
script_id int32 script id
scriptData cryp_advise.PlaceServerOrderRequest.ScriptDataEntry LABEL_REPEATED script data
ssh_keys []byte LABEL_REPEATED public ssh keys (rsa authorized keys format), e.g. ssh-rsa AAAAB...WPhKRp0= myuser

'PlaceServerOrderRequest' code example:

{
	"trx": "{{trx}}",
	"placeServerOrderRequest": {
		"name": "",
		"host": "HOST_LINODE",
		"plan": "g6-nanode-1",
		"region": "eu-central",
		"image": "linode/ubuntu22.04"
	}
}

cryp_advise.PlaceServerOrderResponse message description:

Placed order response.

Field Type Label Description
order_id string unique order id
status cryp_advise.PlaceServerOrderStatus operation status
temp_pass string temporary instance password
ssh_private_keys []byte LABEL_REPEATED generated ssh private keys

cryp_advise.OrderAmountRequest message description:

Request calculated order amount that's required.

Field Type Label Description
order_id string order id
method cryp_advise.PaymentMethod payment method

'OrderAmountRequest' code example:

{
	"trx": "{{trx}}",
	"orderAmountRequest": {
		"orderId": "g_ba0e581c-a715-4b06-b445-d50e46137ee2_17"
	}
}

cryp_advise.OrderAmountResponse message description:

Calculated order amount response.

Field Type Label Description
order_id string order id
amount_required cryp_advise.Amount amount required
status cryp_advise.OrderAmountStatus operation status
method cryp_advise.PaymentMethod payment method

cryp_advise.InstanceInfoRequest message description:

Request instance information.

Field Type Label Description
id string instance id

'InstanceInfoRequest' code example:

{
	"trx": "{{trx}}",
	"instanceInfoRequest": {
		"id": "myid"
	}
}

cryp_advise.InstanceInfoResponse message description:

Instance information response.

Field Type Label Description
info cryp_advise.ServerEntry information entry
status cryp_advise.InstanceInfoStatus operation status

cryp_advise.UserInfoRequest message description:

Request user information.

Field Type Label Description

'UserInfoRequest' code example:

{
	"trx": "{{trx}}",
	"userInfoRequest": {}
}

cryp_advise.UserInfoResponse message description:

User information response.

Field Type Label Description
user_id uint62 user id
email string email
balance cryp_advise.Amount user balance
confirmed bool account confirmation status
status cryp_advise.UserInfoStatus operation status
attributes cryp_advise.UserInfoResponse.AttributesEntry LABEL_REPEATED attributes
ssh_keys cryp_advise.UserInfoResponse.SshKeysEntry LABEL_REPEATED ssh keys

'UserInfoResponse' code example:

{
	"trx": "{{trx}}",
	"user_info_response": {
		"user_id": "25",
		"email": "[email protected]",
		"balance": {
			"currency": "POINTS",
			"denomination": 4,
			"amount": "14020812"
		},
		"confirmed": false,
		"status": "UIS_OK",
		"attributes": {},
		"ssh_keys": {
			"1": {
				"name": "test",
				"key": "c3NoLXJzYSBBQUFBQjNOepRU...Jvb2stUHJvLmxvY2Fs",
				"expiration_date": "2145916800000"
			}
		}
	}
}

cryp_advise.PaymentRequest message description:

Payment request forms a request for a specific order id. Server returns a crypto wallet address and payment related info.

Field Type Label Description
amount_in_points int64 amount in points. If this value is set, then this request is considered a replenishment
order_id string order id
sender_currency cryp_advise.Currency currency
method cryp_advise.PaymentMethod payment method

'PaymentRequest' code example:

{
	"trx": "{{trx}}",
	"paymentRequest": {
		"amount_in_points": 3000000,
		"order_id": "",
		"sender_currency": "BTC",
		"method": "PM_BITPAY"
	}
}

cryp_advise.PaymentResponse message description:

Payment response with all payment information.

Field Type Label Description
address string crypto wallet address
currency cryp_advise.Currency currency
exchange_rate float64 exchange rate
amount_required cryp_advise.Amount required amount
fees int64 fees
status cryp_advise.PaymentStatus operation status
payment_id string payment id
order_id string order id

'PaymentResponse' code example:

{
	"trx": "{{trx}}",
	"payment_response": {
		"address": "https://bitpay.com/i/YAMycXoANz4Lpi5a1FeG7N",
		"currency": "USD",
		"exchange_rate": 1656482,
		"amount_required": {
			"currency": "USD",
			"denomination": 2,
			"amount": "30000"
		},
		"fees": "0",
		"status": "PS_OK",
		"payment_id": "r_b326b44e-97f6-43f8-ab2f-156e07b3151a",
		"order_id": ""
	}
}

cryp_advise.ListExchangeRatesRequest message description:

List current exchange rates.

Field Type Label Description

'ListExchangeRatesRequest' code example:

{
	"trx": "{{trx}}",
	"listExchangeRatesRequest": {}
}

cryp_advise.ListExchangeRatesResponse message description:

Current exchange rates response.

Field Type Label Description
rates cryp_advise.ExchangeRate LABEL_REPEATED exchange rates

'ListExchangeRatesResponse' code example:

{
	"trx": "{{trx}}",
	"list_exchange_rates_response": {
		"rates": [
			{
				"currency": "USDTT",
				"fee_currency": "USDTT",
				"fee_amount": {
					"currency": "USDTT",
					"denomination": 2,
					"amount": "1"
				},
				"receiver_amount": {
					"currency": "USDTT",
					"denomination": 2,
					"amount": "101"
				},
				"rate": 10000,
				"valid_till": "9200000000",
				"is_fiat": false,
				"method": "PM_BITPAY"
			}
		]
	}
}

cryp_advise.BillingHistoryRequest message description:

Request billing history.

Field Type Label Description
page int32 page index
page_size int32 page size
type cryp_advise.TxType tx type
day int32 day or 0
month int32 month or 0
year int32 year or 0
group_by cryp_advise.GroupByPeriod group by period.

'BillingHistoryRequest' code example:

{
	"trx": "{{trx}}",
	"billingHistoryRequest": {
		"page": 4,
		"pageSize": 2,
		"groupBy": 2
	}
}

cryp_advise.BillingHistoryResponse message description:

Billing history.

Field Type Label Description
entries cryp_advise.BillingOperationEntry LABEL_REPEATED entries
page int32 page index
page_size int32 page size
pages int32 total pages count

'BillingHistoryResponse' code example:

{
	"trx": "{{trx}}",
	"billing_history_response": {
		"entries": [
			{
				"user_id": "25",
				"currency": "POINTS",
				"amount": {
					"currency": "POINTS",
					"denomination": 4,
					"amount": "2160"
				},
				"reported_at_unix": "1672531200",
				"status": "BILLING_CONFIRMED",
				"order_id": "g_650785b9-9a26-4cc3-ba80-484be2dc30e8",
				"server_name": "25167-vc2-1c-1gb-ams-lively-snow",
				"type": "TT_ORDER"
			},
			{
				"user_id": "25",
				"currency": "POINTS",
				"amount": {
					"currency": "POINTS",
					"denomination": 4,
					"amount": "78480"
				},
				"reported_at_unix": "1672531200",
				"status": "BILLING_CONFIRMED",
				"order_id": "g_553bb070-e648-4518-b86d-74eca610ec34",
				"server_name": "25ubuntu-20-04-x64-so1-5-2vcpu-16gb-nyc1-silent-sun",
				"type": "TT_ORDER"
			}
		],
		"page": 4,
		"page_size": 2,
		"pages": 268
	}
}

cryp_advise.ListSupportedActionsRequest message description:

List host supported actions.

Field Type Label Description
host cryp_advise.Host

'ListSupportedActionsRequest' code example:

{
	"trx": "{{trx}}",
	"listSupportedActionsRequest": {
		"host": "HOST_LINODE"
	}
}

cryp_advise.ListSupportedActionsResponse message description:

Host supported actions response.

Field Type Label Description
host cryp_advise.Host host
supported_actions cryp_advise.InstanceAction LABEL_REPEATED actions

'ListSupportedActionsResponse' code example:

{
	"trx": "{{trx}}",
	"list_supported_actions_response": {
		"host": "HOST_LINODE",
		"supported_actions": [
			"INSTANCE_CREATE",
			"INSTANCE_DELETE",
			"INSTANCE_RESTART",
			"INSTANCE_POWER_OFF",
			"INSTANCE_REBUILD",
			"INSTANCE_UPDATE_LABEL",
			"INSTANCE_PAUSE",
			"INSTANCE_RESIZE",
			"INSTANCE_STATS",
			"INSTANCE_LIST_DISKS",
			"INSTANCE_RESET_PASSWORD"
		]
	}
}

cryp_advise.DeleteInstanceRequest message description:

Delete instance request.

Field Type Label Description
id string instance id
host cryp_advise.Host host

'DeleteInstanceRequest' code example:

{
	"trx": "{{trx}}",
	"deleteInstanceRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE"
	}
}

cryp_advise.DeleteInstanceResponse message description:

Delete instance response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.DeleteInstanceStatus operation status

'DeleteInstanceResponse' code example:

{
	"trx": "{{trx}}",
	"delete_instance_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"status": "DIS_OK"
	}
}

cryp_advise.ResizeInstanceRequest message description:

Resize instance request.

Field Type Label Description
id string instance id
host cryp_advise.Host host
plan string instance plan id

'ResizeInstanceRequest' code example:

{
	"trx": "{{trx}}",
	"resizeInstanceRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"plan": "g6-standard-1"
	}
}

cryp_advise.ResizeInstanceResponse message description:

Resize instance response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.ResizeInstanceStatus operation status

'ResizeInstanceResponse' code example:

{
	"trx": "{{trx}}",
	"resize_instance_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"status": "RESIS_OK"
	}
}

cryp_advise.RestartInstanceRequest message description:

Restart instance request.

Field Type Label Description
id string instance id
host cryp_advise.Host host

'RestartInstanceRequest' code example:

{
	"trx": "{{trx}}",
	"restartInstanceRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE"
	}
}

cryp_advise.RestartInstanceResponse message description:

Restart instance response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.RestartInstanceStatus operation status

'RestartInstanceResponse' code example:

{
	"trx": "{{trx}}",
	"restart_instance_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"status": "RIS_OK"
	}
}

cryp_advise.PowerOffInstanceRequest message description:

Power off instance request.

Field Type Label Description
id string instance id
host cryp_advise.Host host

'PowerOffInstanceRequest' code example:

{
	"trx": "{{trx}}",
	"powerOffInstanceRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE"
	}
}

cryp_advise.PowerOffInstanceResponse message description:

Power off instance response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.PowerOffInstanceStatus operation status

'PowerOffInstanceResponse' code example:

{
	"trx": "{{trx}}",
	"power_off_instance_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"status": "POIS_OK"
	}
}

cryp_advise.RebuildInstanceRequest message description:

Rebuild instance request.

Field Type Label Description
id string instance id
host cryp_advise.Host host
image string image
ssh_keys []byte LABEL_REPEATED ssh keys

'RebuildInstanceRequest' code example:

{
	"trx": "{{trx}}",
	"rebuildInstanceRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"image": "linode/arch",
		"sshKeys": [
			"c3NoLXJzYSBBQUFBQjNOemFD...Cg=="
		]
	}
}

cryp_advise.RebuildInstanceResponse message description:

Rebuild instance response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
temp_pass string temporary pass
temp_ssh_key string temporary ssh key
status cryp_advise.RebuildInstanceStatus operation status

'RebuildInstanceResponse' code example:

{
	"trx": "{{trx}}",
	"rebuild_instance_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"temp_pass": "",
		"temp_ssh_key": "",
		"status": "RBIS_OK"
	}
}

cryp_advise.ResetInstanceRootPassRequest message description:

Reset instance root password request.

Field Type Label Description
id string instance id
host cryp_advise.Host host
password string new password
disk_id uint62 disk id - optional parameter for Linode host only, value isn't considered for other hosts

'ResetInstanceRootPassRequest' code example:

{
	"trx": "{{trx}}",
	"resetInstanceRootPassRequest": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"password": "[email protected]%@fsd",
		"disk_id": "0"
	}
}

cryp_advise.ResetInstanceRootPassResponse message description:

Reset instance root password response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.ResetInstanceRootPassStatus operation status

'ResetInstanceRootPassResponse' code example:

{
	"trx": "{{trx}}",
	"reset_instance_root_pass_response": {
		"id": "g_3b082ad7-bdca-4bdc-a659-f7884d560c41_17",
		"host": "HOST_LINODE",
		"status": "RIRPS_OK"
	}
}

cryp_advise.InstanceStatsRequest message description:

Request instance statistics. Not supported for all hosts. Use 'ListAvailableActions' endpoint to list supported actions.

Field Type Label Description
id string instance id
host cryp_advise.Host host
duration_ms int64

'InstanceStatsRequest' code example:

{
	"trx": "{{trx}}",
	"instanceStatsRequest": {
		"id": "g_adf8f100-abc0-4489-97da-e7db6873c897_17",
		"host": "HOST_LINODE"
	}
}

cryp_advise.InstanceStatsResponse message description:

Instance statistics response.

Field Type Label Description
id string instance id
host cryp_advise.Host host
status cryp_advise.InstanceStatsStatus operation status
plot cryp_advise.Plot statistics plot

cryp_advise.ClaimPasswordResetRequest message description:

Claim user password reset.

Field Type Label Description
email string email to send reset link to

'ClaimPasswordResetRequest' code example:

{
	"trx": "{{trx}}",
	"claimPasswordResetRequest": {
		"email": "[email protected]"
	}
}

cryp_advise.ClaimPasswordResetResponse message description:

Claim password reset response.

Field Type Label Description
status cryp_advise.ClaimPasswordResetStatus operation status
email string email

'ClaimPasswordResetResponse' code example:

{
	"trx": "{{trx}}",
	"claim_password_reset_response": {
		"status": "CPRS_OK",
		"email": "[email protected]"
	}
}

cryp_advise.ResetPasswordRequest message description:

Reset password using retrieved confirmation id.

Field Type Label Description
confirmation_id string confirmation id
password string password

'ResetPasswordRequest' code example:

{
	"trx": "{{trx}}",
	"resetPasswordRequest": {
		"confirmationId": "ZGUzYWMwNTMtMDVhZS00YmY3LThlYTMtOGYzYmRlMzkzYWM2",
		"password": "MyPassword"
	}
}

cryp_advise.ResetPasswordResponse message description:

Reset password response.

Field Type Label Description
status cryp_advise.ResetPasswordStatus operation status
confirmation_id string confirmation id

'ResetPasswordResponse' code example:

{
	"trx": "{{trx}}",
	"reset_password_response": {
		"status": "RPS_OK",
		"confirmation_id": "ZGUzYWMwNTMtMDVhZS00YmY3LThlYTMtOGYzYmRlMzkzYWM2"
	}
}

cryp_advise.ListInstanceDisksRequest message description:

List instance disks.

Field Type Label Description
id string instance id
host cryp_advise.Host host

'ListInstanceDisksRequest' code example:

{
	"trx": "{{trx}}",
	"listInstanceDisksRequest": {
		"id": "g_b17e9d73-6eee-4bd3-b52e-35909f550aff",
		"host": "HOST_LINODE"
	}
}

cryp_advise.ListInstanceDisksResponse message description:

Instance disks response.

Field Type Label Description
status cryp_advise.ListInstanceDisksStatus operation status
disks cryp_advise.InstanceDisk LABEL_REPEATED disk entries. empty slice for DIGITAL_OCEAN and VULTR as this operation is not yet supported.

'ListInstanceDisksResponse' code example:

{
	"trx": "{{trx}}",
	"list_instance_disks_response": {
		"status": "LIDS_OK",
		"disks": [
			{
				"id": "80964954",
				"instance_id": "40314029",
				"filesystem": "ext4",
				"label": "Debian 11 Disk",
				"status": "DISK_READY",
				"size": "81408",
				"is_real": true
			},
			{
				"id": "80964955",
				"instance_id": "40314029",
				"filesystem": "swap",
				"label": "512 MB Swap Image",
				"status": "DISK_READY",
				"size": "512",
				"is_real": false
			}
		]
	}
}

cryp_advise.UpdateUserInfoRequest message description:

Update user info.

Field Type Label Description
attributes cryp_advise.UpdateUserInfoRequest.AttributesEntry LABEL_REPEATED attributes
email string email
group cryp_advise.UserAttributesGroup

'UpdateUserInfoRequest' code example:

{
	"trx": "{{trx}}",
	"updateUserInfoRequest": {
		"attributes": {
			"MY_TEST_ATTRIBUTE_01": "John Doe"
		},
		"group": "UAG_DOMAIN_CONTACT_INFO"
	}
}

cryp_advise.UpdateUserInfoResponse message description:

User info response.

Field Type Label Description
status cryp_advise.UpdateUserInfoStatus operation status

'UpdateUserInfoResponse' code example:

{
	"trx": "{{trx}}",
	"update_user_info_response": {
		"status": "UUIS_OK"
	}
}

cryp_advise.DeleteAccountRequest message description:

Delete account request.

Field Type Label Description

'DeleteAccountRequest' code example:

{
	"trx": "{{trx}}",
	"deleteAccountRequest": {}
}

cryp_advise.DeleteAccountResponse message description:

Delete account response.

Field Type Label Description
status cryp_advise.DeleteAccountStatus operation status

cryp_advise.UpdateInstanceConfigRequest message description:

Update instance label.

Field Type Label Description
id string instance id
label string label

cryp_advise.UpdateInstanceConfigResponse message description:

Update instance label response.

Field Type Label Description
status cryp_advise.UpdateInstanceConfigStatus operation status

cryp_advise.ContactFormRequest message description:

Contact form request.

Field Type Label Description
from string from name
from_email string from email
payload string payload (message text)

'ContactFormRequest' code example:

{
	"trx": "{{trx}}",
	"contactFormRequest": {
		"from": "[email protected]",
		"fromEmail": "[email protected]",
		"payload": "My message"
	}
}

cryp_advise.ContactFormResponse message description:

Contact form response.

Field Type Label Description
status cryp_advise.ContactFormStatus operation status

'ContactFormResponse' code example:

{
	"trx": "{{trx}}",
	"contact_form_response": {
		"status": "CFS_OK"
	}
}

cryp_advise.UpcomingPaymentsRequest message description:

Retrieve upcoming payments.

Field Type Label Description
page int32 page index
page_size int32 page size

'UpcomingPaymentsRequest' code example:

{
	"trx": "{{trx}}",
	"upcomingPaymentsRequest": {
		"page": 2,
		"pageSize": 2
	}
}

cryp_advise.UpcomingPaymentsResponse message description:

Upcoming payments.

Field Type Label Description
payments cryp_advise.UpcomingPayment LABEL_REPEATED upcoming payment entries
page int32 page index
page_size int32 page size
pages int32

'UpcomingPaymentsResponse' code example:

{
	"trx": "{{trx}}",
	"upcoming_payments_response": {
		"payments": [
			{
				"user_id": "25",
				"server_id": "g_553bb070-e648-4518-b86d-74eca610ec34",
				"server_label": "25ubuntu-20-04-x64-so1-5-2vcpu-16gb-nyc1-silent-sun",
				"host": "HOST_DIGITAL_OCEAN",
				"amount": {
					"currency": "POINTS",
					"denomination": 4,
					"amount": "3270"
				},
				"scheduled_at": "1672745691000",
				"status": "UPS_ACTUAL"
			},
			{
				"user_id": "25",
				"server_id": "g_b17e9d73-6eee-4bd3-b52e-35909f550aff",
				"server_label": "linode40314029",
				"host": "HOST_LINODE",
				"amount": {
					"currency": "POINTS",
					"denomination": 4,
					"amount": "400"
				},
				"scheduled_at": "1672744188000",
				"status": "UPS_PROCESSED"
			}
		],
		"page": 2,
		"page_size": 2,
		"pages": 2332
	}
}

cryp_advise.CancelUpcomingPaymentRequest message description:

Cancel upcoming payment. WARNING! Cancelling upcoming payment causes instance deletion.

Field Type Label Description
server_id string instance id
host cryp_advise.Host host

'CancelUpcomingPaymentRequest' code example:

{
	"trx": "{{trx}}",
	"cancelUpcomingPaymentRequest": {
		"server_id": "g_553bb070-e648-4518-b86d-74eca610ec34",
		"host": "HOST_LINODE"
	}
}

cryp_advise.CancelUpcomingPaymentResponse message description:

Cancel upcoming payment response.

Field Type Label Description
status cryp_advise.CancelUpcomingPaymentStatus operation status

'CancelUpcomingPaymentResponse' code example:

{
	"trx": "{{trx}}",
	"cancel_upcoming_payment_response": {
		"status": "CUPS_OK"
	}
}

cryp_advise.UpdateUserSSHKeyRequest message description:

Update user ssh key at specific index. Index with values from 0 up to 5 [including] is supported.

Field Type Label Description
id uint32 key index
key cryp_advise.UserSSHKey base 64 encoded ssh key structure

'UpdateUserSSHKeyRequest' code example:

{
	"trx": "{{trx}}",
	"updateUserSshKeyRequest": {
		"id": 2,
		"key": {
			"name": "TEst",
			"key": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkV...YXgtR0Y3Ni0xMVVE",
			"expirationDate": "1664496000000"
		}
	}
}

cryp_advise.UpdateUserSSHKeyResponse message description:

Update user ssh key response.

Field Type Label Description
status cryp_advise.UpdateUserSSHKeyStatus operation status

'UpdateUserSSHKeyResponse' code example:

{
	"trx": "{{trx}}",
	"update_user_ssh_key_response": {
		"status": "UUSKS_OK"
	}
}

cryp_advise.DeleteUserSSHKeyRequest message description:

Delete user ssh key. Index with values from 0 up to 5 [including] is supported.

Field Type Label Description
id uint32 key index

'DeleteUserSSHKeyRequest' code example:

{
	"trx": "{{trx}}",
	"deleteUserSshKeyRequest": {
		"id": 1
	}
}

cryp_advise.DeleteUserSSHKeyResponse message description:

Delete user ssh key response.

Field Type Label Description
status cryp_advise.DeleteUserSSHKeyStatus operation status

'DeleteUserSSHKeyResponse' code example:

{
	"trx": "{{trx}}",
	"delete_user_ssh_key_response": {
		"status": "DUSKS_OK"
	}
}

cryp_advise.PlansExampleRequest message description:

List example plans. Can be used for different purposes, one of which is to display the list on a landing page.

Field Type Label Description

'PlansExampleRequest' code example:

{
	"trx": "{{trx}}",
	"plansExampleRequest": {}
}

cryp_advise.PlansExampleResponse message description:

List example plans response.

Field Type Label Description
groups cryp_advise.ExamplePlansGroup LABEL_REPEATED

'PlansExampleResponse' code example:

{
	"trx": "{{trx}}",
	"plans_example_response": {
		"groups": [
			{
				"plans": [
					{
						"name": "vc2-4c-8gb",
						"class": "Cloud Compute",
						"monthly_rate": "543120",
						"hourly_rate": "730",
						"disk": 163840,
						"gpus": 0,
						"memory": 8192,
						"network_out": 4096000,
						"cpus": 4,
						"labels": [
							"",
							"vc2"
						],
						"hw_info": {
							"cpu_info": "Intel Xeon",
							"gpu_info": ""
						},
						"supported_images": [
							"124",
							"159",
							"164",
							"167",
							"180",
							"186",
							"240",
							"270",
							"327",
							"352",
							"371",
							"381",
							"387",
							"391",
							"401",
							"424",
							"425",
							"447",
							"448",
							"452",
							"477",
							"501",
							"516",
							"521",
							"522",
							"523",
							"535",
							"542",
							"1743",
							"1744",
							"1797",
							"1868",
							"1869",
							"1929",
							"1946",
							"1968"
						],
						"supported_regions": [
							"ewr",
							"ord",
							"dfw",
							"sea",
							"lax",
							"atl",
							"ams",
							"lhr",
							"fra",
							"sjc",
							"syd",
							"yto",
							"cdg",
							"nrt",
							"waw",
							"mad",
							"mia",
							"sgp",
							"sto",
							"mex",
							"mel",
							"bom",
							"blr"
						],
						"additional_costs": [
							{
								"description": "Includes License",
								"amount": {
									"currency": "USD",
									"denomination": 2,
									"amount": "2333"
								}
							}
						]
					},
					{
						"name": "vhf-6c-24gb",
						"class": "High Frequency Compute",
						"monthly_rate": "1941840",
						"hourly_rate": "2610",
						"disk": 458752,
						"gpus": 0,
						"memory": 24576,
						"network_out": 6144000,
						"cpus": 6,
						"labels": [
							"",
							"vhf"
						],
						"hw_info": {
							"cpu_info": "Intel Xeon",
							"gpu_info": ""
						},
						"supported_images": [
							"124",
							"159",
							"164",
							"167",
							"180",
							"186",
							"240",
							"270",
							"327",
							"352",
							"371",
							"381",
							"387",
							"391",
							"401",
							"424",
							"425",
							"447",
							"448",
							"452",
							"477",
							"501",
							"516",
							"521",
							"522",
							"523",
							"535",
							"542",
							"1743",
							"1744",
							"1797",
							"1868",
							"1869",
							"1929",
							"1946",
							"1968"
						],
						"supported_regions": [
							"ewr",
							"dfw",
							"sea",
							"lax",
							"atl",
							"ams",
							"sjc",
							"yto",
							"nrt",
							"waw",
							"mad",
							"icn",
							"sgp",
							"sto",
							"mex",
							"mel",
							"bom",
							"jnb",
							"blr",
							"del"
						],
						"additional_costs": [
							{
								"description": "Includes License",
								"amount": {
									"currency": "USD",
									"denomination": 2,
									"amount": "8400"
								}
							}
						]
					}
				],
				"host": "HOST_LINODE"
			}
		]
	}
}

cryp_advise.ClaimConfirmationEmailRequest message description:

Claim account confirmation email... If not enough time has passed since the last request, then the "TRY_LATER" status will be received.

Field Type Label Description

'ClaimConfirmationEmailRequest' code example:

{
	"trx": "{{trx}}",
	"claimConfirmationEmailRequest": {}
}

cryp_advise.ClaimConfirmationEmailResponse message description:

Claim account confirmation email response.

Field Type Label Description
status cryp_advise.ClaimConfirmationEmailStatus

'ClaimConfirmationEmailResponse' code example:

{
	"trx": "{{trx}}",
	"claim_confirmation_email_response": {
		"status": "CCES_OK"
	}
}

cryp_advise.GetUserAttributesRequest message description:

Retrieve user attributes.

Field Type Label Description
group cryp_advise.UserAttributesGroup attributes group

'GetUserAttributesRequest' code example:

{
	"trx": "{{trx}}",
	"getUserAttributesRequest": {
		"group": "UAG_DOMAIN_CONTACT_INFO"
	}
}

cryp_advise.GetUserAttributesResponse message description:

Retrieve user attributes.

Field Type Label Description
attributes cryp_advise.GetUserAttributesResponse.AttributesEntry LABEL_REPEATED attributes
group cryp_advise.UserAttributesGroup attributes group

'GetUserAttributesResponse' code example:

{
	"trx": "{{trx}}",
	"get_user_attributes_response": {
		"attributes": {
			"MY_TEST_ATTRIBUTE_01": "John Doe",
			"address": "street 22",
			"city": "test",
			"company": "test",
			"country": "MN",
			"emailAddress": "[email protected]",
			"fax": "9991111111",
			"firstName": "test",
			"lastName": "test",
			"phone": "9991111111",
			"postalCode": "test",
			"stateProvince": "test"
		},
		"group": "UAG_DOMAIN_CONTACT_INFO"
	}
}

cryp_advise.ChangePasswordRequest message description:

Change current password without claiming an email.

Field Type Label Description
current_password string current password
new_password string new password

cryp_advise.ChangePasswordResponse message:

Field Type Label Description
status cryp_advise.ChangePasswordStatus status

Structure definitions.

API Description

cryp_advise.ServerPlan message:

Field Type Label Description
name string plan id
class string plan class
monthly_rate int64 monthly rate (denominated value in POINTS)
hourly_rate int64 hourly rate (denominated value in POINTS)
disk int32 disk size in megabytes
gpus int32 number of gpus
memory int32 memory size in megabytes
network_out int32 network output in megabytes
cpus int32 number of cpus
labels string LABEL_REPEATED associated labels
hw_info cryp_advise.HWInfo hardware info
supported_images string LABEL_REPEATED supported image ids. if list is empty then all images are supported
supported_regions string LABEL_REPEATED supported region ids. if list is empty then all regions are supported
additional_costs cryp_advise.AdditionalCost LABEL_REPEATED additional costs, like Windows license, etc.

cryp_advise.Instance message:

Field Type Label Description
order_id string order id
host cryp_advise.Host host
region cryp_advise.Region region id
datacenter string datacenter id
status cryp_advise.InstanceStatus instance status

cryp_advise.Order message:

Field Type Label Description
id string order id
plan cryp_advise.ServerPlan server plan
status cryp_advise.OrderStatus order status

cryp_advise.BillingOperationEntry message:

Field Type Label Description
user_id uint62 user id
currency cryp_advise.Currency currency
amount cryp_advise.Amount amount
reported_at_unix int64 report time in unix seconds
status cryp_advise.BillingEntryStatus entry status
order_id string order id
server_name string server name
type cryp_advise.TxType

cryp_advise.ExchangeRate message:

Field Type Label Description
currency cryp_advise.Currency currency
fee_currency cryp_advise.Currency fee currency
fee_amount cryp_advise.Amount amount of fees
receiver_amount cryp_advise.Amount amount that's used to calculate the exchange rate (describes amount that's expected to be received)
rate float64 exchange rate
valid_till int64 valid till timestamp in unix seconds
is_fiat bool true if this is FIAT currency
method cryp_advise.PaymentMethod payment (gateway) method

cryp_advise.Region message:

Field Type Label Description
id string region id
country string country (e.g. 'de', 'uk', etc)
status string region status (available or not-available)
display string display value for better readability

cryp_advise.Image message:

Field Type Label Description
id string image id
label string image label
vendor string image vendor
deprecated bool is deprecated?

cryp_advise.ServerEntry message:

Field Type Label Description
id string instance id
name string instance label
host cryp_advise.Host host
region cryp_advise.Region region id
status cryp_advise.InstanceStatus instance status
ip string LABEL_REPEATED instance ip addresses (including v4 and v6 format)
plan cryp_advise.ServerPlan instance plan
image cryp_advise.Image image id
rootPassword string default root password that was set on creation/update
ssh_keys cryp_advise.ServerEntry.SshKeysEntry LABEL_REPEATED ssh keys

cryp_advise.HWInfo message:

Field Type Label Description
cpu_info string cpu vendor and name (if available)
gpu_info string gpu vendor and name (if available)

cryp_advise.Amount message:

Field Type Label Description
currency cryp_advise.Currency currency
denomination int32 denomination. for example: denomination of 2 means that amount of 100 with currency set to USD is a 1 dollar.
amount int64 amount

cryp_advise.Plot message:

Field Type Label Description
entries cryp_advise.PlotEntry LABEL_REPEATED plot entries

cryp_advise.PlotEntry message:

Field Type Label Description
name string plot entry name. values can be: "CPU", "IO", "Network — IPv4 (Out)", Network — IPv4 (In)", "Network — IPv6 (Out)", "Network — IPv6 (In)"
suffix string suffix, e.g. Kb/s, Mb/s, %, etc
min_value int64 min value in this plot
max_value int64 max value
values cryp_advise.PlotEntry.ValuesEntry LABEL_REPEATED value report time in unix milliseconds to value entries

cryp_advise.InstanceDisk message:

Field Type Label Description
id string disk id
instance_id string instance id
filesystem string filesystem, e.g. ext4, ntfs
label string disk label
status cryp_advise.DiskStatus disk status
size uint62 disk size in megabytes
is_real bool true if disk is a physical device

cryp_advise.UpcomingPayment message:

Field Type Label Description
user_id uint62 user id
server_id string server id
server_label string server label (display name)
host cryp_advise.Host host
amount cryp_advise.Amount amount
scheduled_at int64 scheduled at
status cryp_advise.UpcomingPaymentStatus status

cryp_advise.UserSSHKey message:

Field Type Label Description
name string key name
key []byte base64 encoded key payload
expiration_date int64 expiration date

cryp_advise.AdditionalCost message:

Field Type Label Description
description string cost description
amount cryp_advise.Amount amount

cryp_advise.ExamplePlansGroup message:

Field Type Label Description
plans cryp_advise.ServerPlan LABEL_REPEATED example plans
host cryp_advise.Host host

Domain-related requests and structure definitions.

API Description

cryp_advise.RegisterDomainRequest message description:

Register domain.

Field Type Label Description
domain string domain name
years uint32 number of years for which the domain will be registered. max value is 3.
seller cryp_advise.DomainSeller domain seller
namecheap_contact_information cryp_advise.NamecheapContactInformation contact info for Namecheap seller. Ignored if another seller is selected.
namesilo_contact_information cryp_advise.NamesiloContactInformation contact info for Namesilo seller. Ignored if another seller is selected.
nameservers string LABEL_REPEATED custom domain name servers

'RegisterDomainRequest' code example:

{
	"trx": "{{trx}}",
	"registerDomainRequest": {
		"domain": "someunknowntestdomain10.com",
		"years": 1,
		"seller": "NAMESILO",
		"namesiloContactInformation": {
			"first_name": "Ivan",
			"last_name": "Ivanov",
			"mailing_address": "My address, street 1, 1/2, ap. 3",
			"mailing_city": "Almaty",
			"mailing_state_province": "Almaty",
			"mailing_zip_code": "TEST",
			"mailing_country": "UT",
			"email_address": "[email protected]",
			"phone_number": "999.2345678",
			"company": "Valoru Software",
			"fax": "999.2345678"
		}
	}
}

cryp_advise.RegisterDomainResponse message description:

Register domain response.

Field Type Label Description
status cryp_advise.RegisterDomainStatus status
error cryp_advise.DomainOperationError error or nil

'RegisterDomainResponse' code example:

{
	"trx": "{{trx}}",
	"register_domain_response": {
		"status": "RDS_OK",
		"error": null
	}
}

cryp_advise.DomainInfoRequest message description:

Get domain info.

Field Type Label Description
domain string domain name

'DomainInfoRequest' code example:

{
	"trx": "{{trx}}",
	"domainInfoRequest": {
		"domain": "someunknowndomain.com"
	}
}

cryp_advise.DomainInfoResponse message description:

Get domain info response.

Field Type Label Description
status cryp_advise.DomainInfoStatus status
info cryp_advise.DomainInfo domain info
error cryp_advise.DomainOperationError error or nil

'DomainInfoResponse' code example:

{
	"trx": "{{trx}}",
	"domain_info_response": {
		"status": "GDIS_OK",
		"info": {
			"name": "someunknowndomain.com",
			"status": "DS_OK",
			"id": "someunknowndomain.com",
			"owner": "",
			"created": "1672272000",
			"expires": "1703808000",
			"locked": true,
			"seller": "NAMESILO",
			"ns_records": []
		},
		"error": null
	}
}

cryp_advise.DomainsAvailabilityRequest message description:

Check domain registration availability and it's price.

Field Type Label Description
domains string LABEL_REPEATED domain names
seller cryp_advise.DomainSeller domains seller

'DomainsAvailabilityRequest' code example:

{
	"trx": "{{trx}}",
	"domainsAvailabilityRequest": {
		"domains": [
			"someunknowntestdomain291.com",
			"someunknowntestdomain18.net",
			"someunknowntestdomain29.net"
		],
		"seller": "NAMECHEAP"
	}
}

cryp_advise.DomainsAvailabilityResponse message description:

Check domain registration availability response.

Field Type Label Description
status cryp_advise.GetDomainAvailabilityStatus
availability cryp_advise.DomainAvailability LABEL_REPEATED availability per domain
error cryp_advise.DomainOperationError error or nil

'DomainsAvailabilityResponse' code example:

{
	"trx": "{{trx}}",
	"domains_availability_response": {
		"status": "GDAS_OK",
		"availability": [
			{
				"status": "AS_AVAILABLE",
				"name": "someunknowntestdomain291.com",
				"price": 7.98,
				"duration": 1,
				"premium": false
			},
			{
				"status": "AS_AVAILABLE",
				"name": "someunknowntestdomain18.net",
				"price": 9.98,
				"duration": 1,
				"premium": false
			},
			{
				"status": "AS_AVAILABLE",
				"name": "someunknowntestdomain29.net",
				"price": 9.98,
				"duration": 1,
				"premium": false
			}
		],
		"error": null
	}
}

cryp_advise.DomainCategoriesRequest message description:

Get list of domain categories.

Field Type Label Description

'DomainCategoriesRequest' code example:

{
	"trx": "{{trx}}",
	"domainCategoriesRequest": {}
}

cryp_advise.DomainCategoriesResponse message description:

Domain categories list.

Field Type Label Description
categories cryp_advise.DomainCategory LABEL_REPEATED

'DomainCategoriesResponse' code example:

{
	"trx": "{{trx}}",
	"domain_categories_response": {
		"categories": [
			{
				"name": "Audio & Video",
				"tlds": [
					".live",
					".tv",
					".digital",
					".stream",
					".chat",
					".video",
					".webcam",
					".tube",
					".camera",
					".audio"
				]
			},
			{
				"name": "Business",
				"tlds": [
					".biz",
					".work",
					".company",
					".ltd",
					".works",
					".business",
					".llc",
					".ventures",
					".boutique",
					".enterprises",
					".partners",
					".management",
					".limited",
					".holdings",
					".associates",
					".industries"
				]
			}
		]
	}
}

cryp_advise.SupportedCountryCodesRequest message description:

Get domain seller supported country codes.

Field Type Label Description
seller cryp_advise.DomainSeller

'SupportedCountryCodesRequest' code example:

{
	"trx": "{{trx}}",
	"supportedCountryCodesRequest": {
		"seller": "NAMESILO"
	}
}

cryp_advise.SupportedCountryCodesResponse message description:

Supported country codes.

Field Type Label Description
status cryp_advise.SupportedCountryCodesStatus
country_codes string LABEL_REPEATED

'SupportedCountryCodesResponse' code example:

{
	"trx": "7aeeb772-914f-47e0-a0ab-56a3cda8c192",
	"supported_country_codes_response": {
		"status": "SCC_OK",
		"country_codes": [
			"GA",
			"IL"
		]
	}
}

cryp_advise.RegisteredDomainsRequest message description:

Get user registered domains.

Field Type Label Description

'RegisteredDomainsRequest' code example:

{
	"trx": "{{trx}}",
	"registeredDomainsRequest": {}
}

cryp_advise.RegisteredDomainsResponse message description:

Registered domains response.

Field Type Label Description
domains cryp_advise.Domain LABEL_REPEATED list of user-registered domains

'RegisteredDomainsResponse' code example:

{
	"trx": "c3407152-ad54-45a9-b8be-27639835a717",
	"registered_domains_response": {
		"domains": [
			{
				"name": "hitest1test.com",
				"created": "1672744502",
				"expires": "1704280502",
				"seller": "NAMESILO"
			}
		]
	}
}

cryp_advise.DomainRecordsRequest message description:

Get domain dns records request.

Field Type Label Description
domain string

'DomainRecordsRequest' code example:

{
	"trx": "{{trx}}",
	"domainRecordsRequest": {
		"domain": "someunknowndomain-preprod.com"
	}
}

cryp_advise.DomainRecordsResponse message description:

Domain dns records response.

Field Type Label Description
records cryp_advise.NSRecord LABEL_REPEATED
error cryp_advise.DomainOperationError error or nil

'DomainRecordsResponse' code example:

{
	"trx": "{{trx}}",
	"domain_records_response": {
		"records": [
			{
				"internal_id": "NS1",
				"hostname": "someunknowndomain-preprod.com",
				"type": "NSRT_NS",
				"value": "NS1.SOMEUNKNOWNDOMAIN-PREPROD.COM",
				"ttl": "0"
			},
			{
				"internal_id": "NS2",
				"hostname": "someunknowndomain-preprod.com",
				"type": "NSRT_NS",
				"value": "NS2.SOMEUNKNOWNDOMAIN-PREPROD.COM",
				"ttl": "0"
			},
			{
				"internal_id": "8578bde9686244421a3c4f18b4575deb",
				"hostname": "someunknowndomain-preprod.com",
				"type": "NSRT_A",
				"value": "107.161.23.204",
				"ttl": "3603"
			},
			{
				"internal_id": "c65a2131b4a215dd5cdaf9da192a9a6c",
				"hostname": "someunknowndomain-preprod.com.someunknowndomain-preprod.com",
				"type": "NSRT_A",
				"value": "198.251.81.30",
				"ttl": "3603"
			},
			{
				"internal_id": "fe546ea4f74db474716c019a7f378916",
				"hostname": "www.someunknowndomain-preprod.com",
				"type": "NSRT_CNAME",
				"value": "parking.namesilo.com",
				"ttl": "3603"
			}
		],
		"error": null
	}
}

cryp_advise.GetCategoriesPricesRequest message description:

Get domain categories prices

Field Type Label Description

'GetCategoriesPricesRequest' code example:

{
	"trx": "{{trx}}",
	"getCategoriesPricesRequest": {}
}

cryp_advise.GetCategoriesPricesResponse message description:

Response with prices for zones from categories.

Field Type Label Description
prices cryp_advise.CategoryPrices LABEL_REPEATED

'GetCategoriesPricesResponse' code example:

{
	"trx": "{{trx}}",
	"get_categories_prices_response": {
		"prices": [
			{
				"seller": "NAMECHEAP",
				"category": "Sports",
				"prices": {
					".bike": 29.98,
					".bingo": 43.98,
					".cards": 29.98,
					".cricket": 25.98,
					".fans": 10.98,
					".football": 18.98,
					".game": 389.98,
					".games": 22.48,
					".golf": 48.98,
					".hockey": 43.98,
					".racing": 25.98,
					".run": 19.98,
					".soccer": 18.98,
					".team": 29.98,
					".tennis": 43.98
				}
			},
			{
				"seller": "NAMESILO",
				"category": "Travel",
				"prices": {
					".casino": 16.59,
					".cruises": 37.99,
					".flights": 37.99,
					".holiday": 5.99,
					".tours": 5.99,
					".vacations": 23.99,
					".voyage": 5.99
				}
			},
			{
				"seller": "NAMECHEAP",
				"category": "Travel",
				"prices": {
					".casino": 132.98,
					".cruises": 43.98,
					".flights": 43.98,
					".holiday": 48.98,
					".tours": 48.98,
					".vacations": 29.98,
					".voyage": 43.98
				}
			}
		]
	}
}

cryp_advise.SetDomainRecordsRequest message description:

Set, update or delete domain host records. This request doesn't support NS records, please use SetDomainNameserversRequest. If empty value value is passed in NSRecord then entry will be deleted.

Field Type Label Description
domain string
records cryp_advise.NSRecord LABEL_REPEATED

'SetDomainRecordsRequest' code example:

{
	"trx": "{{trx}}",
	"setDomainRecordsRequest": {
		"domain": "someunknowntestdomain.com",
		"records": [
			{
				"ttl": 86400,
				"hostname": "ns1",
				"type": 6,
				"value": "ns1.someunknowndomain-preprod.com"
			},
			{
				"ttl": 86400,
				"hostname": "ns2",
				"type": 6,
				"value": "ns2.someunknowndomain-preprod.com"
			}
		]
	}
}

cryp_advise.SetDomainRecordsResponse message description:

Domain dns records response.

Field Type Label Description
status cryp_advise.SetDomainRecordsStatus
error cryp_advise.DomainOperationError error

'SetDomainRecordsResponse' code example:

{
	"trx": "{{trx}}",
	"set_domain_records_response": {
		"status": "SDR_STATUS_OK",
		"error": null
	}
}

cryp_advise.GetAssociatedNameserversRequest message description:

Get associated nameservers.

Field Type Label Description
domain string

'GetAssociatedNameserversRequest' code example:

{
	"trx": "{{trx}}",
	"getAssociatedNameserversRequest": {
		"domain": "someunknowntestdomain.com"
	}
}

cryp_advise.GetAssociatedNameserversResponse message description:

Associated nameservers

Field Type Label Description
servers cryp_advise.Nameserver LABEL_REPEATED

'GetAssociatedNameserversResponse' code example:

{
	"trx": "{{trx}}",
	"get_associated_nameserver_response": {
		"servers": [
			{
				"host": "ns1",
				"domain": "someunknowntestdomain.com",
				"ip": "8.8.8.8"
			}
		]
	}
}

cryp_advise.SetAssociatedNameserverRequest message description:

Sets associated nameserver or deletes it if value is empty.

Field Type Label Description
entry cryp_advise.Nameserver nameserver entry

'SetAssociatedNameserverRequest' code example:

{
	"trx": "{{trx}}",
	"setAssociatedNameserverRequest": {
		"entry": {
			"host": "ns3",
			"domain": "someunknowntestdomain.com",
			"ip": "8.8.4.4"
		}
	}
}

cryp_advise.SetAssociatedNameserverResponse message description:

Associated nameservers response.

Field Type Label Description
status cryp_advise.SetAssociatedNameserverStatus status
error cryp_advise.DomainOperationError validation errors

'SetAssociatedNameserverResponse' code example:

{
	"trx": "{{trx}}",
	"set_associated_nameserver_response": {
		"status": "SAN_STATUS_OK",
		"error": null
	}
}

cryp_advise.SetDomainAutoRenewRequest message:

Field Type Label Description
domain string
auto_renew bool

cryp_advise.SetDomainAutoRenewResponse message:

Field Type Label Description
status cryp_advise.SetDomainAutoRenewStatus status
error cryp_advise.DomainOperationError error

Domain related structures

cryp_advise.CategoryPrices message:

Field Type Label Description
seller cryp_advise.DomainSeller
category string
prices cryp_advise.CategoryPrices.PricesEntry LABEL_REPEATED

cryp_advise.DomainOperationError message:

Field Type Label Description
error_message string error message
error_code string error code
validation_errors cryp_advise.ValidationError LABEL_REPEATED validation errors

cryp_advise.ValidationError message description:

validation error

Field Type Label Description
field string field name
reason string validation error reason

cryp_advise.DomainCategory message:

Field Type Label Description
name string
tlds string LABEL_REPEATED

cryp_advise.NamecheapContactInformation message:

Field Type Label Description
registrant_first_name string First name of the Registrant user
registrant_last_name string Second name of the Registrant user
registrant_address_1 string Address1 of the Registrant user
registrant_city string City of the Registrant user
registrant_state_province string State/Province of the Registrant user
registrant_postal_code string PostalCode of the Registrant user
registrant_country string Country of the Registrant user
registrant_phone string Phone number in the format +NNN.NNNNNNNNNN
registrant_email_address string Email address of the Registrant user
tech_first_name string First name of the Tech user
tech_last_name string Second name of the Tech user
tech_address_1 string Address1 of the Tech user
tech_city string City of the Tech user
tech_state_province string State/Province of the Tech user
tech_postal_code string PostalCode of the Tech user
tech_country string Country of the Tech user
tech_phone string Phone number in the format +NNN.NNNNNNNNNN
tech_email_address string Email address of the Tech user
admin_first_name string First name of the Admin user
admin_last_name string Second name of the Admin user
admin_address_1 string Address1 of the Admin user
admin_city string City of the Admin user
admin_state_province string AdminStateProvince String 50 Yes State/Province of the Admin user
admin_state_province_choice string AdminStateProvinceChoice String 50 No StateProvinceChoice of the Admin user
admin_postal_code string AdminPostalCode String 50 Yes PostalCode of the Admin user
admin_country string AdminCountry String 50 Yes Country of the Admin user
admin_phone string AdminPhone String 50 Yes Phone number in the format +NNN.NNNNNNNNNN
admin_email_address string AdminEmailAddress String 255 Yes Email address of the Admin user
aux_billing_first_name string AuxBillingFirstName String 255 Yes First name of the AuxBilling user
aux_billing_last_name string Second name of the AuxBilling user
aux_billing_address_1 string Address1 of the AuxBilling user
aux_billing_city string City of the AuxBilling user
aux_billing_state_province string State/Province of the AuxBilling user
aux_billing_postal_code string PostalCode of the AuxBilling user
aux_billing_country string Country of the AuxBilling user
aux_billing_phone string Phone number in the format +NNN.NNNNNNNNNN
aux_billing_email_address string Email address of the AuxBilling user
extended_attributes cryp_advise.NamecheapExtAttr LABEL_REPEATED Extended attributes String Yes Required for .us, .eu, .ca, .co.uk, .org.uk, .me.uk, .nu, .com.au, .net.au, .org.au, .es, .nom.es, .com.es, .org.es, .de, .fr TLDs only

cryp_advise.NamesiloContactInformation message:

Field Type Label Description
first_name string First name
last_name string Last name
mailing_address string Mailing address
mailing_city string Mailing city
mailing_state_province string Mailing state province
mailing_zip_code string Mailing zip code
mailing_country string Mailing country
email_address string Email address
phone_number string Phone number in the format +NNN.NNNNNNNNNN
company string Company
fax string Fax
usnexus_category string .US Nexus Category (3) (must use correct abbreviation)
usapplication_purpose string .US Application Purpose (2) (must use correct abbreviation)

cryp_advise.NamecheapExtAttr message description:

Extended Attributes

Field Type Label Description
us_attr cryp_advise.NamecheapExtAttr.USAttr
eu_attr cryp_advise.NamecheapExtAttr.EUAttr
nu_attr cryp_advise.NamecheapExtAttr.NUAttr
cira_attr cryp_advise.NamecheapExtAttr.CIRAAttr
couk_attr cryp_advise.NamecheapExtAttr.COUKAttr
meuk_attr cryp_advise.NamecheapExtAttr.MEUKAttr
orguk_attr cryp_advise.NamecheapExtAttr.ORGUKAttr
comau_attr cryp_advise.NamecheapExtAttr.COMAUAttr
netau_attr cryp_advise.NamecheapExtAttr.NETAUAttr
orgau_attr cryp_advise.NamecheapExtAttr.ORGAUAttr
es_attr cryp_advise.NamecheapExtAttr.ESAttr
nomes_attr cryp_advise.NamecheapExtAttr.NOMESAttr
comes_attr cryp_advise.NamecheapExtAttr.COMESAttr
orges_attr cryp_advise.NamecheapExtAttr.ORGESAttr
de_attr cryp_advise.NamecheapExtAttr.DEAttr
fr_attr cryp_advise.NamecheapExtAttr.FRAttr

cryp_advise.DomainInfo message description:

Extended domain info

Field Type Label Description
name string domain name
status cryp_advise.DomainStatus domain status
id string domain internal id (seller id)
owner string domain owner
created uint62 created date, e.g. 2006-12-27 in unix seconds
expires uint62 expires at date in unix seconds
locked bool is domain locked? if domain is locked it cannot be transferred to another registrar
seller cryp_advise.DomainSeller domain seller or UNAVAILABLE
ns_records cryp_advise.NSRecord LABEL_REPEATED domain ns records

cryp_advise.Domain message description:

Domain entry

Field Type Label Description
name string domain name
created uint62 created date, e.g. 2006-12-27 in unix seconds
expires uint62 expires at date in unix seconds
seller cryp_advise.DomainSeller domain seller or UNAVAILABLE

Domain related structures

cryp_advise.NSRecord message:

Field Type Label Description
internal_id string record internal id. if not specified upon any NS action then new entry will be created, otherwise present value is updated.
hostname string hostname
type cryp_advise.NSRecordType ns record type
value string value. if empty then nsrecord will be considered for deletion
ttl uint62 ttl

cryp_advise.DomainAvailability message:

Field Type Label Description
status cryp_advise.AvailabilityStatus availability status
name string domain name
price float64 domain price with corresponding registration period duration
duration uint32 duration in years
premium bool premium flag

cryp_advise.Nameserver message:

Field Type Label Description
host string hostname. should not include domain name, e.g. "ns1.domain.com" should be "ns1"
domain string domain name
ip string nameserver ip address

Enums

cryp_advise.LoginStatus:

Value Description
LS_OK ok
LS_FAILED invalid credentials provided
LS_INVALID_REQUEST invalid request parameters provided

cryp_advise.RegistrationStatus:

Value Description
RS_OK ok
RS_EMAIL_ALREADY_REGISTERED email already registered
RS_PHONE_ALREADY_REGISTERED phone number already registered
RS_PASSWORD_IS_TOO_WEAK provided password is too weak
RS_INVALID_EMAIL_PROVIDED invalid email provided

cryp_advise.ConfirmationStatus:

Value Description
CS_OK ok
CS_INVALID_ID_PROVIDED invalid id provided
CS_EMAIL_ALREADY_VERIFIED email already verified
CS_CONFIRMATION_LINK_OUTDATED confirmation link is outdated

cryp_advise.ClaimPasswordResetStatus:

Value Description
CPRS_OK ok
CPRS_TRY_LATER please try again later
CPRS_USER_NOT_FOUND user not found

cryp_advise.ResetPasswordStatus:

Value Description
RPS_OK ok
RPS_INVALID_ID_PROVIDED invalid id provided
RPS_LINK_OUTDATED link outdated

cryp_advise.ListInstanceDisksStatus:

Value Description
LIDS_OK ok
LIDS_INVALID_ID_PROVIDED invalid id provided

cryp_advise.PlaceServerOrderStatus:

Value Description
PSOS_OK ok
PSOS_NAME_ALREADY_EXISTS name already exists
PSOS_INVALID_HOSTING_PROVIDER invalid hosting provided
PSOS_CURRENCY_NOT_SUPPORTED currency not supported
PSOS_INVALID_PLAN invalid plan provided
PSOS_INVALID_REGION invalid region provided
PSOS_INVALID_DATACENTER invalid datacenter id provided
PSOS_AUTH_PARAMS_ARE_MISSING authorization parameters are missing

cryp_advise.ListServersStatus:

Value Description
LSS_OK ok
LSS_INVALID_HOSTING_PROVIDER invalid host provided
LSS_BAD_PAYLOAD bad request (invalid page index or page size)

cryp_advise.ListPlansStatus:

Value Description
LPS_OK ok
LPS_INVALID_HOSTING_PROVIDER invalid host provided

cryp_advise.UserInfoStatus:

Value Description
UIS_OK ok
UIS_USER_NOT_FOUND user not found

cryp_advise.PaymentStatus:

Value Description
PS_OK ok
PS_CURRENCY_NOT_SUPPORTED currency is not supported
PS_INVALID_AMOUNT invalid amount provided
PS_DENOMINATION_ERROR denomination error related to provided currency
PS_AMOUNT_EXCEEDS_LIMITS amount exceeds limits
PS_EXCHANGE_RATE_OUTDATED exchange rates are outdated, please retry
PS_ORDER_NOT_FOUND order id not found
PS_INVALID_REQUEST invalid request

cryp_advise.OrderAmountStatus:

Value Description
GOA_OK ok
GOA_ORDER_NOT_FOUND order id not found
GOA_ALREADY_PROCESSED already processed

cryp_advise.DeleteInstanceStatus:

Value Description
DIS_OK ok
DIS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.RestartInstanceStatus:

Value Description
RIS_OK ok
RIS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.ResizeInstanceStatus:

Value Description
RESIS_OK ok
RESIS_ID_DOESNT_EXIST instance with this id doesn't exist
RESIS_INVALID_PLAN_PROVIDED

cryp_advise.PowerOffInstanceStatus:

Value Description
POIS_OK ok
POIS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.RebuildInstanceStatus:

Value Description
RBIS_OK ok
RBIS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.ResetInstanceRootPassStatus:

Value Description
RIRPS_OK ok
RIRPS_ID_DOESNT_EXIST instance with this id doesn't exist
RIRPS_INVALID_REQUEST

cryp_advise.InstanceStatsStatus:

Value Description
ISS_OK ok
ISS_ID_DOESNT_EXIST instance with this id doesn't exist
ISS_NO_STATS

cryp_advise.UpdateUserInfoStatus:

Value Description
UUIS_OK ok
UUIS_USER_DOESNT_EXIST user with this id doesn't exist
UUIS_INVALID_REQUEST
UUIS_EMAIL_ALREADY_EXISTS

cryp_advise.DeleteAccountStatus:

Value Description
DAS_OK ok
DAS_ALREADY_DELETED

cryp_advise.InstanceInfoStatus:

Value Description
IIS_OK ok
IIS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.UpdateInstanceConfigStatus:

Value Description
UICSS_OK ok
UICSS_ID_DOESNT_EXIST instance with this id doesn't exist

cryp_advise.ContactFormStatus:

Value Description
CFS_OK ok
CFS_TOO_MANY_REQUESTS too many requests, please try later
CFS_INVALID_REQUEST invalid request data
CFS_MESSAGE_TOO_LONG message is too long
CFS_USER_NOT_FOUND user not found

cryp_advise.CancelUpcomingPaymentStatus:

Value Description
CUPS_OK ok
CUPS_DOESNT_EXIST upcoming payment with this id doesn't exist
CUPS_ALREADY_CANCELLED upcoming payment is already cancelled

cryp_advise.UpdateUserSSHKeyStatus:

Value Description
UUSKS_OK ok
UUSKS_ID_EXCEEDS_LIMIT ssh key index id exceeds limits
UUSKS_INVALID_REQUEST invalid request

cryp_advise.DeleteUserSSHKeyStatus:

Value Description
DUSKS_OK ok
DUSKS_ID_DOESNT_EXIST ssh key index id doesn't exist

cryp_advise.OAuthProvider:

Value Description
OP_GOOGLE Google Sign-in
OP_FACEBOOK Facebook login

cryp_advise.ClaimConfirmationEmailStatus:

Value Description
CCES_OK ok
CCES_TRY_LATER try again later
CCES_USER_NOT_FOUND user not found, your token is outdated and will be expired
CCES_INTERNAL_ERROR please contact support team

cryp_advise.UserAttributesGroup:

Value Description
UAG_PERSONAL_INFO personal info
UAG_DOMAIN_CONTACT_INFO domain registration related info

cryp_advise.OAuthLoginStatus:

Value Description
OALS_OK ok
OALS_EMAIL_IS_NOT_ASSOCIATED there's no email that is associated with the account
OALS_ERROR unknown error provided as the string

cryp_advise.ChangePasswordStatus:

Value Description
CPS_OK ok
CPS_PASSWORD_DOESNT_MATCH current password doesn't match
CPS_INVALID_REQUEST new password contains invalid symbols
CPS_TRY_LATER please try later

cryp_advise.DiskStatus:

Value Description
DISK_READY
DISK_NOT_READY
DISK_DELETING

cryp_advise.Host:

Value Description
HOST_LINODE
HOST_VULTR
HOST_DIGITAL_OCEAN

cryp_advise.InstanceStatus:

Value Description
INSTANCE_BOOTING
INSTANCE_RUNNING
INSTANCE_OFFLINE
INSTANCE_SHUTTING_DOWN
INSTANCE_REBOOTING
INSTANCE_PROVISIONING
INSTANCE_DELETING
INSTANCE_MIGRATING
INSTANCE_REBUILDING
INSTANCE_CLONING
INSTANCE_RESTORING
INSTANCE_RESIZING
INSTANCE_NOT_EXISTING
INSTANCE_CANCELLED
INSTANCE_CREATING
INSTANCE_UPDATING

cryp_advise.OrderStatus:

Value Description
ORDER_IN_PROGRESS
ORDER_PROCESSED
ORDER_PAYMENT_PARTIALLY_RECEIVED
ORDER_EXPIRED
ORDER_AMOUNT_IS_NOT_ENOUGH
ORDER_DECLINED
ORDER_TRANSACTION_NOT_FOUND
ORDER_ALREADY_CONFIRMED
ORDER_INTERNAL_ERROR

cryp_advise.BillingEntryStatus:

Value Description
BILLING_CONFIRMED
BILLING_NOT_CONFIRMED
BILLING_CANCELLED
BILLING_PENDING
BILLING_FAILED
BILLING_AMOUNT_NOT_ENOUGH amount received is not anough

cryp_advise.Currency:

Value Description
BTC
USDTE
USDTT
ETH
USD
EUR
POINTS

cryp_advise.PaymentNotificationStatus:

Value Description
CONFIRMED
DECLINED
IN_PROGRESS

cryp_advise.InstanceAction:

Value Description
INSTANCE_CREATE
INSTANCE_DELETE
INSTANCE_POWER_OFF
INSTANCE_RESTART
INSTANCE_PAUSE
INSTANCE_RESIZE
INSTANCE_REBUILD
INSTANCE_UPDATE_LABEL
INSTANCE_STATS
INSTANCE_LIST_DISKS
INSTANCE_RESET_PASSWORD

cryp_advise.PlanType:

Value Description
PLAN_TYPE_HOURLY
PLAN_TYPE_MONTHLY

cryp_advise.UserAttribute:

Value Description
USER_ATTR_FULL_NAME
USER_ATTR_PHONE
USER_ATTR_BILLING_ADDRESS
USER_ATTR_BILLING_ADDRESS_ADDITIONAL
USER_ATTR_TAX_ID

cryp_advise.UpcomingPaymentStatus:

Value Description
UPS_ACTUAL
UPS_PROCESSED
UPS_CANCELLED

cryp_advise.PaymentMethod:

Value Description
PM_COINSPAID
PM_BITPAY

cryp_advise.TxType:

Value Description
TT_ORDER
TT_REPLENISHMENT

cryp_advise.GroupByPeriod:

Value Description
GBP_NONE
GBP_HOUR
GBP_DAY
GBP_DAY_SUM

cryp_advise.DomainSeller:

Value Description
NAMESILO
NAMECHEAP
UNAVAILABLE

cryp_advise.RegisterDomainStatus:

Value Description
RDS_OK
RDS_VALIDATION_ERROR
RDS_GATEWAY_ERROR

cryp_advise.DomainInfoStatus:

Value Description
GDIS_OK
GDIS_NOT_FOUND
GDIS_ACCESS_DENIED
GDIS_INVALID_REQUEST

cryp_advise.DomainStatus:

Value Description
DS_OK
DS_LOCKED
DS_EXPIRED
DS_UNKNOWN

cryp_advise.GetDomainAvailabilityStatus:

Value Description
GDAS_OK
GDAS_TRY_LATER
GDAS_INVALID_REQUEST

cryp_advise.AvailabilityStatus:

Value Description
AS_AVAILABLE
AS_UNAVAILABLE
AS_TRY_LATER
AS_INVALID_REQUEST

cryp_advise.SupportedCountryCodesStatus:

Value Description
SCC_OK
SCC_INVALID_REQUEST

cryp_advise.SetDomainRecordsStatus:

Value Description
SDR_STATUS_OK
SDR_VALIDATION_ERROR
SDR_DOMAIN_NOT_FOUND
SDR_GATEWAY_ERROR

cryp_advise.SetAssociatedNameserverStatus:

Value Description
SAN_STATUS_OK
SAN_VALIDATION_ERROR
SAN_GATEWAY_ERROR
SAN_INTERNAL_ERROR
SAN_DOMAIN_NOT_FOUND

cryp_advise.NSRecordType:

Value Description
NSRT_A
NSRT_AAAA
NSRT_CNAME
NSRT_MX
NSRT_SOA
NSRT_TXT
NSRT_NS
NSRT_CAA

cryp_advise.SetDomainAutoRenewStatus:

Value Description
SDARS_OK
SDARS_DOMAIN_NOT_FOUND
SDARS_INTERNAL_ERROR