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.

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

Responses

Response samples

Content type
application/json
[
  • { }
]

Perform an action

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,rescue,reset-bmc-password,upgrade

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 or upgrade action

plan
string

Object slug, only for upgrade action

plan_id
integer\d+
Deprecated

Only for upgrade action

ssh_keys
Array of integers

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

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": ""
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "E3-1240v3",
  • "href": "string",
  • "bmc": {
    },
  • "hostname": "localhost",
  • "password": "p@$$wor&",
  • "username": "root",
  • "image": "CentOS 6 64bit",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "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",
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Retrieve a server

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": "CentOS 6 64bit",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "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",
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Update a server

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": "CentOS 6 64bit",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "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",
  • "upgradable_note": "string",
  • "project": {
    },
  • "backup_storage": {
    },
  • "os_raid_level": "string",
  • "os_disk": "string",
  • "bandwidth_speed_mbps": { }
}

Delete a server

path Parameters
serverId
required
string

Responses

Retrieve project servers

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

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
string

object slug

image
string <ServerImageConstraint>

object slug

os_partition_size
integer <OsPartitionSizeConstraint>
region
required
string <RegionConstraint>

object slug`

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

List of ssh keys id identifiers

ip_addresses
required
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": "CentOS 6 64bit",
  • "spot_instance": true,
  • "region": {
    },
  • "state": "active",
  • "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",
  • "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.

path Parameters
serverId
required
string

Responses

Response samples

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

Backup Storage

Retrieve backup storage plans.

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

Responses

Retrieve project backup storages.

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.

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.

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.

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.

path Parameters
backupStorageId
required
string

Responses

Update backup storage access methods.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

path Parameters
loadBalancerId
required
string
loadBalancerCertificateId
required
string

Responses

BGP

Retrieve project BGP data

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

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

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

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

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

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

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

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

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

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

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

path Parameters
invitationId
required
string

Responses

Ip Addresses

Server attached ip addresses

path Parameters
serverId
required
string
query Parameters
type
Array of enum
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 enum
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

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>
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

path Parameters
projectId
required
string
query Parameters
type
Array of enum
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 enum
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

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>
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

path Parameters
projectId
required
string
query Parameters
ip_addresses
Array of strings

List of ip addresses id identifiers

Responses

Retrieve single ip address

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.

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

path Parameters
ipId
required
string

Responses

Retrieve available project ip addresses

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

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

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

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

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

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

path Parameters
membershipId
required
string

Responses

Plans

Retrieve team related plans

path Parameters
teamId
required
string
query Parameters
type
Array of enum
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

query Parameters
type
required
Array of enum
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

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

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

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

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

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.

path Parameters
projectId
required
string

Responses

Regions

Retrieve available regions

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

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

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

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

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

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

path Parameters
keyId
required
string

Responses

Retrieve a server's ssh keys

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

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

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

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

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

path Parameters
storageId
required
string

Responses

Retrieve a storage

path Parameters
storageId
required
string
query Parameters
fields
required
string
Default: "id,storage,href,region,hostname"

Responses

Resize a storage

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

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

path Parameters
storageId
required
string

Responses

Attached and available storages.

path Parameters
serverId
required
string
query Parameters
status
Array of enum
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

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

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

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

Responses

Response samples

Content type
application/json
{ }

Update a subnet

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

path Parameters
subnetId
required
string

Responses

Retrieve server subnets

path Parameters
serverId
required
string
query Parameters
status
Array of enum
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

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

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

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

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

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"
}

Response samples

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

Retrieve a team

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

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 <VatNumberConstraint>
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

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"
}

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.

path Parameters
teamId
required
string

Responses

Tokens

Retrieve tokens

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

Responses

Create a token

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

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

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

path Parameters
tokenId
required
string

Responses

Traffic

Retrieve project traffic

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

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

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

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",
  • "affiliate_accepted": true,
  • "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

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

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",
  • "affiliate_accepted": true,
  • "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

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",
  • "affiliate_accepted": true,
  • "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"
}