CLOUD API (6.0)

Download OpenAPI specification:Download

IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the "Data Center Designer" (DCD) browser-based tool.

Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.

/

Get API information

Retrieves the API information such as API version.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{}

Data centers

List your data centers

List the data centers for your account. Default limit is the first 100 items; use pagination query parameters for listing more items.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Data Center

Creates new data centers, and data centers that already contain elements, such as servers and storage volumes.

Virtual data centers are the foundation of the platform; they act as logical containers for all other objects you create, such as servers and storage volumes. You can provision as many data centers as needed. Data centers have their own private networks and are logically segmented from each other to create isolation.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The data center to create.

required
object (DatacenterPropertiesPost)
object (DatacenterEntities)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "datacenter",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve data centers

Retrieve data centers by resource ID. This value is in the response body when the data center is created, and in the list of the data centers, returned by GET.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "datacenter",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify a Data Center by ID

Modifies the properties of the specified data center, rename it, or change the description.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified data center.

required
object (DatacenterPropertiesPut)
object (DatacenterEntities)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "datacenter",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete data centers

Delete the specified data center and all the elements it contains. This method is destructive and should be used carefully.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify a Data Center by ID

Updates the properties of the specified data center, rename it, or change the description.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the data center to be updated.

name
string

The name of the resource.

description
string

A description for the datacenter, such as staging, production.

location
required
string

The physical location where the datacenter will be created. This will be where all of your servers live. Property cannot be modified after datacenter creation (disallowed in update requests).

secAuthProtection
boolean

Boolean value representing if the data center requires extra protection, such as two-step verification.

defaultSecurityGroupId
string <uuid>

This will become the default security group for the datacenter, replacing the old one if already exists. This security group must already exists prior to this request. Provide this field only if the createDefaultSecurityGroup field is missing. You cannot provide both of them

createDefaultSecurityGroup
boolean

If this field is set on true and this datacenter has no default security group then a default security group, with predefined rules, will be created for this datacenter. Default value is false. Provide this field only if the defaultSecurityGroupId field is missing. You cannot provide both of them

Responses

Request samples

Content type
application/json
{
  • "name": "Production Datacenter",
  • "description": "My Production Datacenter",
  • "location": "us/las",
  • "secAuthProtection": true,
  • "defaultSecurityGroupId": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "createDefaultSecurityGroup": true
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "datacenter",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Locations

Get Locations

Retrieves the available physical locations where you can deploy cloud resources in a VDC.

A location is identified by a combination of the following characters:

  • a two-character regionId, which represents a country (example: 'de')

  • a three-character locationId, which represents a city. The 'locationId' is typically based on the IATA code of the city's airport (example: 'txl').

Note that 'locations' are read-only and cannot be changed.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "items": [
    ]
}

Get Locations within a Region

Retrieves the available locations in a region specified by its ID. The 'regionId' consists of the two character identifier of the region (country), e.g., 'de'.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
regionId
required
string

The unique ID of the region.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "items": [
    ]
}

Get Location by ID

Retrieves the information about the location specified by its ID. The 'locationId' consists of the three-digit identifier of the city according to the IATA code.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
regionId
required
string

The unique ID of the region.

locationId
required
string

The unique ID of the location.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "location",
  • "metadata": {
    },
  • "properties": {
    }
}

Servers

List servers

List all servers within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Server

Creates a server within the specified data center. You can also use this request to configure the boot volumes and connect to existing LANs at the same time.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The server to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (ServerProperties)
object (ServerEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "server",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "server",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve servers by ID

Retrieve information about the specified server within the data center, such as its configuration, provisioning status, and so on.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "server",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify a Server by ID

Modifies the properties of the specified server within the data center.

Starting with v5, the 'allowReboot' attribute is retired; while previously required for changing certain server properties, this behavior is now implicit, and the backend will perform this automatically. For example, in earlier versions, when the CPU family is changed, 'allowReboot' had to be set to 'true'; this is no longer required, the reboot will be performed automatically.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified server

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (ServerProperties)
object (ServerEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "server",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "server",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete servers

Delete the specified server in your data center. The attached storage volumes will also be removed if the query parameter is set to true otherwise a separate API call must be made for these actions.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

deleteVolumes
boolean

If true, all attached storage volumes will also be deleted.

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify servers

Update the properties of the specified server within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the server to be updated.

templateUuid
string

The ID of the template for creating CUBE or GPU servers. If a template has GPU cards assigned, then it can only be used to create GPU servers, otherwise it can only be used for CUBE servers. The available templates can be found on the templates resource.

name
string

The name of the resource.

hostname
string

The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.

cores
integer <int32>

The total number of cores for the server. It can not be supplied for the VMs that have to be created based on templates.

ram
integer <int32>

The memory size for the server in MB, such as 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB. It can not be supplied for the VMs that have to be created based on templates.

availabilityZone
string
Enum: "AUTO" "ZONE_1" "ZONE_2"

The availability zone in which the server should be provisioned. For CUBE and GPU servers, the only value accepted is 'AUTO'.

object (ResourceReference)
object (ResourceReference)
cpuFamily
string

CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource; must not be provided for CUBE and VCPU servers. If the field is omitted from the request or the value is empty or null, an available CPU architecture will be automatically selected.

type
string

Server type: CUBE, ENTERPRISE, VCPU or GPU.

nicMultiQueue
boolean

Activate or deactivate the Multi Queue feature on all NICs of this server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is true, the feature will be activated; if it is not specified or set to false, the feature will be deactivated. It is not allowed for servers of type Cube.

Responses

Request samples

Content type
application/json
{
  • "templateUuid": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "name": "My resource",
  • "hostname": "myHostname",
  • "cores": 4,
  • "ram": 4096,
  • "availabilityZone": "AUTO",
  • "bootCdrom": {
    },
  • "bootVolume": {
    },
  • "cpuFamily": "INTEL_ICELAKE",
  • "type": "CUBE",
  • "nicMultiQueue": true
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "server",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Get Attached Volumes

Lists all volumes attached to the specified server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Attach a Volume to a Server

Attachs an existing storage volume to the specified server.

You can attach an existing volume in the VDC to a server. To move a volume from one server to another, you must first detach the volume from the first server and attach it to the second server.

It is also possible to create and attach a volume in one step by simply providing a new volume description as a payload. The only difference is the URL; see 'Creating a Volume' for details about volumes.

Note that the combined total of attached volumes and NICs cannot exceed 24 per server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The volume to be attached (or created and attached).

id
string

The Id of an existing volume that needs to be attached to the server.

Responses

Request samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Get Attached Volume by ID

Retrieves the properties of the volume attached to the specified server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Detach a Volume by ID

Detachs the specified volume from the server.

Note that only the volume's connection to the specified server is disconnected. If you want to delete the volume, you must submit a separate request to perform the deletion.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Get Attached CD-ROMs

Lists all CD-ROMs attached to the specified server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Attach a CD-ROM

Attachs a CD-ROM to an existing server specified by its ID.

CD-ROMs cannot be created stand-alone like volumes. They are either attached to a server or do not exist. They always have an ISO-Image associated; empty CD-ROMs can not be provisioned. It is possible to attach up to two CD-ROMs to the same server.

Note that attaching a CD-ROM leads to a reset of the server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The CD-ROM to be attached.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (ImageProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "image",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "image",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Get Attached CD-ROM by ID

Retrieves the properties of the CD-ROM attached to the specified server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

cdromId
required
string

The unique ID of the CD-ROM.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "image",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Detach a CD-ROM by ID

Detachs the specified CD-ROM from the server.

Detaching a CD-ROM deletes the CD-ROM. The image will not be deleted.

Note that detaching a CD-ROM leads to a reset of the server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

cdromId
required
string

The unique ID of the CD-ROM.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Reboot servers

Force a hard reboot of the specified server within the data center. Don't use this method if you wish to reboot gracefully. This is an equivalent of powering down a computer and turning it back on.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Start an Enterprise Server by ID

Starts the Enterprise Server specified by its ID.

Note that you cannot use this method to start a Cube Server.

By starting the Enterprise Server, cores and RAM are provisioned, and the billing continues.

If the server's public IPv4 address has been deallocated, a new IPv4 address will be assigned. IPv6 blocks and addresses will remain unchanged when stopping and starting a server.

To check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Stop an Enterprise Server by ID

Stops the Enterprise Server specified by its ID.

Note that you cannot use this method to stop a Cube Server.

By stopping the Enterprise Server, cores and RAM are freed and no longer charged.

Public IPv4 IPs that are not reserved are returned to the IPv4 pool. IPv6 blocks and addresses will remain unchanged when stopping and starting a server.

To check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Suspend a Cube Server by ID

Suspends the specified Cubes instance within the data center.

The instance is not deleted and allocated resources continue to be billed. You can perform this operation only for Cube Servers.

To check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Resume a Cube Server by ID

Resumes a suspended Cube Server specified by its ID.

Since the suspended instance was not deleted the allocated resources continue to be billed. You can perform this operation only for Cube Servers.

To check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Upgrade a Server by ID

Upgrades the server version.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Get JSON Web Token

Retrieve a JSON Web Token from the server for use in login operations (such as accessing the server's console).

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "token": "eyJ0eXAiOiJKV1QiLCJraWQiOiI0MWM1MDFlNC03NGY3LTQwYjctYmMxMi1lZWIzMTAzNThlZDkiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNjAyNDg5NTkzMDcxLCJzZXJ2ZXIiOnsidXVpZCI6IjMwNGEwZGVlLWE3OTgtNDNhNi04MzIyLTk3M2NiYzc3Yjg4ZCIsIm5hbWUiOiJTZXJ2ZXIifX0.TND9kJd8GXM39XP5PMH_LnF_99al4MEkI_eoEowPvPztirgM50aZEdg6SuLYQzg-R7vrA7hEFaK4NJb2BUUsIZYVMhjl1QmKUE5TnP0Q2zYnIfNQNZFDu2rKrOydPCkPQwlMVvvZLeBSz7lrKYujF-qZ_yY_6SHlFtt-rg6IznRtup8AFziXtl-9cEsWU92_GCTd5LiriQrsnFAiGRbb0p2_6OYAQAH9FeWu4cxrbSwUmeR7Q4klJyZqFd0fv6UTFBtpSiyci7rsB142MXyLcqM4PrBkgd9P5OFbJYf5lbsb9pW04wLSl9rqoWGgZvWsqpuzosUkQRZt_O5yuYmT9w"
}

Get Remote Console link

Retrieve a link with a JSON Web Token for accessing the server's Remote Console.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Images

List images

List all the images in the current contract.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ]
}

Retrieve images

Retrieve the properties of the specified image.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
imageId
required
string

The unique ID of the image.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "image",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify an Image by ID

Modifies the properties of the specified image.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
imageId
required
string

The unique ID of the image.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified image

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (ImageProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "image",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "image",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete images

Delete the specified image; this operation is only supported for private images.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
imageId
required
string

The unique ID of the image.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify images

Update the properties of the specified image.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
imageId
required
string

The unique ID of the image.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The image properties to be updated.

name
string

The resource name.

description
string

Human-readable description.

cpuHotPlug
boolean

Hot-plug capable CPU (no reboot required).

cpuHotUnplug
boolean

Hot-unplug capable CPU (no reboot required).

ramHotPlug
boolean

Hot-plug capable RAM (no reboot required).

ramHotUnplug
boolean

Hot-unplug capable RAM (no reboot required).

nicHotPlug
boolean

Hot-plug capable NIC (no reboot required).

nicHotUnplug
boolean

Hot-unplug capable NIC (no reboot required).

discVirtioHotPlug
boolean

Hot-plug capable Virt-IO drive (no reboot required).

discVirtioHotUnplug
boolean

Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.

discScsiHotPlug
boolean

Hot-plug capable SCSI drive (no reboot required).

discScsiHotUnplug
boolean

Hot-unplug capable SCSI drive (no reboot required). Not supported with Windows VMs.

exposeSerial
boolean (ExposeSerial)
Default: false

If set to true will expose the serial id of the disk attached to the server. If set to false will not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior

requireLegacyBios
boolean (RequireLegacyBios)
Default: true

Indicates if the image requires the legacy BIOS for compatibility or specific needs.

licenceType
required
string

The OS type of this image.

applicationType
string (ApplicationType)

The type of application that is hosted on this resource. Only public images can have an Application type different than UNKNOWN.

cloudInit
string
Enum: "NONE" "V1"

Cloud init compatibility.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "description": "The image/snapshot of Ubuntu ",
  • "cpuHotPlug": true,
  • "cpuHotUnplug": true,
  • "ramHotPlug": true,
  • "ramHotUnplug": true,
  • "nicHotPlug": true,
  • "nicHotUnplug": true,
  • "discVirtioHotPlug": true,
  • "discVirtioHotUnplug": true,
  • "discScsiHotPlug": true,
  • "discScsiHotUnplug": true,
  • "exposeSerial": true,
  • "requireLegacyBios": true,
  • "licenceType": "LINUX",
  • "applicationType": "MSSQL-2019-Standard",
  • "cloudInit": "V1"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "image",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Volumes

List volumes

List all the volumes within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Volume

Creates a storage volume within the specified data center. The volume will not be attached! Attaching volumes is described in the Servers section.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The volume to create.

required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve volumes

Retrieve the properties of the specified volume within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify a Volume by ID

Modifies the properties of the specified volume within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified volume

required
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete volumes

Delete the specified volume within the data center. Use with caution, the volume will be permanently removed!

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify volumes

Update the properties of the specified storage volume within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the volume to be updated.

name
string

The name of the resource.

type
string
Enum: "HDD" "SSD" "SSD Standard" "SSD Premium" "DAS" "ISO" "ESSENTIAL" "BALANCED" "PERFORMANCE"

Hardware type of the volume. DAS (Direct Attached Storage) could be used only in a composite call with a Cube server.

size
required
number

The size of the volume in GB.

availabilityZone
string
Enum: "AUTO" "ZONE_1" "ZONE_2" "ZONE_3"

The availability zone in which the volume should be provisioned. The storage volume will be provisioned on as few physical storage devices as possible, but this cannot be guaranteed upfront. This is uavailable for DAS (Direct Attached Storage), and subject to availability for SSD.

image
string

Image or snapshot ID to be used as template for this volume. MSSQL Enterprise Images can be used only if the feature toggle for MSSQL Enterprise is enabled on the contract.

imagePassword
string

Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests. Password rules allows all characters from a-z, A-Z, 0-9.

sshKeys
Array of strings

Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.

bus
string
Enum: "VIRTIO" "IDE" "UNKNOWN"

The bus type for this volume; default is VIRTIO.

licenceType
string

OS type for this volume.

applicationType
string (ApplicationType)

The type of application that is hosted on this resource. Only public images can have an Application type different than UNKNOWN.

cpuHotPlug
boolean

Hot-plug capable CPU (no reboot required).

ramHotPlug
boolean

Hot-plug capable RAM (no reboot required).

nicHotPlug
boolean

Hot-plug capable NIC (no reboot required).

nicHotUnplug
boolean

Hot-unplug capable NIC (no reboot required).

discVirtioHotPlug
boolean

Hot-plug capable Virt-IO drive (no reboot required).

discVirtioHotUnplug
boolean

Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.

exposeSerial
boolean (ExposeSerial)
Default: false

If set to true will expose the serial id of the disk attached to the server. If set to false will not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior

requireLegacyBios
boolean (RequireLegacyBios)
Default: true

Indicates if the image requires the legacy BIOS for compatibility or specific needs.

backupunitId
string <uuid>

The ID of the backup unit that the user has access to. The property is immutable and is only allowed to be set on creation of a new a volume. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.

userData
string

The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on creation of a new a volume. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.

bootOrder
string or null
Default: "AUTO"
Enum: "AUTO" "NONE" "PRIMARY"

Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and all other volumes must be set to NONE. Set to AUTO or null requires all volumes to be set to AUTO or null; this will use the legacy behavior, which is to use the volume as a boot volume only if there are no other volumes or cdrom devices.

imageAlias
string

Image alias of an image to be used as template for this volume. MSSQL Enterprise Images can be used only if the feature toggle for MSSQL Enterprise is enabled on the contract.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "type": "HDD",
  • "size": 100,
  • "availabilityZone": "AUTO",
  • "image": "d6ad1576-fde9-4696-aa41-1ebd75bdaf49",
  • "imagePassword": "mypass123",
  • "sshKeys": [
    ],
  • "bus": "VIRTIO",
  • "licenceType": "LINUX",
  • "applicationType": "MSSQL-2019-Standard",
  • "cpuHotPlug": true,
  • "ramHotPlug": true,
  • "nicHotPlug": true,
  • "nicHotUnplug": true,
  • "discVirtioHotPlug": true,
  • "discVirtioHotUnplug": true,
  • "exposeSerial": true,
  • "requireLegacyBios": true,
  • "backupunitId": "25f67991-0f51-4efc-a8ad-ef1fb31a481c",
  • "userData": "string",
  • "bootOrder": "AUTO",
  • "imageAlias": "string"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "volume",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Restore volume snapshots

Restore a snapshot for the specified volume within the data center. A snapshot is an image of a volume, which can be used to restore this volume at a later time.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The payload used to restore a snapshot.

object (RestoreSnapshotProperties)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Create volume snapshots

Create a snapshot of the specified volume within the data center; this snapshot can later be used to restore this volume.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

volumeId
required
string

The unique ID of the volume.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The payload of the snapshot.

object (CreateSnapshotProperties)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "snapshot",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Snapshots

List snapshots

List all available snapshots.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ]
}

Retrieve snapshots by ID

Retrieve the properties of the specified snapshot.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
snapshotId
required
string

The unique ID of the snapshot.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "snapshot",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify a Snapshot by ID

Modifies the properties of the specified snapshot.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
snapshotId
required
string

The unique ID of the snapshot.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified snapshot

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (SnapshotProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "snapshot",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "snapshot",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete snapshots

Deletes the specified snapshot.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
snapshotId
required
string

The unique ID of the snapshot.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify snapshots

Update the properties of the specified snapshot.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
snapshotId
required
string

The unique ID of the snapshot.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the snapshot to be updated.

name
string

The name of the resource.

description
string

Human-readable description.

secAuthProtection
boolean

Boolean value representing if the snapshot requires extra protection, such as two-step verification.

cpuHotPlug
boolean

Hot-plug capable CPU (no reboot required).

cpuHotUnplug
boolean

Hot-unplug capable CPU (no reboot required).

ramHotPlug
boolean

Hot-plug capable RAM (no reboot required).

ramHotUnplug
boolean

Hot-unplug capable RAM (no reboot required).

nicHotPlug
boolean

Hot-plug capable NIC (no reboot required).

nicHotUnplug
boolean

Hot-unplug capable NIC (no reboot required).

discVirtioHotPlug
boolean

Hot-plug capable Virt-IO drive (no reboot required).

discVirtioHotUnplug
boolean

Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.

discScsiHotPlug
boolean

Hot-plug capable SCSI drive (no reboot required).

exposeSerial
boolean (ExposeSerial)
Default: false

If set to true will expose the serial id of the disk attached to the server. If set to false will not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior

requireLegacyBios
boolean (RequireLegacyBios)
Default: true

Indicates if the image requires the legacy BIOS for compatibility or specific needs.

discScsiHotUnplug
boolean

Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.

licenceType
string

OS type of this snapshot

applicationType
string (ApplicationType)

The type of application that is hosted on this resource. Only public images can have an Application type different than UNKNOWN.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "description": "Image/Snapshot of Ubuntu ",
  • "secAuthProtection": true,
  • "cpuHotPlug": true,
  • "cpuHotUnplug": true,
  • "ramHotPlug": true,
  • "ramHotUnplug": true,
  • "nicHotPlug": true,
  • "nicHotUnplug": true,
  • "discVirtioHotPlug": true,
  • "discVirtioHotUnplug": true,
  • "discScsiHotPlug": true,
  • "exposeSerial": true,
  • "requireLegacyBios": true,
  • "discScsiHotUnplug": true,
  • "licenceType": "LINUX",
  • "applicationType": "MSSQL-2019-Standard"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "snapshot",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

IP blocks

List IP blocks

List all reserved IP blocks.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 1000 ]
Default: 100

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Reserve a IP Block

Reserves a new IP block.

Authorizations:
BasicAuthenticationTokenAuthentication
query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The IP block to be reserved.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (IpBlockProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "ipblock",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "ipblock",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve IP blocks

Retrieve the properties of the specified IP block.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
ipblockId
required
string

The unique ID of the IP block.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "ipblock",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify a IP Block by ID

Modifies the properties of the specified IP block.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
ipblockId
required
string

The unique ID of the IP block.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified IP block.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (IpBlockProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "ipblock",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "ipblock",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete IP blocks

Remove the specified IP block.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
ipblockId
required
string

The unique ID of the IP block.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify IP blocks

Update the properties of the specified IP block.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
ipblockId
required
string

The unique ID of the IP block.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the IP block to be updated.

location
required
string

Location of that IP block. Property cannot be modified after it is created (disallowed in update requests).

size
required
integer <int32>

The size of the IP block.

name
string

The name of the resource.

Responses

Request samples

Content type
application/json
{
  • "location": "us/las",
  • "size": 5,
  • "name": "My resource"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "ipblock",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

LANs

List LANs

List all LANs within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create LANs

Creates a LAN within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The LAN to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (LanProperties)
object (LanEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "lan",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "5",
  • "type": "lan",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve LANs

Retrieve the properties of the specified LAN within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "5",
  • "type": "lan",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify LANs

Modify the properties of the specified LAN within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified LAN

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (LanProperties)
object (LanEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "lan",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "5",
  • "type": "lan",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete LANs

Delete the specified LAN within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify LANs

Update the properties of the specified LAN within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the LAN to be updated.

name
string

The name of the resource.

Array of objects (IPFailover)

IP failover configurations for lan

ipv6CidrBlock
string or null

For a GET request, this value is either 'null' or contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6 enabled. For POST/PUT/PATCH requests, 'AUTO' will result in enabling this LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN and /80 IPv6 CIDR blocks to the NICs and one /128 IPv6 address to each connected NIC. If you choose the IPv6 CIDR block for the LAN on your own, then you must provide a /64 block, which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter. If you enable IPv6 on a LAN with NICs, those NICs will get a /80 IPv6 CIDR block and one IPv6 address assigned to each automatically, unless you specify them explicitly on the LAN and on the NICs. A virtual data center is limited to a maximum of 256 IPv6-enabled LANs.

pcc
string

The unique identifier of the Cross Connect the LAN is connected to, if any. It needs to be ensured that IP addresses of the NICs of all LANs connected to a given Cross Connect is not duplicated and belongs to the same subnet range.

public
boolean

Indicates if the LAN is connected to the internet or not.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "ipFailover": [
    ],
  • "ipv6CidrBlock": "2001:db8:b06d:8f5a::/64",
  • "pcc": "3c11273c-b3e1-4ca3-8134-84fd2dd4ebec",
  • "public": true
}

Response samples

Content type
application/json
{
  • "id": "5",
  • "type": "lan",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

List LAN members

List all NICs, attached to the specified LAN.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Attach NICs

Attach an existing NIC to the specified LAN.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The NIC to be attached.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (NicProperties)
object (NicEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "nic",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve attached NICs

Retrieve the properties of the NIC, attached to the specified LAN.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

lanId
required
string

The unique ID of the LAN.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Network interfaces

List NICs

List all NICs, attached to the specified server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a NIC

Adds a NIC to the specified server. The combined total of NICs and attached volumes cannot exceed 24 per server.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The NIC to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (NicProperties)
object (NicEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "nic",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve NICs

Retrieve the properties of the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify NICs

Modify the properties of the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified NIC

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

required
object (NicProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "nic",
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete NICs

Remove the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify NICs

Update the properties of the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the NIC to be updated.

name
string

The name of the resource.

mac
string

The MAC address of the NIC.

ips
Array of strings or null

Collection of IP addresses, assigned to the NIC. Explicitly assigned public IPs need to come from reserved IP blocks. Passing value null or empty array will assign an IP address automatically.

dhcp
boolean
Default: true

Indicates if the NIC will reserve an IP using DHCP.

ipv6Ips
Array of strings or null

If this NIC is connected to an IPv6 enabled LAN then this property contains the IPv6 IP addresses of the NIC. The maximum number of IPv6 IP addresses per NIC is 50, if you need more, contact support. If you leave this property 'null' when adding a NIC, when changing the NIC's IPv6 CIDR block, when changing the LAN's IPv6 CIDR block or when moving the NIC to a different IPv6 enabled LAN, then we will automatically assign the same number of IPv6 addresses which you had before from the NICs new CIDR block. If you leave this property 'null' while not changing the CIDR block, the IPv6 IP addresses won't be changed either. You can also provide your own self choosen IPv6 addresses, which then must be inside the IPv6 CIDR block of this NIC.

ipv6CidrBlock
string or null

If this NIC is connected to an IPv6 enabled LAN then this property contains the /80 IPv6 CIDR block of the NIC. If you leave this property 'null' when adding a NIC to an IPv6-enabled LAN, then an IPv6 CIDR block will automatically be assigned to the NIC, but you can also specify an /80 IPv6 CIDR block for the NIC on your own, which must be inside the /64 IPv6 CIDR block of the LAN and unique. This value can only be set, if the LAN already has an IPv6 CIDR block assigned. An IPv6-enabled LAN is limited to a maximum of 65,536 NICs.

dhcpv6
boolean or null
Default: true

Indicates if the NIC will receive an IPv6 using DHCP. It can be set to 'true' or 'false' only if this NIC is connected to an IPv6 enabled LAN.

lan
required
integer <int32>

The LAN ID the NIC will be on. If the LAN ID does not exist, it will be implicitly created.

firewallActive
boolean

Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.

firewallType
string
Enum: "INGRESS" "EGRESS" "BIDIRECTIONAL"

The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "mac": "00:0a:95:9d:68:16",
  • "ips": [
    ],
  • "dhcp": true,
  • "ipv6Ips": [
    ],
  • "ipv6CidrBlock": "2001:db8:b06d:8f5a:0609::/80",
  • "dhcpv6": true,
  • "lan": 2,
  • "firewallActive": false,
  • "firewallType": "INGRESS"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "nic",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Firewall rules

List firewall rules

List all firewall rules for the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Firewall Rule

Creates a firewall rule for the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The firewall rule to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (FirewallruleProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "firewall-rule",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve firewall rules

Retrieve the properties of the specified firewall rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

firewallruleId
required
string

The unique ID of the firewall rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify a Firewall Rule

Modifies the properties of the specified firewall rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

firewallruleId
required
string

The unique ID of the firewall rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified firewall rule.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (FirewallruleProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "firewall-rule",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete firewall rules

Delete the specified firewall rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

firewallruleId
required
string

The unique ID of the firewall rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify firewall rules

Update the properties of the specified firewall rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

firewallruleId
required
string

The unique ID of the firewall rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the firewall rule to be updated.

name
string

The name of the resource.

protocol
required
string
Enum: "TCP" "UDP" "ICMP" "ICMPv6" "GRE" "VRRP" "ESP" "AH" "ANY"

The protocol for the rule. Property cannot be modified after it is created (disallowed in update requests).

sourceMac
string or null

Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows traffic from any MAC address.

ipVersion
string or null
Enum: "IPv4" "IPv6"

The IP version for this rule. If sourceIp or targetIp are specified, you can omit this value - the IP version will then be deduced from the IP address(es) used; if you specify it anyway, it must match the specified IP address(es). If neither sourceIp nor targetIp are specified, this rule allows traffic only for the specified IP version. If neither sourceIp, targetIp nor ipVersion are specified, this rule will only allow IPv4 traffic.

sourceIp
string or null

Only traffic originating from the respective IP address (or CIDR block) is allowed. Value null allows traffic from any IP address (according to the selected ipVersion).

targetIp
string or null

If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address (or CIDR block) of the NIC is allowed. Value null allows traffic to any target IP address (according to the selected ipVersion).

icmpCode
integer or null <int32> [ 0 .. 254 ]

Defines the allowed code (from 0 to 254) if protocol ICMP or ICMPv6 is chosen. Value null allows all codes.

icmpType
integer or null <int32> [ 0 .. 254 ]

Defines the allowed type (from 0 to 254) if the protocol ICMP or ICMPv6 is chosen. Value null allows all types.

portRangeStart
integer <int32> [ 1 .. 65535 ]

Defines the start range of the allowed port (from 1 to 65535) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports.

portRangeEnd
integer <int32> [ 1 .. 65535 ]

Defines the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.

type
string
Enum: "INGRESS" "EGRESS"

The type of the firewall rule. If not specified, the default INGRESS value is used.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "protocol": "TCP",
  • "sourceMac": "00:0a:95:9d:68:16",
  • "ipVersion": "IPv4",
  • "sourceIp": "22.231.113.64",
  • "targetIp": "22.231.113.64",
  • "icmpCode": 0,
  • "icmpType": 8,
  • "portRangeStart": 8,
  • "portRangeEnd": 8,
  • "type": "INGRESS"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Security Groups

List Security Groups

Retrieve a list of available security groups.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Security Group

Creates a security group within the data center. This will allow you to define which IP addresses and networks have access to your servers.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The security group to be created

required
object (SecurityGroupProperties)
object (SecurityGroupEntitiesRequest)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "security-group",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve a Security Group

Retrieves the attributes of a given Security Group.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center

securityGroupId
required
string

The unique ID of the security group.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "security-group",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify Security Group

Modify the properties of the specified Security Group within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the Security Group.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The modified Security Group

required
object (SecurityGroupProperties)
object (SecurityGroupEntitiesRequest)

Responses

Request samples

Content type
application/json
{
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "security-group",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Partially modify Security Group

Modify the properties of the specified Security Group within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the Security Group.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The modified Security Group

name
required
string <= 60 characters

The name of the security group.

description
string <= 300 characters

The description of the security group.

Responses

Request samples

Content type
application/json
{
  • "name": "My security group",
  • "description": "My security group description"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "security-group",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete a Security Group

Deletes the specified Security Group.

Authorizations:
TokenAuthenticationBasicAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the Security Group.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

List Security Group rules

List all rules for the specified Security Group.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the security group.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create Firewall rule to a Security Group

Create one firewall rule and attach it to the existing security group

Authorizations:
TokenAuthenticationBasicAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center

securityGroupId
required
string

The unique ID of the security group.

Request Body schema: application/json

The firewall to be attached (or created and attached).

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (FirewallruleProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "firewall-rule",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve security group rule by id

Retrieve the properties of the specified Security Group rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the Security Group.

ruleId
required
string

The unique ID of the Security Group rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify a Security Group Rule

Modifies the properties of the specified Security Group Rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the security group.

ruleId
required
string

The unique ID of the Security Group Rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The modified Security Group Rule.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (FirewallruleProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "firewall-rule",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Remove a Firewall Rule from a Security Group

Removes the specific Firewall Rule from the Security Group and delete the Firewall rule

Authorizations:
TokenAuthenticationBasicAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center

securityGroupId
required
string

The unique ID of the security group.

ruleId
required
string

The unique ID of the firewall rule.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify Security Group Rules

Update the properties of the specified Security Group rule.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

securityGroupId
required
string

The unique ID of the security group.

ruleId
required
string

The unique ID of the Security Group Rule.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The properties of the Security Group Rule to be updated.

name
string

The name of the resource.

protocol
required
string
Enum: "TCP" "UDP" "ICMP" "ICMPv6" "GRE" "VRRP" "ESP" "AH" "ANY"

The protocol for the rule. Property cannot be modified after it is created (disallowed in update requests).

sourceMac
string or null

Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows traffic from any MAC address.

ipVersion
string or null
Enum: "IPv4" "IPv6"

The IP version for this rule. If sourceIp or targetIp are specified, you can omit this value - the IP version will then be deduced from the IP address(es) used; if you specify it anyway, it must match the specified IP address(es). If neither sourceIp nor targetIp are specified, this rule allows traffic only for the specified IP version. If neither sourceIp, targetIp nor ipVersion are specified, this rule will only allow IPv4 traffic.

sourceIp
string or null

Only traffic originating from the respective IP address (or CIDR block) is allowed. Value null allows traffic from any IP address (according to the selected ipVersion).

targetIp
string or null

If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address (or CIDR block) of the NIC is allowed. Value null allows traffic to any target IP address (according to the selected ipVersion).

icmpCode
integer or null <int32> [ 0 .. 254 ]

Defines the allowed code (from 0 to 254) if protocol ICMP or ICMPv6 is chosen. Value null allows all codes.

icmpType
integer or null <int32> [ 0 .. 254 ]

Defines the allowed type (from 0 to 254) if the protocol ICMP or ICMPv6 is chosen. Value null allows all types.

portRangeStart
integer <int32> [ 1 .. 65535 ]

Defines the start range of the allowed port (from 1 to 65535) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports.

portRangeEnd
integer <int32> [ 1 .. 65535 ]

Defines the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.

type
string
Enum: "INGRESS" "EGRESS"

The type of the firewall rule. If not specified, the default INGRESS value is used.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "protocol": "TCP",
  • "sourceMac": "00:0a:95:9d:68:16",
  • "ipVersion": "IPv4",
  • "sourceIp": "22.231.113.64",
  • "targetIp": "22.231.113.64",
  • "icmpCode": 0,
  • "icmpType": 8,
  • "portRangeStart": 8,
  • "portRangeEnd": 8,
  • "type": "INGRESS"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "firewall-rule",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Attach a list of Security Groups to a Server

Updating the list of Security Groups attached to an existing server specified by its ID. Security Groups should already exist as part of the datacenter.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The list of server attached Security Groups IDs.

ids
required
Array of strings <uuid>

The list of IDs

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Attach a list of Security Groups to a NIC

Updating the list of Security Groups attached to an existing NIC specified by its ID. Security Groups should already exist as part of the datacenter.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the server.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID]

  • depth=0: Only direct properties are included; children (servers and other elements) are not included.
  • depth=1: Direct properties and children references are included.
  • depth=2: Direct properties and children properties are included.
  • depth=3: Direct properties and children properties and children's children are included.
  • depth=... and so on
Request Body schema: application/json

The list of NIC attached Security Groups IDs.

ids
required
Array of strings <uuid>

The list of IDs

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Flow Logs

List Flow Logs

List all the Flow Logs for the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Flow Log

Adds a new Flow Log for the specified NIC.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Request Body schema: application/json

The Flow Log to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (FlowLogProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "flow-log",
  • "metadata": { },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "flow-log",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Retrieve Flow Logs

Retrieve the properties of the specified Flow Log.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

flowlogId
required
string

The unique ID of the Flow Log.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "flow-log",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Modify Flow Logs

Modify the specified Flow Log record.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

flowlogId
required
string

The unique ID of the Flow Log.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Request Body schema: application/json

The modified Flow Log.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

required
object (FlowLogProperties)

Responses

Request samples

Content type
application/json
{
  • "type": "flow-log",
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "flow-log",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Delete Flow Logs

Delete the specified Flow Log.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

flowlogId
required
string

The unique ID of the Flow Log.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify Flow Logs

Update the specified Flow Log record.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

serverId
required
string

The unique ID of the server.

nicId
required
string

The unique ID of the NIC.

flowlogId
required
string

The unique ID of the Flow Log.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Request Body schema: application/json

The Flow Log record to be updated.

name
required
string

The resource name.

action
required
string
Enum: "ACCEPTED" "REJECTED" "ALL"

Specifies the traffic action pattern.

direction
required
string
Enum: "INGRESS" "EGRESS" "BIDIRECTIONAL"

Specifies the traffic direction pattern.

bucket
required
string

The bucket name of an existing IONOS Cloud Object storage bucket.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "action": "ACCEPTED",
  • "direction": "INGRESS",
  • "bucket": "bucketName/key"
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "flow-log",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    }
}

Load Balancers

List Load Balancers

List all the Load Balancers within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

offset
integer <int32> >= 0
Default: 0

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

limit
integer <int32> [ 1 .. 10000 ]
Default: 1000

The maximum number of elements to return (use together with offset for pagination).

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Create a Load Balancer

Creates a Load Balancer within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The Load Balancer to create.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (LoadbalancerProperties)
object (LoadbalancerEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "loadbalancer",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "loadbalancer",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Retrieve Load Balancers

Retrieve the properties of the specified Load Balancer within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "loadbalancer",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Modify a Load Balancer by ID

Modifies the properties of the specified Load Balancer within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The modified Load Balancer.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (LoadbalancerProperties)
object (LoadbalancerEntities)

Responses

Request samples

Content type
application/json
{
  • "type": "loadbalancer",
  • "metadata": { },
  • "properties": {
    },
  • "entities": {
    }
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "loadbalancer",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

Delete Load Balancers

Remove the specified Load Balancer from the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "httpStatus": 400,
  • "messages": [
    ]
}

Partially modify Load Balancers

Update the properties of the specified Load Balancer within the data center.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The properties of the Load Balancer to be updated.

name
string

The name of the resource.

ip
string or null

IPv4 address of the loadbalancer. All attached NICs will inherit this IP. Leaving value null will assign IP automatically.

dhcp
boolean

Indicates if the loadbalancer will reserve an IP using DHCP.

Responses

Request samples

Content type
application/json
{
  • "name": "My resource",
  • "ip": "22.231.113.64",
  • "dhcp": true
}

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "loadbalancer",
  • "href": "<RESOURCE-URI>",
  • "metadata": {
    },
  • "properties": {
    },
  • "entities": {
    }
}

List balanced NICs

List all NICs, attached to the specified Load Balancer.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses

Response samples

Content type
application/json
{
  • "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  • "type": "collection",
  • "href": "<RESOURCE-URI>",
  • "items": [
    ],
  • "offset": 0,
  • "limit": 1000,
  • "_links": {
    }
}

Attach balanced NICs

Attachs an existing NIC to the specified Load Balancer.

Authorizations:
BasicAuthenticationTokenAuthentication
path Parameters
datacenterId
required
string

The unique ID of the data center.

loadbalancerId
required
string

The unique ID of the Load Balancer.

query Parameters
pretty
boolean
Default: true

Controls whether the response is pretty-printed (with indentations and new lines).

depth
integer <int32> [ 0 .. 10 ]
Default: 0

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

header Parameters
X-Contract-Number
integer <int32>

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Request Body schema: application/json

The NIC to be attached.

type
string
Enum: "datacenter" "server" "volume" "nic" "loadbalancer" "location" "firewall-rule" "flow-log" "image" "snapshot" "lan" "ipblock" "pcc" "contract" "user" "group" "collection" "resource" "request" "request-status" "s3key" "backupunit" "label" "k8s" "nodepool" "template" "networkloadbalancer" "forwarding-rule" "natgateway" "natgateway-rule" "node" "applicationloadbalancer" "target-group" "security-group" "gpu"

The type of object that has been created.

object (DatacenterElementMetadata)
required
object (NicProperties)
object (NicEntities)

Responses

Request samples