Skip to main content

API Reference

The ccloud Customer API controls servers, networks, Snapshots and more — programmatically via REST. Select your language in the top right-hand corner of the code blocks.

Hinweis

Base URL: https://ccenter.centron.de/api/v1 — Authentifizierung per OAuth2 Client Credentials (Token URL: /oauth/token).

All 110 endpoints across 31 sections are fully documented — with code examples in four languages, parameters, sample responses and response overviews. The 80 data models can be found in the expandable section under Schemas.

OAuth

Generate a new token #

POST/oauth/token
curl --request POST \
  --url https://ccenter.centron.de/api/v1/oauth/token \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"grant_type": "client_credentials", "client_id": "90f63c80-bd90-89a3-4632-b16c4ab909ae", "client_secret": "GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI", "scope": "*"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"grant_type\": \"client_credentials\", \"client_id\": \"90f63c80-bd90-89a3-4632-b16c4ab909ae\", \"client_secret\": \"GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI\", \"scope\": \"*\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/oauth/token", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/oauth/token",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"grant_type\": \"client_credentials\", \"client_id\": \"90f63c80-bd90-89a3-4632-b16c4ab909ae\", \"client_secret\": \"GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI\", \"scope\": \"*\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/oauth/token' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"grant_type": "client_credentials", "client_id": "90f63c80-bd90-89a3-4632-b16c4ab909ae", "client_secret": "GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI", "scope": "*"}'
Body parameters
JSON
{
  "grant_type": "client_credentials",
  "client_id": "90f63c80-bd90-89a3-4632-b16c4ab909ae",
  "client_secret": "GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI",
  "scope": "*"
}
Parameters
NameInTypeObligationDescription
bodybodyOAuthyes
Sample response 200
JSON
{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "eyJhbGciOiJIUzI1…"
}
Responses
StatusDescriptionDiagram
200SuccessOAuthResponse
400Invalid parametersOAuthBadRequestResponse
401UnauthorisedOAuthUnauthorizedResponse

Authentication: oAuth2ClientCredentials

Servers

Retrieve all of the customer’s servers #

GET/ccloud/servers
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
dayquerystringnoOnly servers with this tag
limitqueryintegernoMax. number of results
pagequeryintegernoPage (Pagination)
searchquerystringnoSearch by hostname, OS name, IP addresses, tags
build_in_progressquerybooleannoServer currently under construction
deletion_in_progressquerybooleannoOnly servers in the deletion process
sortquerystringnoColumns for sorting (comma-separated list)
orderquerystringnoSort order (comma-separated list)
Sample response 200
JSON
{
  "data": [
    {
      "id": 0,
      "customer_id": "string",
      "project_id": 0,
      "hostname": "string",
      "generation": 0,
      "created_at": "2019-08-24",
      "tags": [
        "string"
      ],
      "location": "string",
      "custom_name": "string",
      "credentials_available": true,
      "deletion_in_progress": true,
      "build_in_progress": true,
      "rootaccess": true,
      "network_adapters": [
        {
          "id": "497f6eca-…",
          "vlan_number": 0,
          "bandwidth": 0,
          "mac_address": "string",
          "ip_addresses": [
            {
              "ip": "string",
              "subnet": {
                "type": "IPv4",
                "network": "string",
                "gateway": "string",
                "mask_bits": 0
              }
            }
          ]
        }
      ],
      "data": {
        "cores": 0,
        "memory": 0,
        "disk": 0,
        "pool": "string",
        "type": "unmanaged",
        "os_name": "string",
        "ostype": "Windows",
        "addons": [
          {
            "name": "string",
            "count": 0
          }
        ]
      }
    }
  ]
}
Responses
StatusDescriptionDiagram
200SuccessServer[]

Authentication: oAuth2ClientCredentials

Create a new server #

POST/ccloud/servers
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"project_id": 0, "pool": "string", "hostname": "string", "description": "string", "cores": 0, "memory": 0, "disks": [0], "image": "string", "custom_name": "string", "password": "string", "ssh_keys": ["ssh-ed25519 AAAAC3NzaC1lZ..."], "user_data": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n", "type": "managed", "addons": [{"name": "string", "count": 0}], "subnets": [0], "subnets_intern": [0], "tags": ["string"], "rollouts": ["string"]}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"project_id\": 0, \"pool\": \"string\", \"hostname\": \"string\", \"description\": \"string\", \"cores\": 0, \"memory\": 0, \"disks\": [0], \"image\": \"string\", \"custom_name\": \"string\", \"password\": \"string\", \"ssh_keys\": [\"ssh-ed25519 AAAAC3NzaC1lZ...\"], \"user_data\": \"#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n\", \"type\": \"managed\", \"addons\": [{\"name\": \"string\", \"count\": 0}], \"subnets\": [0], \"subnets_intern\": [0], \"tags\": [\"string\"], \"rollouts\": [\"string\"]}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"project_id\": 0, \"pool\": \"string\", \"hostname\": \"string\", \"description\": \"string\", \"cores\": 0, \"memory\": 0, \"disks\": [0], \"image\": \"string\", \"custom_name\": \"string\", \"password\": \"string\", \"ssh_keys\": [\"ssh-ed25519 AAAAC3NzaC1lZ...\"], \"user_data\": \"#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n\", \"type\": \"managed\", \"addons\": [{\"name\": \"string\", \"count\": 0}], \"subnets\": [0], \"subnets_intern\": [0], \"tags\": [\"string\"], \"rollouts\": [\"string\"]}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"project_id": 0, "pool": "string", "hostname": "string", "description": "string", "cores": 0, "memory": 0, "disks": [0], "image": "string", "custom_name": "string", "password": "string", "ssh_keys": ["ssh-ed25519 AAAAC3NzaC1lZ..."], "user_data": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n", "type": "managed", "addons": [{"name": "string", "count": 0}], "subnets": [0], "subnets_intern": [0], "tags": ["string"], "rollouts": ["string"]}'
Body parameters
JSON
{
  "project_id": 0,
  "pool": "string",
  "hostname": "string",
  "description": "string",
  "cores": 0,
  "memory": 0,
  "disks": [
    0
  ],
  "image": "string",
  "custom_name": "string",
  "password": "string",
  "ssh_keys": [
    "ssh-ed25519 AAAAC3NzaC1lZ..."
  ],
  "user_data": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n",
  "type": "managed",
  "addons": [
    {
      "name": "string",
      "count": 0
    }
  ],
  "subnets": [
    0
  ],
  "subnets_intern": [
    0
  ],
  "tags": [
    "string"
  ],
  "rollouts": [
    "string"
  ]
}
Parameters
NameInTypeObligationDescription
bodybodyDeploymentCreateRequestyes
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200OKDeploymentCreateRequestSuccess
422Validation failure

Authentication: oAuth2ClientCredentials

Server details by hostname #

GET/ccloud/servers/{hostname}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
{
  "id": 0,
  "hostname": "string",
  "custom_name": "string",
  "tags": [
    "string"
  ],
  "location": "string",
  "rootaccess": true,
  "data": {
    "cores": 0,
    "memory": 0,
    "disk": 0,
    "pool": "string",
    "os_name": "string"
  },
  "custom_price": true
}
Responses
StatusDescriptionDiagram
200SuccessServerDetailInclCustomPriceFlag

Authentication: oAuth2ClientCredentials

Delete virtual machine #

DELETE/ccloud/servers/{hostname}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"hostname": "string"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"hostname\": \"string\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "{\"hostname\": \"string\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000' -Method DELETE -Headers $headers -ContentType 'application/json' -Body '{"hostname": "string"}'
Body parameters
JSON
{
  "hostname": "string"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
bodybodyDeleteRequestyes
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200Task ID of the deletion taskTaskID
422Validation failure

Authentication: oAuth2ClientCredentials

All tasks on a server #

GET/ccloud/servers/{hostname}/tasks
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tasks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/tasks", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tasks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tasks' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
actionquerystringnoFilter by promotion
statusquerystringnoFilter by status (processing, failed, done)
searchquerystringnoWildcard search
limitqueryintegernoMax. number
pagequeryintegernoPage
sortquerystringnoSorting columns
orderquerystringnoSort order
Sample response 200
JSON
[
  {
    "id": 0,
    "action": "create-server",
    "customer_id": "string",
    "username": "string",
    "hostname": "string",
    "status": "processing",
    "error_message": "string",
    "created_at": "2019-08-24T14:15:22Z"
  }
]
Responses
StatusDescriptionDiagram
200Server task listTasksGetStatus[]

Authentication: oAuth2ClientCredentials

Retrieve server password #

GET/ccloud/servers/{hostname}/password
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/password \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/password", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/password",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/password' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
[
  {
    "username": "string",
    "password": "string"
  }
]
Responses
StatusDescriptionDiagram
200Server Login detailsgetPassword[]

Authentication: oAuth2ClientCredentials

Server Actions

Reinstall the server #

POST/ccloud/servers/{hostname}/redeploy
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/redeploy \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"image": "string", "password": "string", "ssh_keys": ["ssh-ed25519 AAAAC3NzaC1lZ..."]}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"image\": \"string\", \"password\": \"string\", \"ssh_keys\": [\"ssh-ed25519 AAAAC3NzaC1lZ...\"]}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/redeploy", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/redeploy",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"image\": \"string\", \"password\": \"string\", \"ssh_keys\": [\"ssh-ed25519 AAAAC3NzaC1lZ...\"]}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/redeploy' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"image": "string", "password": "string", "ssh_keys": ["ssh-ed25519 AAAAC3NzaC1lZ..."]}'
Body parameters
JSON
{
  "image": "string",
  "password": "string",
  "ssh_keys": [
    "ssh-ed25519 AAAAC3NzaC1lZ..."
  ]
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
bodybodyRedeployRequestyes
Sample response 200
JSON
{
  "id": 0,
  "job_id": "string",
  "action": "string"
}
Responses
StatusDescriptionDiagram
200OKTaskResponse
422Validation failureValidationFailure

Authentication: oAuth2ClientCredentials

Set a custom name #

PUT/ccloud/servers/{hostname}/customname
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/customname \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/customname", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/customname",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/customname' -Method PUT -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
namebodystringnoCustom Name (blank = delete existing name)
Responses
StatusDescriptionDiagram
204Custom name successfully set

Authentication: oAuth2ClientCredentials

Server Resize

Changing a server’s RAM #

PUT/ccloud/servers/{hostname}/memory
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/memory \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"memory": 0}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"memory\": 0}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/memory", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/memory",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"memory\": 0}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/memory' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"memory": 0}'
Body parameters
JSON
{
  "memory": 0
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
bodybodyServerResizeMemoryRequestyes
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200Task ID of the resize taskTaskID

Authentication: oAuth2ClientCredentials

Changing a server’s cores #

PUT/ccloud/servers/{hostname}/cores
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/cores \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"cores": 0}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"cores\": 0}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/cores", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/cores",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"cores\": 0}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/cores' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"cores": 0}'
Body parameters
JSON
{
  "cores": 0
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
bodybodyServerResizeCoresRequestyes
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200Task ID of the resize taskTasksGetCoresStatus

Authentication: oAuth2ClientCredentials

Server add-ons

Setting up an add-on for a server #

PUT/ccloud/servers/{hostname}/addons/{addon}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"count": 0, "description": null}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"count\": 0, \"description\": null}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/addons/cprotect", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"count\": 0, \"description\": null}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"count": 0, "description": null}'
Body parameters
JSON
{
  "count": 0,
  "description": null
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
add-onpathstringyesName of the add-on (e.g. cprotect)
countbodyintegernoNumber
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Delete a server add-on #

DELETE/ccloud/servers/{hostname}/addons/{addon}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/addons/cprotect", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/addons/cprotect' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
add-onpathstringyesName of the add-on
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Server ISO

Available server ISOs #

GET/ccloud/servers/{hostname}/isos
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/isos \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/isos", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/isos",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/isos' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
{
  "name": "string",
  "fullName": "string",
  "customer": "string",
  "size": 0
}
Responses
StatusDescriptionDiagram
200All ISOsGetISOs

Authentication: oAuth2ClientCredentials

Server Status

Check the status of a server #

GET/ccloud/servers/{hostname}/state
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/state", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
{
  "state": "Running"
}
Responses
StatusDescriptionDiagram
200OK (Running, Paused, Reset, Saved, Off, Critical)

Authentication: oAuth2ClientCredentials

Change a server’s status #

POST/ccloud/servers/{hostname}/state/{action}
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state/start \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/state/start", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state/start",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/state/start' -Method POST -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
actionpathstringyesstart, stop, shutdown, shutdown-force, reset
Sample response 200
JSON
{
  "id": 32
}
Responses
StatusDescriptionDiagram
200Task ID

Authentication: oAuth2ClientCredentials

Console

A server’s console URL #

GET/ccloud/servers/{hostname}/console
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/console \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/console", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/console",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/console' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
layoutquerystringnoKeyboard layout for the console
Sample response 200
JSON
{
  "url": "string"
}
Responses
StatusDescriptionDiagram
200Newly generated console URLConsole

Authentication: oAuth2ClientCredentials

Server DVD drives

Retrieve DVD drives #

GET/ccloud/servers/{hostname}/dvds
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/dvds", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
[
  {
    "id": "string",
    "path": "string"
  }
]
Responses
StatusDescriptionDiagram
200OKVMDVDModel[]

Authentication: oAuth2ClientCredentials

Add a new DVD drive #

POST/ccloud/servers/{hostname}/dvds
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/dvds", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds' -Method POST -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
namebodystringyesFile name of the ISO image
Sample response 200
JSON
[]
Responses
StatusDescriptionDiagram
200OK

Authentication: oAuth2ClientCredentials

Update the DVD drive #

PUT/ccloud/servers/{hostname}/dvds/{id}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s1 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/dvds/sc0s1", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s1",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s1' -Method PUT -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
idpathstringyesDVD drive ID
namebodystringyesFile name of the ISO image
Sample response 200
JSON
[
  {
    "id": 0,
    "data": [
      {
        "id": "string",
        "name": "string",
        "path": "string",
        "hostname": "string"
      }
    ]
  }
]
Responses
StatusDescriptionDiagram
200OKUpdateDVDTaskResponse[]

Authentication: oAuth2ClientCredentials

Delete DVD drive #

DELETE/ccloud/servers/{hostname}/dvds/{id}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/dvds/sc0s0", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/dvds/sc0s0' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
idpathstringyesDVD drive ID
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200OKDeleteDVDTaskResponse

Authentication: oAuth2ClientCredentials

Server Disks

Retrieving a server’s Disks #

GET/ccloud/servers/{hostname}/disks
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/disks", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
[
  {
    "id": "string",
    "size": 0,
    "perfCounterInstancename": "string"
  }
]
Responses
StatusDescriptionDiagram
200OKVMDiskModel[]

Authentication: oAuth2ClientCredentials

Add a new disc #

POST/ccloud/servers/{hostname}/disks
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"size": 0}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"size\": 0}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/disks", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"size\": 0}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"size": 0}'
Body parameters
JSON
{
  "size": 0
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
sizebodyintegeryesSize in bytes
Sample response 200
JSON
{
  "id": 0,
  "job_id": "string",
  "action": "string"
}
Responses
StatusDescriptionDiagram
200OKTaskResponse

Authentication: oAuth2ClientCredentials

Update disc #

PUT/ccloud/servers/{hostname}/disks/{id}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"size": 50}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"size\": 50}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/disks/sc0s0", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"size\": 50}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"size": 50}'
Body parameters
JSON
{
  "size": 50
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
idpathstringyesDisc ID
bodybodyVMDiskUpdateModelyes
Sample response 200
JSON
{
  "id": 0
}
Responses
StatusDescriptionDiagram
200OKUpdateTaskResponse

Authentication: oAuth2ClientCredentials

Delete disc #

DELETE/ccloud/servers/{hostname}/disks/{id}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/disks/sc0s0", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/disks/sc0s0' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
idpathstringyesDisc ID
Sample response 200
JSON
{
  "id": 0,
  "job_id": "string",
  "action": "string"
}
Responses
StatusDescriptionDiagram
200OKTaskResponse
422Validation failureValidationFailure

Authentication: oAuth2ClientCredentials

Network

The customer’s subnets #

GET/ccloud/network/subnets
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/network/subnets \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/network/subnets", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/network/subnets",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/network/subnets' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": 2,
    "type": "IPv4",
    "name": "string",
    "network": "192.168.232.0",
    "gateway": "192.168.232.1",
    "mask_bits": 24,
    "nameservers": [
      [
        "192.168.232.1"
      ]
    ]
  }
]
Responses
StatusDescriptionDiagram
200List of subnetsNetworkSubnets

Authentication: oAuth2ClientCredentials

IP addresses in a subnet #

GET/ccloud/network/subnets/{id}/ips
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/network/subnets/2/ips \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/network/subnets/2/ips", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/network/subnets/2/ips",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/network/subnets/2/ips' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
idpathstringyesSubnet ID
Sample response 200
JSON
[
  {
    "id": 0,
    "server_id": 0,
    "subnet_id": 0,
    "ip": "255.255.255.0",
    "hostname": "string",
    "created_at": "2019-08-24T14:15:22Z"
  }
]
Responses
StatusDescriptionDiagram
200IP addresses in the subnetNetworkIP[]

Authentication: oAuth2ClientCredentials

All of the customer’s IP addresses #

GET/ccloud/network/ips
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/network/ips \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/network/ips", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/network/ips",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/network/ips' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "hostname": "ts1000",
    "ip": "1.1.1.1",
    "subnetname": "VLAN_1"
  }
]
Responses
StatusDescriptionDiagram
200OKNetworkIPs[]

Authentication: oAuth2ClientCredentials

The customer’s VPCs #

GET/ccloud/network/vpcs
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/network/vpcs \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/network/vpcs", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/network/vpcs",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/network/vpcs' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": "string",
    "type": "public",
    "name": "string",
    "subnets": [
      {
        "id": 2,
        "type": "IPv4",
        "network": "192.168.232.0",
        "gateway": "192.168.232.1",
        "mask_bits": 24
      }
    ]
  }
]
Responses
StatusDescriptionDiagram
200OKNetworkVPC[]

Authentication: oAuth2ClientCredentials

A server’s network adapter #

GET/ccloud/servers/{hostname}/network
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/network", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
Sample response 200
JSON
[
  {
    "id": "string",
    "switch": "string",
    "vlan": 0,
    "mac_spoofing": true,
    "bandwith": 0,
    "ipAdresse": [
      "string"
    ]
  }
]
Responses
StatusDescriptionDiagram
200OKVMNetModel[]

Authentication: oAuth2ClientCredentials

Add a new IP address to the adapter #

POST/ccloud/servers/{hostname}/network/{adapter_id}/ip
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network/a1b2/ip \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"protocol": "IPv4"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"protocol\": \"IPv4\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/network/a1b2/ip", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network/a1b2/ip",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"protocol\": \"IPv4\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/network/a1b2/ip' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"protocol": "IPv4"}'
Body parameters
JSON
{
  "protocol": "IPv4"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesServer hostname
adapter_idpathstringyesNetwork adapter ID
bodybodyVMNetworkAddIPRequestyes
Sample response 200
JSON
{
  "type": "IPv6",
  "ip_address": "2a00:6140:a000:72::b",
  "network": "2a00:6140:a000:72::",
  "mask_bits": 64,
  "nameservers": [
    "2a00:6140:a000:72::1"
  ],
  "gateway": "2a00:6140:a000:72::1",
  "vlan": 708
}
Responses
StatusDescriptionDiagram
200New IP allocationVMNetworkAddIPResponse

Authentication: oAuth2ClientCredentials

Scheduled Snapshots

Scheduled Snapshots #

GET/ccloud/servers/{hostname}/snapshots/scheduled
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/snapshots/scheduled", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Sample response 200
JSON
{
  "frequency": 3,
  "next_run": "2023-11-30 15:00"
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Creates a scheduler for automatic Snapshots #

POST/ccloud/servers/{hostname}/snapshots/scheduled
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"frequency": 3, "next_run": "2023-11-30 15:00"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"frequency\": 3, \"next_run\": \"2023-11-30 15:00\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/snapshots/scheduled", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"frequency\": 3, \"next_run\": \"2023-11-30 15:00\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"frequency": 3, "next_run": "2023-11-30 15:00"}'
Body parameters
JSON
{
  "frequency": 3,
  "next_run": "2023-11-30 15:00"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
bodybody#/paths/~1ccloud~1servers~1%7Bhostname%7D~1snapshots~1scheduled/get/responses/200/content/application~1json/schemayes
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Delete Scheduler for automatic Snapshots #

DELETE/ccloud/servers/{hostname}/snapshots/scheduled
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/snapshots/scheduled", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/scheduled' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Snapshots

Retrieve the Snapshots of a server by its hostname. #

GET/ccloud/servers/{hostname}/snapshots
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/snapshots", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Sample response 200
JSON
[
  {
    "id": "string",
    "name": "string",
    "active": true,
    "creationTime": "2019-08-24T14:15:22Z",
    "parentSnapshotId": "string"
  }
]
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Create a new snapshot #

POST/ccloud/servers/{hostname}/snapshots
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name": "string"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"name\": \"string\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/snapshots", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"name\": \"string\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"name": "string"}'
Body parameters
JSON
{
  "name": "string"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
bodybodyServerCreateSnapshotRequestyes
Sample response 200
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
Responses
StatusDescriptionDiagram
200Task ID of the ‘Create Snapshots’ taskAddedSnapshotTaskResponse

Authentication: oAuth2ClientCredentials

Restore (apply) a snapshot on the server #

POST/ccloud/servers/{hostname}/snapshots/{id}
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099' -Method POST -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
idpathstringyessnapshot ID
Sample response 200
JSON
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": null,
    "id": {
      "type": "integer",
      "example": 0
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "string"
          },
          "hostname": {
            "type": "string",
            "example": "string",
            "description": "Hostname of the Server"
          },
          "customer_id": {
            "type": "string",
            "example": "string",
            "description": "Customer ID submitting the request."
          },
          "username": {
            "type": "string",
            "example": "string",
            "description": "Username submitting the request."
          }
        }
      }
    }
  }
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Rename a Snapshot #

PUT/ccloud/servers/{hostname}/snapshots/{id}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name": "string"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"name\": \"string\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"name\": \"string\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"name": "string"}'
Body parameters
JSON
{
  "name": "string"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
idpathstringyessnapshot ID
bodybodyServerRenameSnapshotRequestyes
Sample response 200
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "string"
        },
        "name": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
Responses
StatusDescriptionDiagram
200Task ID for the ‘Rename Snapshots’ taskRenameSnapshotTaskResponse

Authentication: oAuth2ClientCredentials

Delete a snapshot on the server #

DELETE/ccloud/servers/{hostname}/snapshots/{id}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/snapshots/51c1d831-784b-4550-8c54-a2ced31b5099' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
idpathstringyessnapshot ID
Sample response 200
JSON
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": null,
    "id": {
      "type": "integer",
      "example": 0
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "string"
          },
          "hostname": {
            "type": "string",
            "example": "string",
            "description": "Hostname of the Server"
          },
          "customer_id": {
            "type": "string",
            "example": "string",
            "description": "Customer ID submitting the request."
          },
          "username": {
            "type": "string",
            "example": "string",
            "description": "Username submitting the request."
          }
        }
      }
    }
  }
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Performance

Retrieve a server’s performance data using its hostname. #

GET/ccloud/servers/{hostname}/performance/{resource}/{period}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/performance/mem/year \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/performance/mem/year", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/performance/mem/year",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/performance/mem/year' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
resourcepathstringyesType of resource from which to retrieve performance data
periodpathstringyesTime period for which performance data is to be collected.
Sample response 200
JSON
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": null,
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "units": {
            "type": "integer",
            "format": "string",
            "example": "Byte/s",
            "description": "The Units of the Performance Data given back"
          },
          "perfdata": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "send_persec": {
                  "type": "integer",
                  "example": 54,
                  "description": "Example of Performance Data given back, this elements can change depending on what data is requested"
                }
              }
            }
          }
        }
      }
    }
  }
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Boot order

Retrieve the boot order of a server by its hostname. #

GET/ccloud/servers/{hostname}/bootorder
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/bootorder", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Sample response 200
JSON
[
  {
    "id": 1,
    "type": "DVD",
    "bootDevice": "sc0s1"
  }
]
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Change the boot order of a server by its hostname. #

PUT/ccloud/servers/{hostname}/bootorder
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"type": "object", "properties": null, "id": {"type": "integer", "example": 2}}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"type\": \"object\", \"properties\": null, \"id\": {\"type\": \"integer\", \"example\": 2}}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/bootorder", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"type\": \"object\", \"properties\": null, \"id\": {\"type\": \"integer\", \"example\": 2}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/bootorder' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"type": "object", "properties": null, "id": {"type": "integer", "example": 2}}'
Body parameters
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 2
  }
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
bodybodychangeBootOrderRequestyes
Sample response 200
JSON
{
  "id": 0,
  "job_id": "string",
  "action": "string"
}
Responses
StatusDescriptionDiagram
200OKTaskResponse

Authentication: oAuth2ClientCredentials

Server Notes

Notes for this server #

PUT/ccloud/servers/{hostname}/notes
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"notes": "This is my Database Server"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"notes\": \"This is my Database Server\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/servers/vs10000/notes", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"notes\": \"This is my Database Server\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"notes": "This is my Database Server"}'
Body parameters
JSON
{
  "notes": "This is my Database Server"
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
bodybodyServerNotesRequestyes
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Delete notes for this server #

DELETE/ccloud/servers/{hostname}/notes
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/notes", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/notes' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Tags

Retrieve all tags for the specified customer. #

GET/ccloud/tags
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/tags \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/tags", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/tags",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/tags' -Method GET -Headers $headers
Sample response 200
JSON
[
  "development",
  "production"
]
Responses
StatusDescriptionDiagram
200An array of tags associated with the specified customer.TagsForCustomer

Authentication: oAuth2ClientCredentials

Retrieve tags for a server by its hostname. #

GET/ccloud/servers/{hostname}/tags
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/tags", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Sample response 200
JSON
[
  "development",
  "production"
]
Responses
StatusDescriptionDiagram
200SuccessServerTags

Authentication: oAuth2ClientCredentials

Update the tags for the server. #

POST/ccloud/servers/{hostname}/tags
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"tags": ["development", "production"]}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"tags\": [\"development\", \"production\"]}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/servers/vs10000/tags", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"tags\": [\"development\", \"production\"]}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"tags": ["development", "production"]}'
Body parameters
JSON
{
  "tags": [
    "development",
    "production"
  ]
}
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
bodybodyobjectyes
» tagsbody[string]noAn array of tags to set for the server.
Responses
StatusDescriptionDiagram
204The server tags have been successfully updated.
422

Authentication: oAuth2ClientCredentials

Delete all tags for the server. #

DELETE/ccloud/servers/{hostname}/tags
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/servers/vs10000/tags", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/tags' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Responses
StatusDescriptionDiagram
204The server tags have been successfully deleted.

Authentication: oAuth2ClientCredentials

GPUs

Get all GPU models and their current availability. #

GET/ccloud/gpus
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/gpus \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/gpus", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/gpus",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/gpus' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": 1,
    "name": "AMD Barco MXRT 5450 1024 MB BIOS",
    "addon_name": "gpu_amd_barco_mxrt_5450_1024mb_bios",
    "pools": [
      "pool_iw3_ssd_gpu"
    ],
    "desc_de": "AMD Barco MXRT 5450 1024 MB BIOS",
    "desc_en": "AMD Barco MXRT 5450 1024 MB BIOS"
  }
]
Responses
StatusDescriptionDiagram
200SuccessInline

Authentication: oAuth2ClientCredentials

Retrieve all available GPU models for a server. #

GET/ccloud/servers/{hostname}/gpus
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/gpus \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/servers/vs10000/gpus", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/gpus",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/servers/vs10000/gpus' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
hostnamepathstringyesHostname of the server.
Sample response 200
JSON
[
  {
    "name": "AMD Barco MXRT 5450 1024 MB BIOS",
    "addon_name": "gpu_amd_barco_mxrt_5450_1024mb_bios",
    "desc_de": "AMD Barco MXRT 5450 1024 MB BIOS",
    "desc_en": "AMD Barco MXRT 5450 1024 MB BIOS",
    "count": 1
  }
]
Responses
StatusDescriptionDiagram
200SuccessInline

Authentication: oAuth2ClientCredentials

Tasks

Retrieve all tasks for the specified customer. #

GET/ccloud/tasks
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/tasks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/tasks", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/tasks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/tasks' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
actionquerystringnoFilter by action
statusquerystringnoFilter by status
searchquerystringnoSearch for a server by hostname or error message
limitqueryintegernoLimit results
pagequeryintegernoPage number for pagination
sortquerystringnoA comma-separated list of the columns to sort by.
orderquerystringnoA comma-separated list of order instructions.
Sample response 200
JSON
[
  {
    "id": 0,
    "action": "create-server",
    "customer_id": "string",
    "username": "string",
    "hostname": "string",
    "status": "processing",
    "error_message": "string",
    "created_at": "2019-08-24T14:15:22Z"
  }
]
Responses
StatusDescriptionDiagram
200An array of tasks belonging to the specified customer.Inline

Authentication: oAuth2ClientCredentials

Get a task by ID. #

GET/ccloud/tasks/{id}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/tasks/1 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/tasks/1", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/tasks/1",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/tasks/1' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
idpathintegeryesTask ID.
Sample response 200
JSON
{
  "id": 0,
  "action": "create-server",
  "customer_id": "string",
  "username": "string",
  "hostname": "string",
  "status": "processing",
  "error_message": "string",
  "created_at": "2019-08-24T14:15:22Z"
}
Responses
StatusDescriptionDiagram
200Task status with details.TasksGetStatus

Authentication: oAuth2ClientCredentials

Pools

Get a list of all public pools and your own pools. #

GET/ccloud/pools
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/pools \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/pools", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/pools",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/pools' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
inactivequerybooleannoInclude inactive pools.
Sample response 200
JSON
[
  {
    "gpu_supported": true,
    "tag": "string",
    "name": "string",
    "desc_de": "string",
    "desc_en": "string"
  }
]
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Retrieve a single pool by its tag. #

GET/ccloud/pools/{tag}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/pools/ \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/pools/", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/pools/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/pools/' -Method GET -Headers $headers
Sample response 200
JSON
{
  "gpu_supported": true,
  "tag": "string",
  "name": "string",
  "desc_de": "string",
  "desc_en": "string"
}
Responses
StatusDescriptionDiagram
200OKPool

Authentication: oAuth2ClientCredentials

Get a list of all tiers. #

GET/ccloud/tiers
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/tiers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/tiers", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/tiers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/tiers' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
inactivequerybooleannoInclude inactive pools.
Sample response 200
JSON
[
  {
    "active": true,
    "name": "string",
    "tag": "string",
    "gpu_supported": true
  }
]
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Subscription

Returns all of a customer’s subscriptions #

GET/ccloud/customers/subscriptions
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/subscriptions \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/subscriptions", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/subscriptions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/subscriptions' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
limitqueryintegernoLimits the results to the specified number
pagequeryintegernoPage number for pagination
searchquerystringnowildcard search filter
sortquerystringnoA comma-separated list of the columns to sort by.
orderquerystringnoA comma-separated list of order instructions.
includequerystringnoPlease include further details in your reply.
Sample response 200
JSON
{
  "data": [
    {
      "id": 2,
      "customer_id": 328100,
      "project_id": 1,
      "pool": "pool_aw2_ssd",
      "tier": "Worker",
      "name": "S328100-001",
      "display_name": "My Subscription",
      "confirmed": false,
      "runtime": 12,
      "discount": 10,
      "monthly_price": 500,
      "setup_fee": 50,
      "setup_fee_charged": true,
      "valid_to": "2024-06-01",
      "start_date": "2024-06-01",
      "end_date": "2025-06-01",
      "renew": true,
      "data": {
        "cores": 30,
        "memory": 64,
        "disk": 500,
        "support_hours": 6,
        "full_backup": 100,
        "licenses": [
          {
            "id": 12708,
            "count": 4
          }
        ],
        "addons": [
          {
            "name": "monitoring",
            "count": 4
          }
        ]
      },
      "replacement": 1,
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "deleted_at": "2019-08-24T14:15:22Z",
      "tags": [
        "string"
      ],
      "resources": {
        "available_resources": {
          "cores": 2,
          "memory": 2,
          "disk": 100,
          "addons": [
            {
              "name": "string",
              "count": 0
            }
          ]
        }
      }
    }
  ]
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Update the display name for the subscription. #

PUT/ccloud/subscriptions/{id}/customname
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/customname \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"display_name": "Test"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"display_name\": \"Test\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/subscriptions/0/customname", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/customname",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"display_name\": \"Test\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/customname' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"display_name": "Test"}'
Body parameters
JSON
{
  "display_name": "Test"
}
Parameters
NameInTypeObligationDescription
idpathintegeryesSubscription ID
bodybodyobjectyes
» display_namebodystringno
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Returns the details for a subscription #

GET/ccloud/subscriptions/name/{name}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/subscriptions/name/0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/subscriptions/name/0", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/subscriptions/name/0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/subscriptions/name/0' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
namepathintegeryesName of the subscription
includequerystringnoPlease include further details in your reply.
Sample response 200
JSON
{
  "id": 2,
  "customer_id": 328100,
  "project_id": 1,
  "pool": "pool_aw2_ssd",
  "tier": "Worker",
  "name": "S328100-001",
  "display_name": "My Subscription",
  "confirmed": false,
  "runtime": 12,
  "discount": 10,
  "monthly_price": 500,
  "setup_fee": 50,
  "setup_fee_charged": true,
  "valid_to": "2024-06-01",
  "start_date": "2024-06-01",
  "end_date": "2025-06-01",
  "renew": true,
  "data": {
    "cores": 30,
    "memory": 64,
    "disk": 500,
    "support_hours": 6,
    "full_backup": 100,
    "licenses": [
      {
        "id": 12708,
        "count": 4
      }
    ],
    "addons": [
      {
        "name": "monitoring",
        "count": 4
      }
    ]
  },
  "replacement": 1,
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "deleted_at": "2019-08-24T14:15:22Z",
  "tags": [
    "string"
  ],
  "resources": {
    "available_resources": {
      "cores": 2,
      "memory": 2,
      "disk": 100,
      "addons": [
        {
          "name": "string",
          "count": 0
        }
      ]
    }
  }
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Import a VM into a subscription #

POST/ccloud/subscriptions/{id}/import
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/import \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"hostname": "ts12345"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"hostname\": \"ts12345\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/subscriptions/0/import", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/import",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"hostname\": \"ts12345\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/import' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"hostname": "ts12345"}'
Body parameters
JSON
{
  "hostname": "ts12345"
}
Parameters
NameInTypeObligationDescription
idpathintegeryesSubscription ID
bodybodySubscriptionImportRequestyes
Responses
StatusDescriptionDiagram
204VM imported into subscription

Authentication: oAuth2ClientCredentials

Export one server from a subscription into its pool #

POST/ccloud/subscriptions/{id}/export/{hostname}/pool
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/string/pool \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("POST", "/api/v1/ccloud/subscriptions/0/export/string/pool", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/string/pool",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/string/pool' -Method POST -Headers $headers
Parameters
NameInTypeObligationDescription
idpathintegeryesSubscription ID
hostnamepathstringyesHostname of the server to be exported
Responses
StatusDescriptionDiagram
204VM exported to the pool

Authentication: oAuth2ClientCredentials

Export all servers from one subscription to another subscription #

POST/ccloud/subscriptions/{id}/export/all
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/all \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"target_subscription": "S328100-001"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"target_subscription\": \"S328100-001\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/subscriptions/0/export/all", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/all",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"target_subscription\": \"S328100-001\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/subscriptions/0/export/all' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"target_subscription": "S328100-001"}'
Body parameters
JSON
{
  "target_subscription": "S328100-001"
}
Parameters
NameInTypeObligationDescription
idpathintegeryesSubscription ID
bodybodySubscriptionExportAllRequestyes
Responses
StatusDescriptionDiagram
204All VMs exported to another subscription

Authentication: oAuth2ClientCredentials

Customers

Find out the price of a swimming pool for the specified customer. #

GET/ccloud/customers/prices/{pool}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/prices/pool_iw_ssd \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/prices/pool_iw_ssd", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/prices/pool_iw_ssd",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/prices/pool_iw_ssd' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
poolpathstringyesA day at the pool
Sample response 200
JSON
{
  "cores": 0.1,
  "memory": 0.1,
  "disk": 0.1
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Get a quote for a server with the specified resources. #

POST/ccloud/customers/quotes
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/quotes \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"pool": "pool_iw_ssd", "tier": "Worker", "cores": 0, "memory": 0, "disk": 0, "addons": [{"name": "string", "count": 0}], "ostype": "windows"}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"pool\": \"pool_iw_ssd\", \"tier\": \"Worker\", \"cores\": 0, \"memory\": 0, \"disk\": 0, \"addons\": [{\"name\": \"string\", \"count\": 0}], \"ostype\": \"windows\"}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/customers/quotes", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/quotes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"pool\": \"pool_iw_ssd\", \"tier\": \"Worker\", \"cores\": 0, \"memory\": 0, \"disk\": 0, \"addons\": [{\"name\": \"string\", \"count\": 0}], \"ostype\": \"windows\"}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/quotes' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"pool": "pool_iw_ssd", "tier": "Worker", "cores": 0, "memory": 0, "disk": 0, "addons": [{"name": "string", "count": 0}], "ostype": "windows"}'
Body parameters
JSON
{
  "pool": "pool_iw_ssd",
  "tier": "Worker",
  "cores": 0,
  "memory": 0,
  "disk": 0,
  "addons": [
    {
      "name": "string",
      "count": 0
    }
  ],
  "ostype": "windows"
}
Parameters
NameInTypeObligationDescription
bodybodyobjectyes
» poolbodystringnoSpecify either the pool or tier parameter.
» animalbodystringnoSpecify either the pool or tier parameter.
» coresbodyintegerno
» memorybodyintegerno
» diskbodyintegerno
» add-onsbody[object]no
»» namebodystringno
»» countbodyintegerno
» ostypebodystringnoOSType as returned by the OS list
Sample response 200
JSON
{
  "resources": {
    "cores": 0.1,
    "memory": 0.1,
    "disk": 0.1
  },
  "addons": {
    "additionalProperties": {
      "category": "string",
      "monthly_price": 0.1,
      "setup_fee": 0.1
    }
  },
  "licenses": {
    "additionalProperties": 0.1
  },
  "setup_fee_total": 0.1,
  "monthly_total": 0.1
}
Responses
StatusDescriptionDiagram
200OKInline

Authentication: oAuth2ClientCredentials

Get all scheduled servers. #

GET/ccloud/customers/scheduled
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/scheduled \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/scheduled", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/scheduled",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/scheduled' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "hostname": "ts10000",
    "frequency": "1",
    "next_run": "2019-08-24T14:15:22Z"
  }
]
Responses
StatusDescriptionDiagram
200Scheduled SummaryInline

Authentication: oAuth2ClientCredentials

Get all customer add-ons #

GET/ccloud/customers/addons
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/addons \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/addons", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/addons",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/addons' -Method GET -Headers $headers
Sample response 200
JSON
[
  [
    {
      "name": "string",
      "count": 1
    }
  ]
]
Responses
StatusDescriptionDiagram
200Customer Add-onsInline

Authentication: oAuth2ClientCredentials

Set up the specified add-on for the customer. #

PUT/ccloud/customers/addons/{addon}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/addons/report \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"count": 0}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"count\": 0}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/customers/addons/report", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/addons/report",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"count\": 0}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/addons/report' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"count": 0}'
Body parameters
JSON
{
  "count": 0
}
Parameters
NameInTypeObligationDescription
add-onpathstringyesName of the add-on to be added.
bodybodyobjectno
» countbodyintegernoAmount to book for the add-on. Defaults to 1 if not specified.
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Delete the specified add-on for the customer. #

DELETE/ccloud/customers/addons/{addon}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/addons/report \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/customers/addons/report", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/addons/report",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/addons/report' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
add-onpathstringyesName of the add-on to be deleted.
Responses
StatusDescriptionDiagram
204No content

Authentication: oAuth2ClientCredentials

Get all available reports #

GET/ccloud/customers/reports
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/reports \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/reports", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/reports",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/reports' -Method GET -Headers $headers
Sample response 200
JSON
[
  [
    "2023-09"
  ]
]
Responses
StatusDescriptionDiagram
200Customer Add-on ReportInline

Authentication: oAuth2ClientCredentials

Get the report as a PDF by date #

GET/ccloud/customers/reports/{date}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/reports/ \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/reports/", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/reports/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/reports/' -Method GET -Headers $headers
Responses
StatusDescriptionDiagram
200Customer Add-on Reportfile

Authentication: oAuth2ClientCredentials

View all projects #

GET/ccloud/customers/projects
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/customers/projects \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/customers/projects", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/customers/projects",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/customers/projects' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": 1,
    "customer_id": 328100,
    "name": "My Project",
    "description": "This project is a test project",
    "purpose": "production",
    "color": "#208CBC",
    "is_default": false
  }
]
Responses
StatusDescriptionDiagram
200Inline

Authentication: oAuth2ClientCredentials

Projects

Create a new project #

POST/ccloud/projects
curl --request POST \
  --url https://ccenter.centron.de/api/v1/ccloud/projects \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"customer_id": 328100, "name": "My Project", "description": "This project is a test project", "purpose": "production", "color": "#208CBC", "is_default": false}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"customer_id\": 328100, \"name\": \"My Project\", \"description\": \"This project is a test project\", \"purpose\": \"production\", \"color\": \"#208CBC\", \"is_default\": false}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/ccloud/projects", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/projects",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"customer_id\": 328100, \"name\": \"My Project\", \"description\": \"This project is a test project\", \"purpose\": \"production\", \"color\": \"#208CBC\", \"is_default\": false}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/projects' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"customer_id": 328100, "name": "My Project", "description": "This project is a test project", "purpose": "production", "color": "#208CBC", "is_default": false}'
Body parameters
JSON
{
  "customer_id": 328100,
  "name": "My Project",
  "description": "This project is a test project",
  "purpose": "production",
  "color": "#208CBC",
  "is_default": false
}
Parameters
NameInTypeObligationDescription
bodybody#/paths/~1ccloud~1projects/post/requestBody/content/application~1json/schemayes
Sample response 200
JSON
{
  "id": 1,
  "customer_id": 328100,
  "name": "My Project",
  "description": "This project is a test project",
  "purpose": "production",
  "color": "#208CBC",
  "is_default": false
}
Responses
StatusDescriptionDiagram
201Project created successfullyInline

Authentication: oAuth2ClientCredentials

Get a project #

GET/ccloud/projects/{id}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/projects/0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/projects/0", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/projects/0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/projects/0' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
idpathintegeryesProject ID
Sample response 200
JSON
{
  "id": 1,
  "customer_id": 328100,
  "name": "My Project",
  "description": "This project is a test project",
  "purpose": "production",
  "color": "#208CBC",
  "is_default": false
}
Responses
StatusDescriptionDiagram
200Project foundInline
404Project not foundInline

Authentication: oAuth2ClientCredentials

Update a project #

PUT/ccloud/projects/{id}
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/projects/0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"customer_id": 328100, "name": "My Project", "description": "This project is a test project", "purpose": "production", "color": "#208CBC", "is_default": false}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"customer_id\": 328100, \"name\": \"My Project\", \"description\": \"This project is a test project\", \"purpose\": \"production\", \"color\": \"#208CBC\", \"is_default\": false}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/projects/0", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/projects/0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"customer_id\": 328100, \"name\": \"My Project\", \"description\": \"This project is a test project\", \"purpose\": \"production\", \"color\": \"#208CBC\", \"is_default\": false}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/projects/0' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"customer_id": 328100, "name": "My Project", "description": "This project is a test project", "purpose": "production", "color": "#208CBC", "is_default": false}'
Body parameters
JSON
{
  "customer_id": 328100,
  "name": "My Project",
  "description": "This project is a test project",
  "purpose": "production",
  "color": "#208CBC",
  "is_default": false
}
Parameters
NameInTypeObligationDescription
idpathintegeryesProject ID
bodybody#/paths/~1ccloud~1projects/post/requestBody/content/application~1json/schemayes
Sample response 200
JSON
{
  "id": 1,
  "customer_id": 328100,
  "name": "My Project",
  "description": "This project is a test project",
  "purpose": "production",
  "color": "#208CBC",
  "is_default": false
}
Responses
StatusDescriptionDiagram
200Project updated successfullyInline
404Project not foundInline

Authentication: oAuth2ClientCredentials

Delete a project #

DELETE/ccloud/projects/{id}
curl --request DELETE \
  --url https://ccenter.centron.de/api/v1/ccloud/projects/0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("DELETE", "/api/v1/ccloud/projects/0", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/projects/0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/projects/0' -Method DELETE -Headers $headers
Parameters
NameInTypeObligationDescription
idpathintegeryesProject ID
Sample response 200
JSON
{
  "error": {
    "code": 403,
    "msg": "Last project can't be deleted",
    "errors": [
      "Last project can't be deleted"
    ]
  }
}
Responses
StatusDescriptionDiagram
204Project deleted successfully
403The last project cannot be deletedInline
404Project not foundInline

Authentication: oAuth2ClientCredentials

Allocate the resources to the project #

PUT/ccloud/projects/{id}/resources
curl --request PUT \
  --url https://ccenter.centron.de/api/v1/ccloud/projects/0/resources \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"resources": [{"id": "string", "type": "server"}]}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "{\"resources\": [{\"id\": \"string\", \"type\": \"server\"}]}"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("PUT", "/api/v1/ccloud/projects/0/resources", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/projects/0/resources",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"resources\": [{\"id\": \"string\", \"type\": \"server\"}]}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/projects/0/resources' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{"resources": [{"id": "string", "type": "server"}]}'
Body parameters
JSON
{
  "resources": [
    {
      "id": "string",
      "type": "server"
    }
  ]
}
Parameters
NameInTypeObligationDescription
idpathintegeryesProject ID
bodybodyProject Assignmentyes
Sample response 200
JSON
[
  {
    "id": "string",
    "type": "server",
    "status": "success",
    "message": "string"
  }
]
Responses
StatusDescriptionDiagram
200ProjectAssignmentResult

Authentication: oAuth2ClientCredentials

Various

Get a list of available OS configurations #

GET/ccloud/os
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/os \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/os", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/os",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/os' -Method GET -Headers $headers
Sample response 200
JSON
{
  "name": "Linux Debian 11",
  "image": "stretch_uefi",
  "min_disk": "5",
  "language": "en-US",
  "ostype": "Windows",
  "cloud_init_support": true
}
Responses
StatusDescriptionDiagram
200SuccessOSConfiguration

Authentication: oAuth2ClientCredentials

Get a list of available add-ons #

GET/ccloud/addons
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/addons \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/addons", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/addons",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/addons' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": 1,
    "name": "cprotect",
    "supported_os": [
      "ubuntu-22"
    ],
    "addable": true,
    "deletable": true,
    "desc_de": "Dieses Addon bietet eine Hochverfügbarkeit der VM",
    "desc_en": "This addon provides high availability of the VM",
    "price": 9.99,
    "setup_fee": 9.99
  }
]
Responses
StatusDescriptionDiagram
200SuccessAddonsList

Authentication: oAuth2ClientCredentials

Misc

Get resource information for deploying a new VM. #

GET/ccloud/resource-info
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/resource-info \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/resource-info", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/resource-info",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/resource-info' -Method GET -Headers $headers
Sample response 200
JSON
{
  "resources_limited": true,
  "usage": {
    "cores": 2,
    "memory": 2,
    "disk": 100
  },
  "limits": {
    "cores": 2,
    "memory": 2,
    "disk": 100
  }
}
Responses
StatusDescriptionDiagram
200Resource informationResourceInfo

Authentication: oAuth2ClientCredentials

Licences

Get all available licence products. #

GET/ccloud/licenses
curl --request GET \
  --url https://ccenter.centron.de/api/v1/ccloud/licenses \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/ccloud/licenses", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/ccloud/licenses",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/ccloud/licenses' -Method GET -Headers $headers
Sample response 200
JSON
[
  {
    "id": 999,
    "title": "Microsoft SQL Server 2017 Standard",
    "price": 9.99
  }
]
Responses
StatusDescriptionDiagram
200OKLicenses

Authentication: oAuth2ClientCredentials

Support

View all available ticket categories #

GET/support/categories
curl --request GET \
  --url https://ccenter.centron.de/api/v1/support/categories \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/support/categories", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/categories",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/categories' -Method GET -Headers $headers
Sample response 200
JSON
{
  "categories": {
    "technical": {
      "subcategories": [
        "string"
      ]
    },
    "billing": {
      "subcategories": [
        "string"
      ]
    },
    "misc": {
      "subcategories": [
        "string"
      ]
    }
  }
}
Responses
StatusDescriptionDiagram
200OKTicketCategory

Authentication: oAuth2ClientCredentials

Get all available tickets for the customer #

GET/support/tickets
curl --request GET \
  --url https://ccenter.centron.de/api/v1/support/tickets \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/support/tickets", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
statequerystringnoTicket status
Sample response 200
JSON
[
  {
    "ticket_id": 17178383,
    "ticket_number": "108751337",
    "title": "Usage Report vs50000",
    "state": "new",
    "create_time": "2025-12-02 12:04:09",
    "changed": "2025-12-02 12:04:10"
  }
]
Responses
StatusDescriptionDiagram
200OKTicketsList

Authentication: oAuth2ClientCredentials

Create a ticket #

POST/support/tickets
curl --request POST \
  --url https://ccenter.centron.de/api/v1/support/tickets \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data 'category: technical subcategory: ccloud3 subject: string message: string product: xv10000 attachments: - string'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "category: technical subcategory: ccloud3 subject: string message: string product: xv10000 attachments: - string"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/support/tickets", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "category: technical subcategory: ccloud3 subject: string message: string product: xv10000 attachments: - string",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets' -Method POST -Headers $headers -ContentType 'application/json' -Body 'category: technical subcategory: ccloud3 subject: string message: string product: xv10000 attachments: - string'
Body parameters
JSON
category: technical
subcategory: ccloud3
subject: string
message: string
product: xv10000
attachments:
  - string
Parameters
NameInTypeObligationDescription
bodybodyCreateTicketRequestyes
Sample response 200
JSON
{
  "article_id": 3917754,
  "ticket_number": "10813994",
  "ticket_id": "1656740"
}
Responses
StatusDescriptionDiagram
200Ticket created successfullyTicketCreateResponse

Authentication: oAuth2ClientCredentials

Buy a ticket #

GET/support/tickets/{ticket_id}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/support/tickets/34443224 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/support/tickets/34443224", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets/34443224",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets/34443224' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
ticket_idpathintegeryesticket ID
Sample response 200
JSON
{
  "ticket_id": 22222222,
  "ticket_number": "111111111",
  "title": "Usage Report vs111111",
  "state": "new",
  "articles": [
    {
      "article_id": 444444,
      "create_time": "2025-12-02 05:04:09",
      "from": "technik@centron.de",
      "subject": "Usage Report vs111111",
      "body": "Ticket details here",
      "sender_type": "agent",
      "attachments": []
    }
  ]
}
Responses
StatusDescriptionDiagram
200OKTicketdetails

Authentication: oAuth2ClientCredentials

Close Ticket #

POST/support/tickets/{ticket_id}/close
curl --request POST \
  --url https://ccenter.centron.de/api/v1/support/tickets/34443224/close \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("POST", "/api/v1/support/tickets/34443224/close", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets/34443224/close",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets/34443224/close' -Method POST -Headers $headers
Parameters
NameInTypeObligationDescription
ticket_idpathintegeryesticket ID
Sample response 200
JSON
{
  "ticket_number": "10813981",
  "ticket_id": "1656727"
}
Responses
StatusDescriptionDiagram
200OKTicketCloseResponse

Authentication: oAuth2ClientCredentials

Reply to ticket #

POST/support/tickets/{ticket_id}/articles
curl --request POST \
  --url https://ccenter.centron.de/api/v1/support/tickets/{ticket_id}/articles \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data 'subject: string body: string attachments: - string'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

payload = "subject: string body: string attachments: - string"

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}",
    'Content-Type': "application/json"
}

conn.request("POST", "/api/v1/support/tickets/{ticket_id}/articles", payload, headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets/{ticket_id}/articles",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "subject: string body: string attachments: - string",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}",
    "Content-Type: application/json"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets/{ticket_id}/articles' -Method POST -Headers $headers -ContentType 'application/json' -Body 'subject: string body: string attachments: - string'
Body parameters
JSON
subject: string
body: string
attachments:
  - string
Parameters
NameInTypeObligationDescription
ticket_idpathintegeryesticket ID
bodybodyReplyTicketRequestyes
Sample response 200
JSON
{
  "article_id": 3917754,
  "ticket_number": "10813994",
  "ticket_id": "1656740"
}
Responses
StatusDescriptionDiagram
200OKTicketCreateResponse

Authentication: oAuth2ClientCredentials

Download Ticket Attachment #

GET/support/tickets/{ticket_id}/articles/{article_id}/attachments/{attachment_id}
curl --request GET \
  --url https://ccenter.centron.de/api/v1/support/tickets/34443224/articles/123456/attachments/654321 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
import http.client

conn = http.client.HTTPSConnection("ccenter.centron.de")

headers = {
    'Accept': "application/json",
    'Authorization': "Bearer {access-token}"
}

conn.request("GET", "/api/v1/support/tickets/34443224/articles/123456/attachments/654321", headers=headers)

res = conn.getresponse()
print(res.read().decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://ccenter.centron.de/api/v1/support/tickets/34443224/articles/123456/attachments/654321",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Authorization: Bearer {access-token}"
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer {access-token}")
$response = Invoke-WebRequest -Uri 'https://ccenter.centron.de/api/v1/support/tickets/34443224/articles/123456/attachments/654321' -Method GET -Headers $headers
Parameters
NameInTypeObligationDescription
ticket_idpathintegeryesticket ID
article_idpathintegeryesArticle ID
attachment_idpathintegeryesID of the attachment
Responses
StatusDescriptionDiagram
200OKstring

Authentication: oAuth2ClientCredentials

Schemas

OAuth
JSON
{
  "grant_type": "client_credentials",
  "client_id": "90f63c80-bd90-89a3-4632-b16c4ab909ae",
  "client_secret": "GsqCDfjYUCceU8dTq1vQWxLnnRaf6UySWP7GAgI",
  "scope": "*"
}
OSConfiguration
JSON
{
  "name": "Linux Debian 11",
  "image": "stretch_uefi",
  "min_disk": "5",
  "language": "en-US",
  "ostype": "Windows",
  "cloud_init_support": true
}
Addon
JSON
{
  "name": "string",
  "count": 0
}
AddonsList
JSON
[
  {
    "id": 1,
    "name": "cprotect",
    "supported_os": [
      "ubuntu-22"
    ],
    "addable": true,
    "deletable": true,
    "desc_de": "Dieses Addon bietet eine Hochverfügbarkeit der VM",
    "desc_en": "This addon provides high availability of the VM",
    "price": 9.99,
    "setup_fee": 9.99
  }
]
getPassword
JSON
{
  "username": "string",
  "password": "string"
}
OAuthResponse
JSON
{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
VMDVDModel
JSON
{
  "id": "string",
  "path": "string"
}
DeleteDVDTaskResponse
JSON
{
  "id": 0
}
UpdateDVDTaskResponse
JSON
{
  "id": 0,
  "data": [
    {
      "id": "string",
      "name": "string",
      "path": "string",
      "hostname": "string",
      "customer_id": "string",
      "username": "string"
    }
  ]
}
VMNetModel
JSON
{
  "id": "string",
  "switch": "string",
  "vlan": 0,
  "mac_spoofing": true,
  "bandwith": 0,
  "ipAdresse": [
    "string"
  ]
}
VMNetworkAddIPRequest
JSON
{
  "protocol": "IPv4"
}
VMNetworkAddIPResponse
JSON
{
  "type": "IPv6",
  "ip_address": "2a00:6140:a000:72::b",
  "network": "2a00:6140:a000:72::",
  "mask_bits": 64,
  "nameservers": [
    "2a00:6140:a000:72::1"
  ],
  "gateway": "2a00:6140:a000:72::1",
  "vlan": 708
}
VMDVDAddModel
JSON
{
  "name": "string"
}
OAuthFailure
JSON
{
  "error": "string",
  "error_description": "string",
  "hint": "string",
  "message": "string"
}
OAuthBadRequestResponse
JSON
{
  "error": "unsupported_grant_type",
  "error_description": "The authorization grant type is not supported by the authorization server.",
  "hint": "Check that all required parameters have been provided",
  "message": "The authorization grant type is not supported by the authorization server."
}
OAuthUnauthorizedResponse
JSON
{
  "error": "invalid_client",
  "error_description": "Client authentication failed",
  "message": "Client authentication failed"
}
PaginationMetadata
JSON
{
  "current_page": 0,
  "from": 0,
  "last_page": 0,
  "path": "http://example.com",
  "per_page": 0,
  "to": 0,
  "total": 0
}
DeploymentCreateRequest
JSON
{
  "project_id": 0,
  "pool": "string",
  "hostname": "string",
  "description": "string",
  "cores": 0,
  "memory": 0,
  "disks": [
    0
  ],
  "image": "string",
  "custom_name": "string",
  "password": "string",
  "sshkey": "string",
  "ssh_keys": [
    "ssh-ed25519 AAAAC3NzaC1lZ..."
  ],
  "user_data": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n",
  "type": "managed",
  "addons": [
    {
      "name": "string",
      "count": 0
    }
  ],
  "subnets": [
    0
  ],
  "subnets_intern": [
    0
  ],
  "tags": [
    "string"
  ],
  "rollouts": [
    "string"
  ]
}
Pool
JSON
{
  "gpu_supported": true,
  "tag": "string",
  "name": "string",
  "desc_de": "string",
  "desc_en": "string"
}
DeploymentCreateRequestSuccess
JSON
{
  "id": 0
}
ValidationFailure
JSON
{
  "errors": {
    "property1": "string",
    "property2": "string"
  },
  "message": "string"
}
Error
JSON
{
  "error": {
    "errors": {},
    "code": 0,
    "msg": "string"
  }
}
SubError
JSON
{}
TasksGetStatus
JSON
{
  "id": 0,
  "action": "create-server",
  "customer_id": "string",
  "username": "string",
  "hostname": "string",
  "status": "processing",
  "error_message": "string",
  "created_at": "2019-08-24T14:15:22Z"
}
TasksGetCoresStatus
JSON
{
  "id": 0
}
TaskID
JSON
{
  "id": 0
}
GetISOs
JSON
{
  "name": "string",
  "fullName": "string",
  "customer": "string",
  "size": 0
}
TaskResponse
JSON
{
  "id": 0,
  "job_id": "string",
  "action": "string"
}
ServerAddons
JSON
{
  "id": 0,
  "name": "string"
}
ServerCreateSnapshotRequest
JSON
{
  "name": "string"
}
ServerResizeMemoryRequest
JSON
{
  "memory": 0
}
ServerResizeCoresRequest
JSON
{
  "cores": 0
}
Server
JSON
{
  "id": 0,
  "customer_id": "string",
  "project_id": 0,
  "hostname": "string",
  "generation": 0,
  "created_at": "2019-08-24",
  "tags": [
    "string"
  ],
  "location": "string",
  "custom_name": "string",
  "credentials_available": true,
  "deletion_in_progress": true,
  "build_in_progress": true,
  "rootaccess": true,
  "network_adapters": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "server_id": 0,
      "vlan_number": 0,
      "bandwidth": 0,
      "switch": "string",
      "mac_address": "string",
      "mac_spoofing": true,
      "perf_counter_instance_name": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "ip_addresses": [
        {
          "id": 0,
          "server_id": 0,
          "network_adapter_id": "08e934e8-2799-4546-ac08-238367e755eb",
          "subnet_id": 0,
          "customer_id": "string",
          "ip": "string",
          "created_at": "2019-08-24T14:15:22Z",
          "updated_at": "2019-08-24T14:15:22Z",
          "subnet": {
            "id": 0,
            "customer_id": "string",
            "type": "IPv4",
            "network": "string",
            "gateway": "string",
            "mask_bits": 0,
            "nameservers": [
              "string"
            ],
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z"
          }
        }
      ]
    }
  ]
}
ServerDetail
JSON
{
  "id": 0,
  "customer_id": "string",
  "project_id": 0,
  "hostname": "string",
  "generation": 0,
  "created_at": "2019-08-24",
  "tags": [
    "string"
  ],
  "location": "string",
  "custom_name": "string",
  "credentials_available": true,
  "deletion_in_progress": true,
  "build_in_progress": true,
  "rootaccess": true,
  "network_adapters": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "server_id": 0,
      "vlan_number": 0,
      "bandwidth": 0,
      "switch": "string",
      "mac_address": "string",
      "mac_spoofing": true,
      "perf_counter_instance_name": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "ip_addresses": [
        {
          "id": 0,
          "server_id": 0,
          "network_adapter_id": "08e934e8-2799-4546-ac08-238367e755eb",
          "subnet_id": 0,
          "customer_id": "string",
          "ip": "string",
          "created_at": "2019-08-24T14:15:22Z",
          "updated_at": "2019-08-24T14:15:22Z",
          "subnet": {
            "id": 0,
            "customer_id": "string",
            "type": "IPv4",
            "network": "string",
            "gateway": "string",
            "mask_bits": 0,
            "nameservers": [
              "string"
            ],
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z"
          }
        }
      ]
    }
  ],
  "data": {
    "cores": 0,
    "memory": 0,
    "disk": 0,
    "pool": "string",
    "type": "unmanaged",
    "os_name": "string",
    "ostype": "Windows",
    "hostname": "string",
    "username": "user@example.com",
    "customer_id": "string",
    "description": "string",
    "notes": "string",
    "addons": [
      {
        "name": "string",
        "count": 0
      }
    ]
  }
}
ServerDetailInclCustomPriceFlag
JSON
{
  "id": 0,
  "customer_id": "string",
  "project_id": 0,
  "hostname": "string",
  "generation": 0,
  "created_at": "2019-08-24",
  "tags": [
    "string"
  ],
  "location": "string",
  "custom_name": "string",
  "credentials_available": true,
  "deletion_in_progress": true,
  "build_in_progress": true,
  "rootaccess": true,
  "network_adapters": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "server_id": 0,
      "vlan_number": 0,
      "bandwidth": 0,
      "switch": "string",
      "mac_address": "string",
      "mac_spoofing": true,
      "perf_counter_instance_name": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "ip_addresses": [
        {
          "id": 0,
          "server_id": 0,
          "network_adapter_id": "08e934e8-2799-4546-ac08-238367e755eb",
          "subnet_id": 0,
          "customer_id": "string",
          "ip": "string",
          "created_at": "2019-08-24T14:15:22Z",
          "updated_at": "2019-08-24T14:15:22Z",
          "subnet": {
            "id": 0,
            "customer_id": "string",
            "type": "IPv4",
            "network": "string",
            "gateway": "string",
            "mask_bits": 0,
            "nameservers": [
              "string"
            ],
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z"
          }
        }
      ]
    }
  ],
  "data": {
    "cores": 0,
    "memory": 0,
    "disk": 0,
    "pool": "string",
    "type": "unmanaged",
    "os_name": "string",
    "ostype": "Windows",
    "hostname": "string",
    "username": "user@example.com",
    "customer_id": "string",
    "description": "string",
    "notes": "string",
    "addons": [
      {
        "name": "string",
        "count": 0
      }
    ]
  },
  "custom_price": true
}
AddedSnapshotTaskResponse
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
RenameSnapshotTaskResponse
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "string"
        },
        "name": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
DeleteSnapshotTaskResponse
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
RestoreSnapshotTaskResponse
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 0
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "string"
        },
        "hostname": {
          "type": "string",
          "example": "string",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "string",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "string",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
ServerRenameSnapshotRequest
JSON
{
  "name": "string"
}
ServerData
JSON
{
  "cores": 0,
  "memory": 0,
  "disk": 0,
  "pool": "string",
  "type": "unmanaged",
  "os_name": "string",
  "ostype": "Windows",
  "hostname": "string",
  "username": "user@example.com",
  "customer_id": "string",
  "description": "string",
  "notes": "string",
  "addons": [
    {
      "name": "string",
      "count": 0
    }
  ]
}
TagsForCustomer
JSON
[
  "development",
  "production"
]
ServerTags
JSON
[
  "development",
  "production"
]
Console
JSON
{
  "url": "string"
}
VMDiskUpdateModel
JSON
{
  "size": 50
}
UpdateTaskResponse
JSON
{
  "id": 0
}
PerfomanceDataModel
JSON
{
  "type": "object",
  "properties": null,
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "units": {
          "type": "integer",
          "format": "string",
          "example": "Byte/s",
          "description": "The Units of the Performance Data given back"
        },
        "perfdata": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "send_persec": {
                "type": "integer",
                "example": 54,
                "description": "Example of Performance Data given back, this elements can change depending on what data is requested"
              }
            }
          }
        }
      }
    }
  }
}
VMDiskModel
JSON
{
  "id": "string",
  "size": 0,
  "perfCounterInstancename": "string"
}
ServerNotesRequest
JSON
{
  "notes": "This is my Database Server"
}
UpdateBootOrderResponse
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 1554
  },
  "data": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "Order ID of the Device"
        },
        "hostname": {
          "type": "string",
          "example": "ts123454",
          "description": "Hostname of the Server"
        },
        "customer_id": {
          "type": "string",
          "example": "328100",
          "description": "Customer ID submitting the request."
        },
        "username": {
          "type": "string",
          "example": "entwickler@centron.de",
          "description": "Username submitting the request."
        }
      }
    }
  }
}
changeBootOrderRequest
JSON
{
  "type": "object",
  "properties": null,
  "id": {
    "type": "integer",
    "example": 2
  }
}
BootOrderModel
JSON
{
  "id": 1,
  "type": "DVD",
  "bootDevice": "sc0s1"
}
ResourceInfo
JSON
{
  "resources_limited": true,
  "usage": {
    "cores": 2,
    "memory": 2,
    "disk": 100
  },
  "limits": {
    "cores": 2,
    "memory": 2,
    "disk": 100
  }
}
Subnet
JSON
{
  "id": 0,
  "customer_id": "string",
  "type": "IPv4",
  "network": "string",
  "gateway": "string",
  "mask_bits": 0,
  "nameservers": [
    "string"
  ],
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
NetworkVPC
JSON
{
  "id": "string",
  "type": "string",
  "name": "string",
  "subnets": [
    [
      {
        "id": 2,
        "type": "IPv4",
        "name": "string",
        "network": "192.168.232.0",
        "gateway": "192.168.232.1",
        "mask_bits": 24,
        "nameservers": [
          [
            "192.168.232.1"
          ]
        ]
      }
    ]
  ]
}
NetworkSubnets
JSON
[
  {
    "id": 2,
    "type": "IPv4",
    "name": "string",
    "network": "192.168.232.0",
    "gateway": "192.168.232.1",
    "mask_bits": 24,
    "nameservers": [
      [
        "192.168.232.1"
      ]
    ]
  }
]
NetworkIPs
JSON
{
  "hostname": "ts1000",
  "ip": "1.1.1.1",
  "subnetname": "VLAN_1"
}
NetworkIP
JSON
{
  "id": 0,
  "server_id": 0,
  "network_adapter_id": 0,
  "subnet_id": 0,
  "ip": "255.255.255.0",
  "hostname": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
SubscriptionImportRequest
JSON
{
  "hostname": "ts12345"
}
SubscriptionExportAllRequest
JSON
{
  "target_subscription": "S328100-001"
}
ServerRollouts
JSON
{
  "type": "ansible",
  "rollout": "app_apache",
  "name": "Apache2 Webserver",
  "desc_de": "Der Apache HTTP Server ist ein quelloffenes und freies Produkt der Apache Software Foundation und einer der meistbenutzten Webserver im Internet.",
  "desc_en": "The Apache HTTP Server is an open source and free product from the Apache Software Foundation and one of the most widely used web servers on the Internet.",
  "valid_for": [
    "buster_uefi"
  ],
  "depends_on": [
    "base_rollout"
  ],
  "managed_only": true
}
CustomerInvoice
JSON
{
  "id": 0,
  "month": 0,
  "year": 0,
  "total": 0,
  "customer_id": 0,
  "details": {
    "pools": {
      "worker": {
        "servers": {
          "property1": "string",
          "property2": "string"
        },
        "total": "string"
      },
      "performance": {
        "servers": {
          "property1": "string",
          "property2": "string"
        },
        "total": "string"
      },
      "total": "string"
    },
    "subscriptions": {
      "S328100-001": {
        "total": "string"
      },
      "S328100-002": {
        "total": "string"
      },
      "total": "string"
    },
    "total": "string"
  }
}
GPUModel
JSON
{
  "id": 1,
  "name": "AMD Barco MXRT 5450 1024 MB BIOS",
  "addon_name": "gpu_amd_barco_mxrt_5450_1024mb_bios",
  "pools": [
    "pool_iw3_ssd_gpu"
  ],
  "desc_de": "AMD Barco MXRT 5450 1024 MB BIOS",
  "desc_en": "AMD Barco MXRT 5450 1024 MB BIOS"
}
AvailableGPU
JSON
{
  "name": "AMD Barco MXRT 5450 1024 MB BIOS",
  "addon_name": "gpu_amd_barco_mxrt_5450_1024mb_bios",
  "desc_de": "AMD Barco MXRT 5450 1024 MB BIOS",
  "desc_en": "AMD Barco MXRT 5450 1024 MB BIOS",
  "count": 1
}
RedeployRequest
JSON
{
  "image": "string",
  "password": "string",
  "sshkey": "string",
  "ssh_keys": [
    "ssh-ed25519 AAAAC3NzaC1lZ..."
  ]
}
Licenses
JSON
[
  {
    "id": 999,
    "title": "Microsoft SQL Server 2017 Standard",
    "price": 9.99
  }
]
DeleteRequest
JSON
{
  "hostname": "string"
}
Tier
JSON
{
  "active": true,
  "name": "string",
  "tag": "string",
  "gpu_supported": true
}
TicketCategory
JSON
{
  "categories": {
    "technical": {
      "subcategories": [
        "string"
      ]
    },
    "billing": {
      "subcategories": [
        "string"
      ]
    },
    "misc": {
      "subcategories": [
        "string"
      ]
    }
  }
}
Ticket
JSON
{
  "ticket_id": 17178383,
  "ticket_number": "108751337",
  "title": "Usage Report vs50000",
  "state": "new",
  "create_time": "2025-12-02 12:04:09",
  "changed": "2025-12-02 12:04:10"
}
TicketsList
JSON
[
  {
    "ticket_id": 17178383,
    "ticket_number": "108751337",
    "title": "Usage Report vs50000",
    "state": "new",
    "create_time": "2025-12-02 12:04:09",
    "changed": "2025-12-02 12:04:10"
  }
]
Article
JSON
{
  "article_id": 444444,
  "create_time": "2025-12-02 05:04:09",
  "from": "technik@centron.de",
  "subject": "Usage Report vs111111",
  "body": "Ticket details here",
  "sender_type": "agent",
  "attachments": []
}
ProjectAssignment
JSON
{
  "resources": [
    {
      "id": "string",
      "type": "server"
    }
  ]
}
ProjectAssignmentResult
JSON
[
  {
    "id": "string",
    "type": "server",
    "status": "success",
    "message": "string"
  }
]
ReplyTicketRequest
JSON
{
  "subject": "string",
  "body": "string",
  "attachments": [
    "string"
  ]
}
TicketCloseResponse
JSON
{
  "ticket_number": "10813981",
  "ticket_id": "1656727"
}
CreateTicketRequest
JSON
{
  "category": "technical",
  "subcategory": "ccloud3",
  "subject": "string",
  "message": "string",
  "product": "xv10000",
  "attachments": [
    "string"
  ]
}
TicketCreateResponse
JSON
{
  "article_id": 3917754,
  "ticket_number": "10813994",
  "ticket_id": "1656740"
}
Ticketdetails
JSON
{
  "ticket_id": 22222222,
  "ticket_number": "111111111",
  "title": "Usage Report vs111111",
  "state": "new",
  "articles": [
    {
      "article_id": 444444,
      "create_time": "2025-12-02 05:04:09",
      "from": "technik@centron.de",
      "subject": "Usage Report vs111111",
      "body": "Ticket details here",
      "sender_type": "agent",
      "attachments": []
    }
  ]
}