Cherry Servers API Docs (1.0.0)

Download OpenAPI specification:Download

Authentication

Most of the endpoints require authentication. Authenticating is done with an Bearer Token in the Authorization header.

    curl -H 'Authorization: Bearer my_authentication_token'

Authentication tokens are used to identify the user your application is connecting to the Cherry Servers API on behalf of. Think of authentication tokens as permanent sessions—the user creates authentication tokens, and your app can use them to connect to the API on their behalf until they delete the token.

Users can create authentication tokens in the Cherry Server client portal.

Requests

Communicate with the API by making an HTTP request at the correct endpoint. The chosen method determines the action taken.

GET To retrieve information about a resource, use the GET method. The data is returned as a JSON object. GET methods are read-only and do not affect any resources.
POST Issue a POST method to create a new object. Include all needed attributes in the request body encoded as JSON.
PATCH Some resources support partial modification with PATCH, which modifies specific attributes without updating the entire object representation.
PUT Use the PUT method to update information about a resource. PUT will set new values on the item without regard to their current values.
DELETE Use the DELETE method to destroy a resource in your account. If it is not found, the operation will return a 4xx error and an appropriate message.

Rate Limit: Cherry Servers safeguards the API against bursts of incoming traffic based on the request's IP address to ensure stability for all users. If your application sends more than 4 requests per second, the API may return HTTP status code 429.

Response codes

Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the 5xx range indicate an error with internal servers.

200, 201, 204 Everything worked as expexted.
400 Bad parameters or request can't be made.
401 No valid API key provided.
403 Insufficient permissions to access resource.
404 Resource doesn't exist.
500 Internal error. Something went wrong in our side.

Common parameters

List parameters:

Limit Ofset X-Total-Count header

More params: query parameter fields

Servers

Retrieve server actions.

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "action"

Responses

Response samples

Content type
application/json
[
  • { }
]

Perform an action

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "server,href,specs,plan,pricing,ip,region,bmc,software,vlan,storage,bgp,id,name"
Request Body schema: application/json
type
required
string

Type of action reboot,power-on,power-off,rebuild,enter-rescue-mode,exit-rescue-mode,reset-bmc-password,upgrade,create-console-access

image
string

slug of image, only for rebuild or upgrade action

hostname
string <HostnameConstraint>

Only for rebuild or upgrade action

password
string <PasswordConstraint>

Only for rebuild, rescue or upgrade action

plan
string

Object slug, only for upgrade action

plan_id
integer\d+
Deprecated

Only for upgrade action

ssh_keys
required
Array of integers
Default: []

List of ssh keys id identifiers for rebuild or upgrade action

os_partition_size
integer <OsPartitionSizeConstraint>

Only for rebuild action

os_disk
string <OsDiskConstraint>

Only for rebuild action

os_raid_level
string <OsRaidLevelConstraint>

Only for rebuild action

user_data
required
string <UserDataConstraint>
Default: ""

Base64 encoded User-Data blob. It should be either bash or cloud-config script

allowed_ip
string
Default: ""

Only for create-console-access action. The IP address that will be allowed to connect to the console. If not provided any IP will be permitted.

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "image": "string",
  • "hostname": "string",
  • "password": "string",
  • "plan": "string",
  • "plan_id": 0,
  • "ssh_keys": [ ],
  • "os_partition_size": 0,
  • "os_disk": "string",
  • "os_raid_level": "string",
  • "user_data": "",
  • "allowed_ip": ""
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "E3-1240v3",
  • "href": "string",
  • "bmc": {
    },
  • "hostname": "localhost",
  • "password": "p@$$wor&",
  • "username": "root",
  • "image": "string",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "status": "deploying",
  • "bgp": {
    },
  • "software": {
    },
  • "plan": {
    },
  • "pricing": {
    },
  • "ip_addresses": { },
  • "ssh_keys": [
    ],
  • "vlan": 0,
  • "storage": {
    },
  • "tags": {
    },
  • "termination_date": "string",
  • "upgradable": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "traffic_used_bytes": 0,
  • "network": "string",
  • "deployed_image": {
    },
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Retrieve a server

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "server,href,specs,plan,pricing,ip,region,bmc,software,vlan,storage,bgp,id,name,os_raid_level,os_disk"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "E3-1240v3",
  • "href": "string",
  • "bmc": {
    },
  • "hostname": "localhost",
  • "password": "p@$$wor&",
  • "username": "root",
  • "image": "string",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "status": "deploying",
  • "bgp": {
    },
  • "software": {
    },
  • "plan": {
    },
  • "pricing": {
    },
  • "ip_addresses": { },
  • "ssh_keys": [
    ],
  • "vlan": 0,
  • "storage": {
    },
  • "tags": {
    },
  • "termination_date": "string",
  • "upgradable": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "traffic_used_bytes": 0,
  • "network": "string",
  • "deployed_image": {
    },
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Update a server

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "server,href,specs,plan,pricing,region,software,vlan,storage,bgp,id"
Request Body schema: application/json
name
string
hostname
string <HostnameConstraint>
tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

bgp
boolean

True to enable BGP or false to disable.

enable_ipv6
string <IPv6ChangeStateConstraint>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "hostname": "string",
  • "tags": "string",
  • "bgp": true,
  • "enable_ipv6": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "E3-1240v3",
  • "href": "string",
  • "bmc": { },
  • "hostname": "localhost",
  • "password": "p@$$wor&",
  • "username": "root",
  • "image": "string",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "status": "deploying",
  • "bgp": {
    },
  • "software": {
    },
  • "plan": {
    },
  • "pricing": {
    },
  • "ip_addresses": { },
  • "ssh_keys": [
    ],
  • "vlan": 0,
  • "storage": {
    },
  • "tags": {
    },
  • "termination_date": "string",
  • "upgradable": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "traffic_used_bytes": 0,
  • "network": "string",
  • "deployed_image": {
    },
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Delete a server

Authorizations:
Bearer
path Parameters
serverId
required
string

Responses

Retrieve project servers

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
bgp_status
array<string>
bgp_enabled
boolean
bgp_available
boolean
bgp_active
boolean
bgp_connected
boolean
backup_storage_activated
boolean
state
array<string>
status
array<string>
search
string

Search by public IP address or hostname

fields
required
string
Default: "server,href,specs,plan,pricing,ip,region,software,vlan,storage,bgp,id,name"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request a server

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "server,href,specs,plan,pricing,region,software,vlan,storage,bgp,id"
Request Body schema: application/json
plan_id
integer <PlanIdConstraint>
Deprecated
plan
required
string

object slug

image
string <ServerImageConstraint>

object slug

os_partition_size
integer <OsPartitionSizeConstraint>
region
required
string <RegionConstraint>

object slug`

hostname
string <HostnameConstraint>
Default: ""
ssh_keys
Array of integers
Default: []

List of ssh keys id identifiers

ip_addresses
Array of strings
Default: []

List of ip addresses id identifiers

addons
Array of integers
Deprecated
Default: []

List of addons id identifiers

variant_ids
Array of integers
Default: []

List of custom variants id identifiers

user_data
string <UserDataConstraint>

Base64 encoded User-Data blob. It should be either bash or cloud-config script

tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

spot_market
integer|bool
Default: false

Request a server as a spot instance

storage_id
integer

Elastic block storage id

discount
string
Default: ""

Discount title

Responses

Request samples

Content type
application/json
{
  • "plan_id": 0,
  • "plan": "string",
  • "image": "string",
  • "os_partition_size": 0,
  • "region": "string",
  • "hostname": "",
  • "ssh_keys": [ ],
  • "ip_addresses": [ ],
  • "addons": [ ],
  • "variant_ids": [ ],
  • "user_data": "string",
  • "tags": "string",
  • "spot_market": false,
  • "storage_id": 0,
  • "discount": ""
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "E3-1240v3",
  • "href": "string",
  • "bmc": { },
  • "hostname": "localhost",
  • "password": "p@$$wor&",
  • "username": "root",
  • "image": "string",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "status": "deploying",
  • "bgp": {
    },
  • "software": {
    },
  • "plan": {
    },
  • "pricing": {
    },
  • "ip_addresses": { },
  • "ssh_keys": [
    ],
  • "vlan": 0,
  • "storage": {
    },
  • "tags": {
    },
  • "termination_date": "string",
  • "upgradable": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "traffic_used_bytes": 0,
  • "network": "string",
  • "deployed_image": {
    },
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Spot server termination date

When Spot Server termination process is initiated, termination_date attribute will be changed from None to actual date, typically it will be two minutes before server termination to have time to finish your work.

Authorizations:
Bearer
path Parameters
serverId
required
string

Responses

Response samples

Content type
application/json
{
  • "termination_date": "string"
}

Backup Storage

Retrieve backup storage plans.

Authorizations:
Bearer
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "plan,region,pricing"

Responses

Retrieve project backup storages.

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "backup,server,plan,region,pricing,ip"

Responses

Request a backup storage.

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "backup,server,plan,region,pricing,ip"
Request Body schema: application/json
slug
required
string

Backup storage plan slug.

ssh_key
string <SshKeyConstraint>

Public SSH key.

region
required
string
Default: "eu_nord_1"

object slug`

Responses

Request samples

Content type
application/json
{
  • "slug": "string",
  • "ssh_key": "string",
  • "region": "eu_nord_1"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "string",
  • "state": "string",
  • "private_ip": "string",
  • "public_ip": "string",
  • "size_gigabytes": 0,
  • "used_gigabytes": 0,
  • "methods": [
    ],
  • "rules": [
    ],
  • "available_addresses": [
    ],
  • "plan": {
    },
  • "pricing": {
    },
  • "region": {
    },
  • "attached_to": {
    },
  • "upgradable": true,
  • "href": "string"
}

Retrieve a backup storage.

Authorizations:
Bearer
path Parameters
backupStorageId
required
string
query Parameters
fields
required
string
Default: "backup,server,plan,pricing,ip,region"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "string",
  • "state": "string",
  • "private_ip": "string",
  • "public_ip": "string",
  • "size_gigabytes": 0,
  • "used_gigabytes": 0,
  • "methods": [
    ],
  • "rules": [
    ],
  • "available_addresses": [
    ],
  • "plan": {
    },
  • "pricing": {
    },
  • "region": {
    },
  • "attached_to": {
    },
  • "upgradable": true,
  • "href": "string"
}

Update Backup Storage.

Authorizations:
Bearer
path Parameters
backupStorageId
required
string
query Parameters
fields
required
string
Default: "backup,server,plan,pricing,ip,region"
Request Body schema: application/json
slug
string

Slug of backup plan upgrade to

password
string <PasswordConstraint>

Change backup access method user password.

ssh_key
string <SshKeyConstraint>

Change backup access method ssh key.

Responses

Request samples

Content type
application/json
{
  • "slug": "string",
  • "password": "string",
  • "ssh_key": "string"
}

Delete backup storage.

Authorizations:
Bearer
path Parameters
backupStorageId
required
string

Responses

Update backup storage access methods.

Authorizations:
Bearer
path Parameters
backupStorageId
required
string
method
required
string
query Parameters
fields
required
string
Default: "backup"
Request Body schema: application/json
enabled
boolean

True to enable or false to disable.

whitelist
Array of strings

A list of IP addresses.

ssh_key
string <SshKeyConstraint>

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "whitelist": [
    ],
  • "ssh_key": "string"
}

Load Balancer

List Load Balancers

The request will retrieve all Load Balancers in a specified project.

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"

Responses

Create a new load balancer

This request will create a new Load Balancer.

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"
Request Body schema: application/json
name
string
slug
required
string <BalancerPlanSlugConstraint>
region
required
string
Default: "eu_nord_1"
cycle_id
required
string <CycleIdConstraint>
Default: 37

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "slug": "string",
  • "region": "eu_nord_1",
  • "cycle_id": 37
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "state": "string",
  • "status": "string",
  • "plan": {
    },
  • "href": "string",
  • "servers": { },
  • "rules": { },
  • "ip_addresses": { },
  • "region": {
    },
  • "backends": { },
  • "metrics": { },
  • "primary_ip_address": {
    },
  • "sticky_cookie": "string",
  • "sticky_enabled": true,
  • "https_redirect_enabled": true,
  • "proxy_enabled": true,
  • "certificates": { },
  • "pricing": {
    },
  • "health_check": {
    }
}

List Load Balancer plans

The request will fetch all Load Balancer plans.

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "plan,region,pricing"

Responses

Retrieve a Load Balancer

The request will retrieve an existing Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "state": "string",
  • "status": "string",
  • "plan": {
    },
  • "href": "string",
  • "servers": { },
  • "rules": { },
  • "ip_addresses": { },
  • "region": {
    },
  • "backends": { },
  • "metrics": { },
  • "primary_ip_address": {
    },
  • "sticky_cookie": "string",
  • "sticky_enabled": true,
  • "https_redirect_enabled": true,
  • "proxy_enabled": true,
  • "certificates": { },
  • "pricing": {
    },
  • "health_check": {
    }
}

Update a Load Balancer

The request will update an existing Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"
Request Body schema: application/json
name
string
slug
string <BalancerPlanSlugConstraint>
sticky_cookie
string
sticky_enabled
string
https_redirect_enabled
string
proxy_enabled
string
health_check_enabled
string
health_check_path
string.+
health_check_interval
string\d+
healthy_threshold
string\d+
unhealthy_threshold
string\d+

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "slug": "string",
  • "sticky_cookie": "string",
  • "sticky_enabled": "string",
  • "https_redirect_enabled": "string",
  • "proxy_enabled": "string",
  • "health_check_enabled": "string",
  • "health_check_path": "string",
  • "health_check_interval": "string",
  • "healthy_threshold": "string",
  • "unhealthy_threshold": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "state": "string",
  • "status": "string",
  • "plan": {
    },
  • "href": "string",
  • "servers": { },
  • "rules": { },
  • "ip_addresses": { },
  • "region": {
    },
  • "backends": { },
  • "metrics": { },
  • "primary_ip_address": {
    },
  • "sticky_cookie": "string",
  • "sticky_enabled": true,
  • "https_redirect_enabled": true,
  • "proxy_enabled": true,
  • "certificates": { },
  • "pricing": {
    },
  • "health_check": {
    }
}

Delete a Load Balancer

This endpoint allows you to delete an existing Load Balancer object by ID.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string

Responses

Perform an action

This endpoint allows you to perform various actions on a Load Balancer object, such as resetting it.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"
Request Body schema: application/json
type
required
stringreset

Type of action reset

Responses

Request samples

Content type
application/json
{
  • "type": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "state": "string",
  • "status": "string",
  • "plan": {
    },
  • "href": "string",
  • "servers": { },
  • "rules": { },
  • "ip_addresses": { },
  • "region": {
    },
  • "backends": { },
  • "metrics": { },
  • "primary_ip_address": {
    },
  • "sticky_cookie": "string",
  • "sticky_enabled": true,
  • "https_redirect_enabled": true,
  • "proxy_enabled": true,
  • "certificates": { },
  • "pricing": {
    },
  • "health_check": {
    }
}

List Load Balancer rules

The request will fetch all Load Balancer rules.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,rule"

Responses

Create a new Load Balancer rule

This endpoint allows you to create the rules for a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,rule"
Request Body schema: application/json
source_port
required
string^(?!(22|3000|5555|6666|666|5656)$)\d+$
source_protocol
required
stringhttp|https|http2|tcp
destination_port
required
string\d+
destination_protocol
required
stringtcp|http|https|http2
certificate_id
string
balance
required
stringroundrobin|static-rr|leastconn|source
Default: "roundrobin"

Responses

Request samples

Content type
application/json
{
  • "source_port": "string",
  • "source_protocol": "string",
  • "destination_port": "string",
  • "destination_protocol": "string",
  • "certificate_id": "string",
  • "balance": "roundrobin"
}

Retrieve a Load Balancer rule

This request will retrieve a Load Balancer rule object by specified ID.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
loadBalancerRuleId
required
string
query Parameters
fields
required
string
Default: "load_balancer,rule"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "state": "string",
  • "status": "string",
  • "plan": { },
  • "href": "string",
  • "servers": { },
  • "rules": { },
  • "ip_addresses": { },
  • "region": { },
  • "backends": { },
  • "metrics": { },
  • "primary_ip_address": { },
  • "sticky_cookie": "string",
  • "sticky_enabled": true,
  • "https_redirect_enabled": true,
  • "proxy_enabled": true,
  • "certificates": { },
  • "pricing": { },
  • "health_check": {
    }
}

Delete Load Balancer rule

This endpoint allows you to delete a Load Balancer rule object by specified ID.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
loadBalancerRuleId
required
string

Responses

List Load Balancer servers

The request provides you with a brief overview of the servers involved in the Load Balancer.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"

Responses

Add a server to a Load Balancer

This endpoint allows you to add a server to a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,server,ip,region,plan,pricing"
Request Body schema: application/json
server_id
required
string
server_weight
required
string\d+
Default: 99

Responses

Request samples

Content type
application/json
{
  • "server_id": "string",
  • "server_weight": 99
}

Remove a server from a Load Balancer

This endpoint allows you to remove a server from a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
server_id
required
string

Responses

List certificates

The request will fetch all SSL certificates added to a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,certificate"

Responses

Add a certificate

This endpoint allows you to add SSL certificates to a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "load_balancer,certificate"
Request Body schema: application/json
key
required
string
certificate
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "certificate": "string"
}

Remove certificate

This endpoint allows you to remove SSL certificate from a Load Balancer object.

Authorizations:
Bearer
path Parameters
loadBalancerId
required
string
loadBalancerCertificateId
required
string

Responses

BGP

Retrieve project BGP data

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "bgp"

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "local_asn": 0
}

Update project BGP

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "bgp"
Request Body schema: application/json
enabled
required
boolean
Default: false

True to enable or false to disable BGP in project.

Responses

Request samples

Content type
application/json
{
  • "enabled": false
}

Response samples

Content type
application/json
{
  • "enabled": true,
  • "local_asn": 0
}

Retrieve server BGP data

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "bgp"

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "available": true,
  • "status": "Not Supported",
  • "routers": 0,
  • "connected": 0,
  • "limit": 0,
  • "active": 0,
  • "routes": [
    ],
  • "updated": "2019-08-24T14:15:22Z"
}

Update server BGP

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "bgp"
Request Body schema: application/json
enabled
required
boolean
Default: false

True to enable BGP or false to disable.

Responses

Request samples

Content type
application/json
{
  • "enabled": false
}

Response samples

Content type
application/json
{
  • "enabled": true,
  • "available": true,
  • "status": "Not Supported",
  • "routers": 0,
  • "connected": 0,
  • "limit": 0,
  • "active": 0,
  • "routes": [
    ],
  • "updated": "2019-08-24T14:15:22Z"
}

Retrieve region BGP data

Authorizations:
Bearer
path Parameters
region
required
string
query Parameters
fields
required
string
Default: "bgp"

Responses

Response samples

Content type
application/json
{
  • "hosts": [
    ],
  • "asn": 0
}

Images

Returns list of available operating systems

Retrieve available operating systems without Bearer token

Authorizations:
Bearer
path Parameters
plan
required
string

Plan object slug or id

query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "images,pricing"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve list of available operating systems visible by the team

Authorizations:
Bearer
path Parameters
plan
required
string

Plan object slug or id

teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "images,pricing"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Invitations

Retrieve team invitations

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "invitation,href"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Send invitation

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
fields
required
string
Default: "invitation,href"
Request Body schema: application/json
email
required
string
message
required
string
Default: ""
projects
Array of integers
Default: []

List of accessible projects for invitee, leave empty for all projects

required
Array of itemsROLE_ADMIN|ROLE_BILLING|ROLE_COLLABORATOR
Default: ["ROLE_COLLABORATOR"]

List of roles for invitee

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "message": "",
  • "projects": [ ],
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "invitee": "example@cherryservers.com",
  • "message": "Lorem ipsum dolor sit amet.",
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "invited_by": {
    },
  • "team": {
    },
  • "roles": [
    ],
  • "projects": [
    ]
}

View an invitation

Authorizations:
Bearer
path Parameters
invitationId
required
string
query Parameters
fields
required
string
Default: "invitation,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "invitee": "example@cherryservers.com",
  • "message": "Lorem ipsum dolor sit amet.",
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "invited_by": {
    },
  • "team": {
    },
  • "roles": [
    ],
  • "projects": [
    ]
}

Accept invitation

Authorizations:
Bearer
path Parameters
invitationId
required
string
query Parameters
fields
required
string
Default: "membership,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "roles": { }
}

Decline invitation

Authorizations:
Bearer
path Parameters
invitationId
required
string

Responses

Ip Addresses

Server attached ip addresses

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
type
Array of strings
Default: ["subnet","primary-ip","floating-ip","private-ip"]
Items Enum: "subnet" "primary-ip" "floating-ip" "private-ip"

Filter ips by given types

status
Array of strings
Default: ["assigned"]
Items Enum: "available" "assigned"

Filter ips by given status

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
address_family
integer4|6
fields
required
string
Default: "ip,href,region,id"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request ip address to server

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "ip,href,id"
Request Body schema: application/json
ptr_record
string
a_record
string
aaaa_record
string <AAAARecordConstraint>
ddos_scrubbing
boolean <AntiDDosConstraint>
Deprecated
region
required
string
tags
string <TagsConstraint>

Object `{"key": "value", "key2": "value2"}``

Responses

Request samples

Content type
application/json
{
  • "ptr_record": "string",
  • "a_record": "string",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "region": "string",
  • "tags": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "address": "127.0.0.1",
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.0",
  • "type": "floating-ip",
  • "region": {
    },
  • "assigned_to": {
    },
  • "ptr_record": "example.cherryservers.com",
  • "a_record": "example",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": {
    },
  • "project": {
    },
  • "targeted_to": {
    },
  • "href": "string"
}

Retrieve all project ip addresses

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
type
Array of strings
Default: ["subnet","primary-ip","floating-ip","private-ip"]
Items Enum: "subnet" "primary-ip" "floating-ip" "private-ip"

Filter ips by given types

status
Array of strings
Default: ["assigned"]
Items Enum: "available" "assigned"

Filter ips by given status

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "ip,href,region,id"
region
string
tag
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request ip address

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "ip,href,id,region"
Request Body schema: application/json
region
required
string

Object slug

routed_to
string^(?!.*^((?i)null|(?i)false|^0$)).*

Subnet or server primary ip uuid

assigned_to
integer^[1-9][0-9]*

Server id identifier.

targeted_to
integer^[1-9][0-9]*

Server id identifier.

ptr_record
string
a_record
string
aaaa_record
string <AAAARecordConstraint>
ddos_scrubbing
boolean <AntiDDosConstraint>
Deprecated
tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

configure
string

Responses

Request samples

Content type
application/json
{
  • "region": "string",
  • "routed_to": "string",
  • "assigned_to": 0,
  • "targeted_to": 0,
  • "ptr_record": "string",
  • "a_record": "string",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": "string",
  • "configure": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "address": "127.0.0.1",
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.0",
  • "type": "floating-ip",
  • "region": {
    },
  • "assigned_to": {
    },
  • "ptr_record": "example.cherryservers.com",
  • "a_record": "example",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": {
    },
  • "project": {
    },
  • "targeted_to": {
    },
  • "href": "string"
}

Remove IP addresses

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
ip_addresses
Array of strings

List of ip addresses id identifiers

Responses

Retrieve single ip address

Authorizations:
Bearer
path Parameters
ipId
required
string
query Parameters
fields
required
string
Default: "ip,href,region,server,id"

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "address": "127.0.0.1",
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.0",
  • "type": "floating-ip",
  • "region": {
    },
  • "assigned_to": {
    },
  • "ptr_record": "example.cherryservers.com",
  • "a_record": "example",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": {
    },
  • "project": {
    },
  • "targeted_to": {
    },
  • "href": "string"
}

Update ip address

Floating ip addresses can be routed_to server primary ip address or subnet ip address. Subnet ip addresses can be assigned_to servers.

Authorizations:
Bearer
path Parameters
ipId
required
string
query Parameters
fields
required
string
Default: "ip,href,id,region,server"
Request Body schema: application/json
routed_to
string^(?!.*^((?i)null|(?i)false|^0$)).*

Subnet or server primary ip uuid

assigned_to
integer^[1-9][0-9]*

Server id identifier.

targeted_to
integer^[1-9][0-9]*

Server id identifier.

ptr_record
string <PtrRecordConstraint>
a_record
string <ARecordConstraint>
aaaa_record
string <AAAARecordConstraint>
tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

configure
string

Responses

Request samples

Content type
application/json
{
  • "routed_to": "string",
  • "assigned_to": 0,
  • "targeted_to": 0,
  • "ptr_record": "string",
  • "a_record": "string",
  • "aaaa_record": "string",
  • "tags": "string",
  • "configure": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "address": "127.0.0.1",
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.0",
  • "type": "floating-ip",
  • "region": {
    },
  • "assigned_to": {
    },
  • "ptr_record": "example.cherryservers.com",
  • "a_record": "example",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": {
    },
  • "project": {
    },
  • "targeted_to": {
    },
  • "href": "string"
}

Remove ip address

Authorizations:
Bearer
path Parameters
ipId
required
string

Responses

Retrieve available project ip addresses

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "ip,href,region,id"
region
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add IPv6 address

Authorizations:
Bearer
path Parameters
subnetId
required
string
query Parameters
fields
required
string
Default: "ip,href,id,region"
Request Body schema: application/json
ip_address
required
string
configure
required
string
Default: false

Responses

Request samples

Content type
application/json
{
  • "ip_address": "string",
  • "configure": false
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "address": "127.0.0.1",
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.0",
  • "type": "floating-ip",
  • "region": {
    },
  • "assigned_to": {
    },
  • "ptr_record": "example.cherryservers.com",
  • "a_record": "example",
  • "aaaa_record": "string",
  • "ddos_scrubbing": true,
  • "tags": {
    },
  • "project": {
    },
  • "targeted_to": {
    },
  • "href": "string"
}

Memberships

Retrieve team memberships

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "membership,href,project,user"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve current session membership

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
fields
required
string
Default: "membership"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "roles": { }
}

Retrieve a membership

Authorizations:
Bearer
path Parameters
membershipId
required
string
query Parameters
fields
required
string
Default: "membership,href,project,user"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "roles": { },
  • "user": {
    },
  • "projects": [
    ]
}

Update a membership

Only members with ROLE_ADMIN can update a membership

Authorizations:
Bearer
path Parameters
membershipId
required
string
query Parameters
fields
required
string
Default: "membership,href,project,user"
Request Body schema: application/json
required
Array of itemsROLE_ADMIN|ROLE_BILLING|ROLE_COLLABORATOR

List of roles for member

projects
required
Array of integers\d+

List of accessible projects id identifiers, works only for users with ROLE_COLLABORATOR role

Responses

Request samples

Content type
application/json
{
  • "roles": [
    ],
  • "projects": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "roles": { },
  • "user": {
    },
  • "projects": [
    ]
}

Remove a membership

Only members with ROLE_ADMIN can update a membership

Authorizations:
Bearer
path Parameters
membershipId
required
string

Responses

Plans

Retrieve team related plans

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
type
Array of strings
Default: ["baremetal","virtual"]
Items Enum: "baremetal" "virtual"

Filter plans by given types

region
string

Filter plans by given region slug

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "plan,specs,pricing,region,softwares,software"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve plans

Retrieve plans without Bearer token

Authorizations:
Bearer
query Parameters
type
required
Array of strings
Default: ["baremetal","virtual"]
Items Enum: "baremetal" "virtual"

Filter plans by given types

region
string

Filter plans by given region slug

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "plan,specs,pricing,region,softwares,software"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a plan

Retrieve a plan without Bearer token

Authorizations:
Bearer
path Parameters
plan
required
string

Plan object slug or id

query Parameters
fields
required
string
Default: "plan,specs,pricing,region,softwares,software"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "name": "E3-1240v3",
  • "slug": "e3_1240v3",
  • "title": "E3-1240v3",
  • "type": "baremetal",
  • "category": "Dedicated resources",
  • "softwares": [
    ],
  • "specs": {
    },
  • "pricing": [
    ],
  • "disabled": true,
  • "available_regions": [
    ]
}

Projects

Retrieve team projects

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "href,project,bgp,traffic"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new project

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
fields
required
string
Default: "href,project,bgp,traffic"
Request Body schema: application/json
name
required
string^[\p{L}0-9'. _()-]*$
bgp
boolean

True to enable BGP in project.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "bgp": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Project",
  • "bgp": {
    },
  • "href": "string",
  • "traffic": [
    ]
}

Retrieve a project

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "href,project,bgp,cidr,id,traffic"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Project",
  • "bgp": {
    },
  • "href": "string",
  • "traffic": [
    ]
}

Update a project

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "href,project,bgp,traffic"
Request Body schema: application/json
name
string^[\p{L}0-9'. _()-]*$
bgp
boolean

True to enable BGP in project.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "bgp": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Project",
  • "bgp": {
    },
  • "href": "string",
  • "traffic": [
    ]
}

Remove a project

Attention! All active services and memberships associated with this project will be terminated and deleted permamently.

Authorizations:
Bearer
path Parameters
projectId
required
string

Responses

Regions

Retrieve available regions

Retrieve available regions without Bearer token

Authorizations:
Bearer
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "region,href"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a region

Retrieve a region without Bearer token

Authorizations:
Bearer
path Parameters
region
required
string
query Parameters
fields
required
string
Default: "region,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "EU-Nord-1",
  • "slug": "eu_nord_1",
  • "region_iso_2": "LT",
  • "href": "string",
  • "bgp": {
    },
  • "location": "Lithuania, Vilnius"
}

SshKeys

Retrieve ssh keys

Authorizations:
Bearer
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "ssh_key,href"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a ssh key

Authorizations:
Bearer
query Parameters
fields
required
string
Default: "ssh_key,href"
Request Body schema: application/json
label
required
string <SshKeyLabelUniqueConstraint>
key
required
string

Responses

Request samples

Content type
application/json
{
  • "label": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "example",
  • "key": "string",
  • "fingerprint": "string",
  • "user": {
    },
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "href": "string"
}

Retrieve a ssh key

Authorizations:
Bearer
path Parameters
keyId
required
string
query Parameters
fields
required
string
Default: "ssh_key,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "example",
  • "key": "string",
  • "fingerprint": "string",
  • "user": {
    },
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "href": "string"
}

Update a ssh key

Authorizations:
Bearer
path Parameters
keyId
required
string
query Parameters
fields
required
string
Default: "ssh_key,href"
Request Body schema: application/json
label
string <SshKeyLabelUniqueConstraint>
key
string

Responses

Request samples

Content type
application/json
{
  • "label": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "example",
  • "key": "string",
  • "fingerprint": "string",
  • "user": {
    },
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "href": "string"
}

Delete a ssh key

Authorizations:
Bearer
path Parameters
keyId
required
string

Responses

Retrieve a server's ssh keys

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
fields
required
string
Default: "ssh_keys,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "example",
  • "key": "string",
  • "fingerprint": "string",
  • "user": {
    },
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "href": "string"
}

Retrieve a project's ssh keys

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "ssh_keys,href"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "label": "example",
  • "key": "string",
  • "fingerprint": "string",
  • "user": {
    },
  • "updated": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "href": "string"
}

Storage

Retrieve project storages

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "id,storage,href,region,hostname"

Responses

Request a storage

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "storage,href,region"
Request Body schema: application/json
plan_id
required
integer500
Default: "500"
description
string^[\p{L}0-9'. _()-]*$
size
required
integer^\d+$

Storage size in gigabytes

region
required
string

Responses

Request samples

Content type
application/json
{
  • "plan_id": "500",
  • "description": "string",
  • "size": 0,
  • "region": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "region": {
    },
  • "size": 0,
  • "allow_edit_size": true,
  • "unit": "string",
  • "description": "string",
  • "vlan_id": "string",
  • "vlan_ip": "string",
  • "initiator": "string",
  • "discovery_ip": "string"
}

Attach storage to server

Authorizations:
Bearer
path Parameters
storageId
required
string
query Parameters
fields
required
string
Default: "id,storage,href,region,hostname"
Request Body schema: application/json
attach_to
required
integer^\d+$

The server ID to which the storage volume will be attached

Responses

Request samples

Content type
application/json
{
  • "attach_to": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "region": {
    },
  • "size": 0,
  • "allow_edit_size": true,
  • "unit": "string",
  • "description": "string",
  • "vlan_id": "string",
  • "vlan_ip": "string",
  • "initiator": "string",
  • "discovery_ip": "string"
}

Detach storage from server

Authorizations:
Bearer
path Parameters
storageId
required
string

Responses

Resize a storage

Note: Storage volume size can't be downgraded. After resize, new volume ID will be set

Authorizations:
Bearer
path Parameters
storageId
required
string
query Parameters
fields
required
string
Default: "id,storage,href,region,hostname"
Request Body schema: application/json
size
integer^\d+$

Storage size in gigabytes

description
string^[\p{L}0-9'. _()-]*$

Responses

Request samples

Content type
application/json
{
  • "size": 0,
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "href": "string",
  • "region": {
    },
  • "size": 0,
  • "allow_edit_size": true,
  • "unit": "string",
  • "description": "string",
  • "vlan_id": "string",
  • "vlan_ip": "string",
  • "initiator": "string",
  • "discovery_ip": "string"
}

Delete a storage

Authorizations:
Bearer
path Parameters
storageId
required
string

Responses

Retrieve a storage

Authorizations:
Bearer
path Parameters
storage_id
required
string
query Parameters
fields
required
string
Default: "id,storage,href,region,hostname"

Responses

Attached and available storages.

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
status
Array of strings
Items Enum: "available" "attached"

Filter ips by given status

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "id,storage,href,region,hostname"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subnets

Get subnets

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
address_family
integer4|6
fields
required
string
Default: "subnet,href,id"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request a subnet

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
fields
required
string
Default: "subnet,href,id"
Request Body schema: application/json
quantity
required
integer <SubnetQtyConstraint>

8 or 16 quanity available, please contact support if require more

region
required
string
tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

Responses

Request samples

Content type
application/json
{
  • "quantity": 0,
  • "region": "string",
  • "tags": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.1",
  • "network_address": "127.0.0.1",
  • "broadcast": "127.0.0.8",
  • "netmask": "255.255.255.255",
  • "vlan": 123,
  • "region": {
    },
  • "addresses": [
    ],
  • "tags": {
    },
  • "href": "string",
  • "size": 0,
  • "range": [
    ],
  • "project": {
    }
}

Get a subnet

Authorizations:
Bearer
path Parameters
subnetId
required
string
query Parameters
fields
required
string
Default: "subnet,href,id"

Responses

Response samples

Content type
application/json
{ }

Update a subnet

Authorizations:
Bearer
path Parameters
subnetId
required
string
query Parameters
fields
required
string
Default: "subnet,href,id"
Request Body schema: application/json
tags
string <TagsConstraint>

Object {"key": "value", "key2": "value2"}

prefix
string(56|60|64)

Responses

Request samples

Content type
application/json
{
  • "tags": "string",
  • "prefix": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "address_family": 4,
  • "cidr": "127.0.0.0/27",
  • "gateway": "127.0.0.1",
  • "network_address": "127.0.0.1",
  • "broadcast": "127.0.0.8",
  • "netmask": "255.255.255.255",
  • "vlan": 123,
  • "region": {
    },
  • "addresses": [
    ],
  • "tags": {
    },
  • "href": "string",
  • "size": 0,
  • "range": [
    ],
  • "project": {
    }
}

Delete a subnet

Authorizations:
Bearer
path Parameters
subnetId
required
string

Responses

Retrieve server subnets

Authorizations:
Bearer
path Parameters
serverId
required
string
query Parameters
status
Array of strings
Default: ["assigned"]
Items Enum: "available" "assigned"

Filter subnets by given status

limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
address_family
integer4|6
fields
required
string
Default: "subnet,href,id"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Attach subnet IPs batch to a server

Authorizations:
Bearer
path Parameters
subnetId
required
string
query Parameters
fields
required
string
Default: "ip,href,server,id"
Request Body schema: application/json
ips_ids
Array of strings

Multiple IPs id from a subnet.

server_id
required
integer\d+

Server id identifier.

Responses

Request samples

Content type
application/json
{
  • "ips_ids": [
    ],
  • "server_id": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Detach subnet IPs batch

Authorizations:
Bearer
path Parameters
subnetId
required
string
query Parameters
fields
required
string
Default: "ip,href,id"
Request Body schema: application/json
ips_ids
Array of strings

Multiple IPs id from a subnet.

Responses

Request samples

Content type
application/json
{
  • "ips_ids": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Teams

Retrieve teams

Authorizations:
Bearer
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "team"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a team

Authorizations:
Bearer
query Parameters
fields
required
string
Default: "team"
Request Body schema: application/json
name
required
string^[\p{L}0-9'. _()-]*$
company_name
string
Default: ""
company_code
string
Default: ""
vat_number
string
Default: ""
first_name
string
Default: ""
last_name
string
Default: ""
address_1
string
Default: ""
address_2
string
Default: ""
country_iso_2
string <CountryConstraint>
city
string
Default: ""
state
string <OrganizationCountryStateConstraint>
type
required
stringbusiness|personal
Default: "personal"
currency
stringUSD|EUR
date_of_birth
string
national_id_number
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "company_name": "",
  • "company_code": "",
  • "vat_number": "",
  • "first_name": "",
  • "last_name": "",
  • "address_1": "",
  • "address_2": "",
  • "country_iso_2": "string",
  • "city": "",
  • "state": "string",
  • "type": "personal",
  • "currency": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Team",
  • "credit": {
    },
  • "billing": {
    },
  • "href": "string"
}

Retrieve a team

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
fields
required
string
Default: "team"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Team",
  • "credit": {
    },
  • "billing": {
    },
  • "href": "string"
}

Update a team

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
fields
required
string
Default: "team"
Request Body schema: application/json
name
string^[\p{L}0-9'. _()-]*$
company_name
string
company_code
string
vat_number
string
first_name
string
last_name
string
address_1
string
address_2
string
country_iso_2
string <CountryConstraint>
city
string
state
string <OrganizationCountryStateConstraint>
type
stringbusiness|personal
currency
stringUSD|EUR
date_of_birth
string
national_id_number
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "company_name": "string",
  • "company_code": "string",
  • "vat_number": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "address_1": "string",
  • "address_2": "string",
  • "country_iso_2": "string",
  • "city": "string",
  • "state": "string",
  • "type": "string",
  • "currency": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "My Team",
  • "credit": {
    },
  • "billing": {
    },
  • "href": "string"
}

Delete a team

Attention! All active services, projects and memberships associated with this team will be terminated and deleted permamently.

Authorizations:
Bearer
path Parameters
teamId
required
string

Responses

Tokens

Retrieve tokens

Authorizations:
Bearer
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "token"

Responses

Create a token

Authorizations:
Bearer
query Parameters
fields
required
string
Default: "token"
Request Body schema: application/json
label
required
string

Responses

Request samples

Content type
application/json
{
  • "label": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "id": 0,
  • "href": "string",
  • "label": "string"
}

Retrieve a token

Authorizations:
Bearer
path Parameters
tokenId
required
string
query Parameters
fields
required
string
Default: "token"

Responses

Response samples

Content type
application/json
{
  • "token": "string",
  • "id": 0,
  • "href": "string",
  • "label": "string"
}

Update a token

Authorizations:
Bearer
path Parameters
tokenId
required
string
query Parameters
fields
required
string
Default: "token"
Request Body schema: application/json
label
required
string

Responses

Request samples

Content type
application/json
{
  • "label": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "id": 0,
  • "href": "string",
  • "label": "string"
}

Delete a token

Authorizations:
Bearer
path Parameters
tokenId
required
string

Responses

Traffic

Retrieve project traffic

Authorizations:
Bearer
path Parameters
projectId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "traffic,region"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve traffic object

Authorizations:
Bearer
path Parameters
trafficId
required
string
query Parameters
fields
required
string
Default: "traffic,region"

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "used_bytes": 0,
  • "allowance_bytes": 0,
  • "limited_bytes": 0,
  • "name": "string",
  • "regions": [
    ]
}

Request mote traffic

Authorizations:
Bearer
path Parameters
trafficId
required
string
query Parameters
fields
required
string
Default: "traffic,region"
Request Body schema: application/json
adjust
required
integer\d+

How many traffic is needed in terabytes.

Responses

Request samples

Content type
application/json
{
  • "adjust": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "used_bytes": 0,
  • "allowance_bytes": 0,
  • "limited_bytes": 0,
  • "name": "string",
  • "regions": [
    ]
}

Users

Retrieve current sessions user

Authorizations:
Bearer
query Parameters
fields
required
string
Default: "user"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "first_name": "Johnny",
  • "last_name": "Bravo",
  • "email": "example@cherryservers.com",
  • "email_verified": true,
  • "phone": "37060000000",
  • "security_phone_verified": true,
  • "state": "string",
  • "city": "string",
  • "country_iso_2": "string",
  • "href": "string",
  • "security_phone": "37060000000",
  • "skype_username": "string",
  • "linkedin_profile": "string",
  • "address_1": "string",
  • "address_2": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}

Retrieve team users

Authorizations:
Bearer
path Parameters
teamId
required
string
query Parameters
limit
integer\d+
Default: 0
offset
integer\d+
Default: 0
fields
required
string
Default: "user"

Responses

Retrieve a user

Authorizations:
Bearer
path Parameters
userId
required
string
query Parameters
fields
string
Default: "user"

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "first_name": "Johnny",
  • "last_name": "Bravo",
  • "email": "example@cherryservers.com",
  • "email_verified": true,
  • "phone": "37060000000",
  • "security_phone_verified": true,
  • "state": "string",
  • "city": "string",
  • "country_iso_2": "string",
  • "href": "string",
  • "security_phone": "37060000000",
  • "skype_username": "string",
  • "linkedin_profile": "string",
  • "address_1": "string",
  • "address_2": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}

Update a user

Authorizations:
Bearer
path Parameters
userId
required
string
query Parameters
fields
string
Default: "user"
Request Body schema: application/json
first_name
string
last_name
string
email
string^[a-zA-Z0-9_.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-...
phone
string^(\+?[0-9])*$
skype_username
string
linkedin_profile
string
country_iso_2
required
string <CountryConstraint>
state
string <UserCountryStateConstraint>
city
string
address_1
string
address_2
string
date_of_birth
string
national_id_number
string

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "email": "string",
  • "phone": "string",
  • "skype_username": "string",
  • "linkedin_profile": "string",
  • "country_iso_2": "string",
  • "state": "string",
  • "city": "string",
  • "address_1": "string",
  • "address_2": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "first_name": "Johnny",
  • "last_name": "Bravo",
  • "email": "example@cherryservers.com",
  • "email_verified": true,
  • "phone": "37060000000",
  • "security_phone_verified": true,
  • "state": "string",
  • "city": "string",
  • "country_iso_2": "string",
  • "href": "string",
  • "security_phone": "37060000000",
  • "skype_username": "string",
  • "linkedin_profile": "string",
  • "address_1": "string",
  • "address_2": "string",
  • "date_of_birth": "string",
  • "national_id_number": "string"
}