Introduction
Welcome to the API documentation of NUXOA. You can use this API as client to act with your account, domains and products. Therefore, you need your customer ID and your API key. This documentation covers all available API actions.
We provide example codes in Shell and PHP. You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication & Request
To make a request, use this code:
<?php
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domains/list");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domains/list"
Make sure to replace
CUSTOMER_ID
with your customer ID andAPI_KEY
with your API key.
NUXOA uses an API key combined with your customer ID to allow access to the API. You can find your API key in your client area or request it at support.
Parameters can be sent via GET or POST.
NUXOA expects for the API key to be included in all API requests to the server in the request.
A request URL is formatted as follows:
/api/CUSTOMER_ID/API_KEY/METHOD/ACTION
Cloud server
Get server pricing
<?php
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/pricing");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/pricing"
The above command returns JSON structured like this:
{
"code": "100",
"message": "Pricing fetched.",
"data": {
"currency": "EUR",
"base": {
"net": 0.8,
"gross": 0.952
},
"cores": {
"net": 0.8,
"gross": 0.952
},
"ram": {
"net": 0.55,
"gross": 0.6545
},
"storage": {
"net": 0.04,
"gross": 0.0476
},
"snapshots": {
"net": 0.5,
"gross": 0.595
},
"additional_ips": {
"net": 0.75,
"gross": 0.8925
}
}
}
Using this endpoint, you can get the current prices for our cloud servers.
API endpoint
/cloud/pricing
Order a new server
<?php
$req = [
"cores" => 4,
"ram" => 8,
"storage" => 50,
"snapshots" => 0,
"additional_ips" => 0,
"os" => "Debian 11",
"hostname" => "",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/order");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/order?cores=4&ram=8&storage=50&snapshots=0&additional_ips=0&os=Debian%2011&hostname="
The above command returns JSON structured like this:
{
"id": 123,
"price": 12.38
}
Using this endpoint, you can order a new server. Your account will be billed with the price for the configuration.
API endpoint
/cloud/order
Query Parameters
Parameter | Default | Description |
---|---|---|
cores | - | Required CPU cores (1-16) |
ram | - | Required RAM in GB (1-64) |
storage | - | Required NVMe storage in GB (10-500) |
snapshots | - | Required Snapshots (0-10) |
additional_ips | - | Required Additional IP addresses (0-3) |
os | - | Required Operating system (Debian 12, Debian 11, Ubuntu 22.10, Ubuntu 22.04, Windows Server 2022, Windows Server 2019) |
hostname | - | Must be a FQDN, if specified |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Internal error |
804 | Invalid configuration (see message) |
805 | Not enough credit/limit |
Get server details
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/info");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/info?id=123"
The above command returns JSON structured like this:
{
"code": "100",
"message": "Server query successful.",
"data": {
"status": true,
"ready": true,
"description": "",
"order_date": "2022-06-01 00:00:00",
"price": 10,
"currency": "EUR",
"period": "monthly",
"next_invoice": "2023-07-01",
"cancellation_date": "0000-00-00",
"cancellation_dates": [
"2023-07-01",
"2023-08-01",
"2023-09-01",
"2023-10-01",
"2023-11-01"
],
"online": true,
"hostname": "server.nuxoa.de",
"ipv4": "1.2.3.4",
"ipv4_ptr": "test.nuxoa.de",
"ipv6": null,
"ipv6_ptr": null,
"ip_config": {
"ip": "1.2.3.4/32",
"gw": "1.2.3.1"
},
"additional_ips": [
{
"ip": "1.2.3.5",
"mask": "32",
"gw": "1.2.3.1",
"ptr": "test2.nuxoa.de"
}
],
"os": "Debian 12",
"username": "root",
"password": "***",
"ssh_key": "",
"available_os": [
"Debian 12",
"Debian 11",
"Ubuntu 22.10",
"Ubuntu 22.04",
"Windows Server 2022",
"Windows Server 2019"
],
"resources": {
"cores": 3,
"ram": 12,
"storage": 25,
"snapshots": 1,
"additional_ips": 1
},
"snapshots": ["1698192636", "1698192865"]
}
}
Using this endpoint, you can get details for one of your servers.
API endpoint
/cloud/info
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
Start server
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/start");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/start?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can start a cloud server.
API endpoint
/cloud/start
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Reboot server
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/reboot");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/reboot?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can reboot a cloud server.
API endpoint
/cloud/reboot
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Shutdown server
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/shutdown");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/shutdown?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can shutdown a cloud server.
API endpoint
/cloud/shutdown
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Reinstall server
<?php
$req = [
"id" => 123,
"os" => "Debian 11",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/reinstall");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/reinstall?id=123&os=Debian%2011"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can reinstall a cloud server.
API endpoint
/cloud/reinstall
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
os | - | Required Name and version of operating system to install |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Reset administrator password
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/password?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can set a new auto-generated password for a cloud server.
API endpoint
/cloud/password
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Authorize SSH key
<?php
$req = [
"id" => 123,
"key" => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBmgbPAwpa5LUT/9oDuFrQg9Kb0PIKhy/u6nfa6Vw0aCMp6S9wCU061lng9qfNVcthX1Aek8QyOwMq93tzP20lzI7+DPOdCLhotUcy2SQ3yVI/wNMQR91VoY7aFkhRqQEOXo2RME4Au6x3AiONjAuNJEQxmtnJfdkYel/zLUKtmIAZNhU1WNoZN5RJqx9onahMDeiESWTHRnmKha3mK8lFaP6/eXKR3qbTW426ak41Kk5/zn6YletlQJopoQP2NYeG+TWV60X9Sq0OAIY9MZqWt02zJA7Q5Na71sKREZWVczcWQcnejv70zKY9XxVNy74WmWIkVyt6qzTgz3J21/hH example",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/key");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl -d "key=ssh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAABAQCBmgbPAwpa5LUT%2F9oDuFrQg9Kb0PIKhy%2Fu6nfa6Vw0aCMp6S9wCU061lng9qfNVcthX1Aek8QyOwMq93tzP20lzI7%2BDPOdCLhotUcy2SQ3yVI%2FwNMQR91VoY7aFkhRqQEOXo2RME4Au6x3AiONjAuNJEQxmtnJfdkYel%2FzLUKtmIAZNhU1WNoZN5RJqx9onahMDeiESWTHRnmKha3mK8lFaP6%2FeXKR3qbTW426ak41Kk5%2Fzn6YletlQJopoQP2NYeG%2BTWV60X9Sq0OAIY9MZqWt02zJA7Q5Na71sKREZWVczcWQcnejv70zKY9XxVNy74WmWIkVyt6qzTgz3J21%2FhH%20example" "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/key?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can authorize a SSH key for a cloud server.
API endpoint
/cloud/key
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
key | - | Required SSH key in OpenSSH format |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Set hostname
<?php
$req = [
"id" => 123,
"hostname" => "server.nuxoa.de",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/hostname");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/hostname?id=123&os=server.nuxoa.de"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can set the hostname of a cloud server.
API endpoint
/cloud/hostname
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
hostname | - | Required FQDN |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Set reverse DNS (PTR)
<?php
$req = [
"id" => 123,
"ip" => "1.2.3.4",
"ptr" => "test.nuxoa.de",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/ptr");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/ptr?id=123&ip=1.2.3.4&ptr=test.nuxoa.de"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can set the reverse DNS (PTR record) for an IP address.
API endpoint
/cloud/ptr
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
ip | - | Required IP address (IPv4 or IPv6) |
ptr | - | Required PTR record content |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
VNC console
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/vnc");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/vnc?id=123"
The above command returns JSON structured like this:
{
"url": "https://vncviewer.eu:5900/vnc.html?password=3E%3B1WHG2&autoconnect=true&resize=scale"
}
Using this endpoint, you can start a VNC session for a cloud server. The command returns an URL to a web VNC client. Using your own client is not possible.
API endpoint
/cloud/vnc
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Server graphs
<?php
$req = [
"id" => 123,
"period" => "day",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/graphs");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/graphs?id=123&period=day"
The above command returns JSON structured like this:
{
"cpu": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADICAIAAA...",
"memory": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADICAIAAA...",
"storage": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADICAIAAA...",
"network": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADICAIAAA...",
"io": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADICAIAAA..."
}
Using this endpoint, you can retrieve a usage graphs for different metrics of a cloud server. You must specify a time period. The graphs are returned as base64-encoded PNG images.
API endpoint
/cloud/graphs
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
period | day | hour, day, week, month, year |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Traffic graphs
<?php
$req = [
"id" => 123,
"from" => strtotime("-24 hours"),
"to" => strtotime("now"),
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/traffic");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/traffic?id=123&from=168600000&to=1686004852"
The above command returns JSON structured like this:
{
"image_url": "https://trafficviewer.eu/?dev=6&port=tap123i0&from=1654034400&to=1686004852&signature=92dfb78a"
}
Using this endpoint, you can retrieve a traffic graph for a cloud server. You must specify a time range and get a permanent valid link to the according traffic graph as image.
API endpoint
/cloud/traffic
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
from | - | Required Start date as UNIX timestamp |
to | - | Required End date as UNIX timestamp |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
DDoS attacks
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/ddos");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/ddos?id=123"
The above command returns JSON structured like this:
[
{
"ip": "1.2.3.4",
"signatures": "UDP-bandwidth",
"astart": "2023-08-04T01:47:56+0000",
"aend": ""
},
{
"ip": "1.2.3.4",
"signatures": "UDP-bandwidth",
"astart": "2023-08-04T00:38:56+0000",
"aend": "2023-08-04T01:26:01+0000"
}
]
Using this endpoint, you can retrieve current and past DDoS attacks for a cloud server. We only return attacks of the last 24 hours (within their end).
API endpoint
/cloud/ddos
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Create a snapshot
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/snapshot");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/snapshot?id=123"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can create a snapshot of a cloud server.
API endpoint
/cloud/snapshot
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Restore a snapshot
<?php
$req = [
"id" => 123,
"snapshot" => "1698195103",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/rollback");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/rollback?id=123&snapshot=1698195103"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can restore a snapshot. The server data will be overwritten.
API endpoint
/cloud/rollback
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
snapshot | - | Required Snapshot ID/timestamp |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Delete a snapshot
<?php
$req = [
"id" => 123,
"snapshot" => "1698195103",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/delsnap");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/delsnap?id=123&snapshot=1698195103"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can delete a snapshot.
API endpoint
/cloud/delsnap
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
snapshot | - | Required Snapshot ID/timestamp |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Set note/description
<?php
$req = [
"id" => 1,
"note" => "Per API bestellt",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/hosting/set");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/hosting/set?id=1¬e=Per+API+bestellt"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Description set successful.",
"data": {}
}
Using this endpoint, you can update a note for a existing contract.
API endpoint
/hosting/set
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
note | "" | The note to set for the contract |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
Upgrade a server
<?php
$req = [
"id" => 123,
"cores" => 4,
"ram" => 16,
"storage" => 50,
"snapshots" => 0,
"additional_ips" => 0,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/upgrade");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/upgrade?id=123&cores=4&ram=16&storage=50&snapshots=0&additional_ips=0"
The above command returns JSON structured like this:
{
"success": true,
"billed": 5.23,
"new_price": 17.61
}
Using this endpoint, you can order upgrade an existing server. Your account will be billed with the breakdown amount for the price difference. The recurring amount will change to the price for the new configuration.
API endpoint
/cloud/upgrade
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required Cloud server ID |
cores | - | Required CPU cores after upgrade (1-16) |
ram | - | Required RAM in GB after upgrade (1-64) |
storage | - | Required NVMe storage in GB after upgrade (10-500) |
snapshots | - | Required Snapshots after upgrade (0-10) |
additional_ips | - | Required Additional IP address after upgrade (0-3) |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
805 | Internal error |
806 | Invalid configuration (see message) |
807 | Not enough credit/limit |
Request a refund
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/refund");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/cloud/refund?id=123"
The above command returns JSON structured like this:
{
"success": true,
"refund": 5.00,
}
If you are allowed to cancel cloud servers at any time, you can use this endpoint to delete a server. You will get a refund based on the unused and already paid days to your account.
API endpoint
/cloud/refund
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required Cloud server ID |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
805 | Internal error |
806 | Not eligible for refund |
Cancel a server
<?php
$req = [
"id" => 1,
"date" => "2019-02-12",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/hosting/cancel");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/hosting/cancel?id=1&date=2019-02-12"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Cancellation date set successful.",
"data": {
"date": "2019-02-12"
}
}
Using this endpoint, you can set the cancellation date for a contract. Please make sure that you retrieve the possible dates first, as only valid dates are accepted.
API endpoint
/hosting/cancel
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
date | - | Required Date of cancellation |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
805 | No cancellation is possible (product without recurring costs) |
806 | Provided cancellation date is invalid |
IP subnets
Get subnet details
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/info");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/info?id=123"
The above command returns JSON structured like this:
{
"code": "100",
"message": "Subnet query successful.",
"data": {
"status": true,
"description": "",
"order_date": "2022-06-01 00:00:00",
"price": 10,
"currency": "EUR",
"period": "monthly",
"next_invoice": "2023-07-01",
"cancellation_date": "0000-00-00",
"cancellation_dates": [
"2023-07-01",
"2023-08-01",
"2023-09-01",
"2023-10-01",
"2023-11-01"
],
"subnet": "185.236.11.224\/28",
"ips": {
"net": "185.236.11.224",
"gateway": "185.236.11.225",
"broadcast": "185.236.11.239",
"useable": [
"185.236.11.226", "185.236.11.227", "185.236.11.228", "185.236.11.229", "185.236.11.230", "185.236.11.231",
"185.236.11.232", "185.236.11.233", "185.236.11.234", "185.236.11.235", "185.236.11.236", "185.236.11.237",
"185.236.11.238"
]
},
"ptr": {
"185.236.11.224": "",
"185.236.11.225": "",
"185.236.11.226": "ptr01.nuxoa.de",
"185.236.11.227": "ptr02.nuxoa.de",
"185.236.11.228": "",
"185.236.11.229": "",
"185.236.11.230": "",
"185.236.11.231": "",
"185.236.11.232": "",
"185.236.11.233": "ptr03.nuxoa.de",
"185.236.11.234": "",
"185.236.11.235": "",
"185.236.11.236": "",
"185.236.11.237": "",
"185.236.11.238": "",
"185.236.11.239": ""
}
}
}
Using this endpoint, you can get details for one of your IP subnets.
API endpoint
/ip/info
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
Set reverse DNS (PTR)
<?php
$req = [
"id" => 123,
"ip" => "185.236.11.230",
"ptr" => "test.nuxoa.de",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/ptr");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/ptr?id=123&ip=185.236.11.230&ptr=test.nuxoa.de"
The above command returns JSON structured like this:
{
"success": true
}
Using this endpoint, you can set the reverse DNS (PTR record) for an IP address.
API endpoint
/ip/ptr
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
ip | - | Required IP address |
ptr | - | Required PTR record content |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
Traffic graphs
<?php
$req = [
"id" => 123,
"from" => strtotime("-24 hours"),
"to" => strtotime("now"),
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/traffic");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/traffic?id=123&from=168600000&to=1686004852"
The above command returns JSON structured like this:
[
"https://trafficviewer.eu/?dev=6&port=tap123i0&from=1654034400&to=1686004852&signature=92dfb78a",
"https://trafficviewer.eu/?dev=6&port=tap123i1&from=1654034400&to=1686004852&signature=92dfb78a"
]
Using this endpoint, you can retrieve a traffic graph for your subnet. You must specify a time range and get a permanent valid link to the according traffic graph as image. If more than one port is associated with your subnet, you will get more than one graph.
API endpoint
/ip/traffic
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
from | - | Required Start date as UNIX timestamp |
to | - | Required End date as UNIX timestamp |
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
807 | Required task parameter is missing |
The message
element can contain more details.
DDoS attacks
<?php
$req = [
"id" => 123,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/ddos");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/ddos?id=123"
The above command returns JSON structured like this:
[
{
"ip": "1.2.3.4",
"signatures": "UDP-bandwidth",
"astart": "2023-08-04T01:47:56+0000",
"aend": ""
},
{
"ip": "1.2.3.4",
"signatures": "UDP-bandwidth",
"astart": "2023-08-04T00:38:56+0000",
"aend": "2023-08-04T01:26:01+0000"
}
]
Using this endpoint, you can retrieve current and past DDoS attacks for a subnet. We only return attacks of the last 24 hours (within their end).
API endpoint
/ip/ddos
Return codes
This are the additional return codes for this action. The global return codes applies. If there is no error, no return code and no message is returned.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
The message
element can contain more details.
Set note/description
<?php
$req = [
"id" => 1,
"note" => "Per API bestellt",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/set");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/set?id=1¬e=Per+API+bestellt"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Description set successful.",
"data": {}
}
Using this endpoint, you can update a note for a existing contract.
API endpoint
/ip/set
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
note | "" | The note to set for the contract |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
Cancel a subnet
<?php
$req = [
"id" => 1,
"date" => "2019-02-12",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/cancel");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/ip/cancel?id=1&date=2019-02-12"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Cancellation date set successful.",
"data": {
"date": "2019-02-12"
}
}
Using this endpoint, you can set the cancellation date for a contract. Please make sure that you retrieve the possible dates first, as only valid dates are accepted.
API endpoint
/ip/cancel
Query Parameters
Parameter | Default | Description |
---|---|---|
id | - | Required The ID of the contract |
date | - | Required Date of cancellation |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No contract ID specified |
804 | Specified contract is unknown |
805 | No cancellation is possible (product without recurring costs) |
806 | Provided cancellation date is invalid |
Domains
List your domains
<?php
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/list");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/list"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Domains fetched.",
"data": [
{
"domain": "example.com",
"recurring": 7.99,
"created": "2019-01-13",
"expiration": "2020-01-12",
"auto_renew": true,
"transfer_lock": true,
"privacy": false,
"privacy_price": 0.00,
"status": "REG_OK",
"last_sync": "2019-01-13 16:06:56",
"trade": 0.00,
"owner": {
"firstname": "John",
"lastname": "Doe",
"company": "",
"street": "Example street 1",
"country": "US",
"postcode": "12345",
"city": "Example city",
"telephone": "0019289999",
"telefax": "0019289998",
"email": "john.doe@example.com",
"remarks": ""
},
"admin": {
"firstname": "John",
"lastname": "Doe",
"company": "",
"street": "Example street 1",
"country": "US",
"postcode": "12345",
"city": "Example city",
"telephone": "0019289999",
"telefax": "0019289998",
"email": "john.doe@example.com",
"remarks": ""
},
"tech": {
"firstname": "John",
"lastname": "Doe",
"company": "",
"street": "Example street 1",
"country": "US",
"postcode": "12345",
"city": "Example city",
"telephone": "0019289999",
"telefax": "0019289998",
"email": "john.doe@example.com",
"remarks": ""
},
"zone": {
"firstname": "John",
"lastname": "Doe",
"company": "",
"street": "Example street 1",
"country": "US",
"postcode": "12345",
"city": "Example city",
"telephone": "0019289999",
"telefax": "0019289998",
"email": "john.doe@example.com",
"remarks": ""
},
"ns": [
"ns1.manager.nuxoa.de",
"ns2.manager.nuxoa.de"
],
}
]
}
This endpoint is used to get listed all your domains.
API endpoint
/domain/list
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Filter by domain name (wildcard) |
Return codes
The global return codes applies.
Register a domain
<?php
$req = [
"domain" => "example.com",
"owner_firstname" => "John",
"owner_lastname" => "Doe",
"owner_company" => "",
"owner_street" => "Example street 1",
"owner_country" => "US",
"owner_postcode" => "12345",
"owner_city" => "Example city",
"owner_telephone" => "0019289999",
"owner_telefax" => "0019289998",
"owner_email" => "john.doe@example.com",
"admin_firstname" => "John",
"admin_lastname" => "Doe",
"admin_company" => "",
"admin_street" => "Example street 1",
"admin_country" => "US",
"admin_postcode" => "12345",
"admin_city" => "Example city",
"admin_telephone" => "0019289999",
"admin_telefax" => "0019289998",
"admin_email" => "john.doe@example.com",
"tech_firstname" => "John",
"tech_lastname" => "Doe",
"tech_company" => "",
"tech_street" => "Example street 1",
"tech_country" => "US",
"tech_postcode" => "12345",
"tech_city" => "Example city",
"tech_telephone" => "0019289999",
"tech_telefax" => "0019289998",
"tech_email" => "john.doe@example.com",
"zone_firstname" => "John",
"zone_lastname" => "Doe",
"zone_company" => "",
"zone_street" => "Example street 1",
"zone_country" => "US",
"zone_postcode" => "12345",
"zone_city" => "Example city",
"zone_telephone" => "0019289999",
"zone_telefax" => "0019289998",
"zone_email" => "john.doe@example.com",
"ns1" => "ns1.manager.nuxoa.de",
"ns2" => "ns2.manager.nuxoa.de",
"ip" => "8.8.8.8",
"async" => true,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/register");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/register?domain=example.com&owner_firstname=John&owner_lastname=Doe&owner_company=&owner_street=Example+street+1&owner_country=US&owner_postcode=12345&owner_city=Example+city&owner_telephone=0019289999&owner_telefax=0019289998&owner_email=john.doe%40example.com&admin_firstname=John&admin_lastname=Doe&admin_company=&admin_street=Example+street+1&admin_country=US&admin_postcode=12345&admin_city=Example+city&admin_telephone=0019289999&admin_telefax=0019289998&admin_email=john.doe%40example.com&tech_firstname=John&tech_lastname=Doe&tech_company=&tech_street=Example+street+1&tech_country=US&tech_postcode=12345&tech_city=Example+city&tech_telephone=0019289999&tech_telefax=0019289998&tech_email=john.doe%40example.com&zone_firstname=John&zone_lastname=Doe&zone_company=&zone_street=Example+street+1&zone_country=US&zone_postcode=12345&zone_city=Example+city&zone_telephone=0019289999&zone_telefax=0019289998&zone_email=john.doe%40example.com&ns1=ns1.manager.nuxoa.de&ns2=ns2.manager.nuxoa.de&ip=8.8.8.8&async=1"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Domain registration successful.",
"data": {}
}
Using this endpoint, you can register a domain. Please make sure that the domain is available first.
API endpoint
/domain/register
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to register |
owner_* | - | Required The owner contact data - see request for details |
admin_* | - | Required The admin contact data - see request for details |
tech_* | Provider data | The tech contact data - needs special permission |
zone_* | Provider data | The zone contact data - needs special permission |
ns1..5 | - | At least first 2 required The nameserver hostnames to use |
ip | - | Required if provider nameservers are used The standard IP address to create DNS zone |
async | false | Set to true in order to execute registration in the background - faster response |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No domain name specified |
804 | Invalid domain name specified |
805 | TLD not supported |
806 | Domain availibility status can not be fetched |
807 | Domain not available |
808 | Not enough credit |
809 | Contact details missing (more information in message element) |
810 | Nameserver missing |
811 | Invalid IP address |
812 | Domain registration already in progress |
813 | Domain registration failed |
Transfer a domain
<?php
$req = [
"domain" => "example.com",
"password" => "AuthCode",
"owner_firstname" => "John",
"owner_lastname" => "Doe",
"owner_company" => "",
"owner_street" => "Example street 1",
"owner_country" => "US",
"owner_postcode" => "12345",
"owner_city" => "Example city",
"owner_telephone" => "0019289999",
"owner_telefax" => "0019289998",
"owner_email" => "john.doe@example.com",
"admin_firstname" => "John",
"admin_lastname" => "Doe",
"admin_company" => "",
"admin_street" => "Example street 1",
"admin_country" => "US",
"admin_postcode" => "12345",
"admin_city" => "Example city",
"admin_telephone" => "0019289999",
"admin_telefax" => "0019289998",
"admin_email" => "john.doe@example.com",
"tech_firstname" => "John",
"tech_lastname" => "Doe",
"tech_company" => "",
"tech_street" => "Example street 1",
"tech_country" => "US",
"tech_postcode" => "12345",
"tech_city" => "Example city",
"tech_telephone" => "0019289999",
"tech_telefax" => "0019289998",
"tech_email" => "john.doe@example.com",
"zone_firstname" => "John",
"zone_lastname" => "Doe",
"zone_company" => "",
"zone_street" => "Example street 1",
"zone_country" => "US",
"zone_postcode" => "12345",
"zone_city" => "Example city",
"zone_telephone" => "0019289999",
"zone_telefax" => "0019289998",
"zone_email" => "john.doe@example.com",
"ns1" => "ns1.manager.nuxoa.de",
"ns2" => "ns2.manager.nuxoa.de",
"ip" => "8.8.8.8",
"async" => true,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/transfer");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/transfer?domain=example.com&password=AuthCode&owner_firstname=John&owner_lastname=Doe&owner_company=&owner_street=Example+street+1&owner_country=US&owner_postcode=12345&owner_city=Example+city&owner_telephone=0019289999&owner_telefax=0019289998&owner_email=john.doe%40example.com&admin_firstname=John&admin_lastname=Doe&admin_company=&admin_street=Example+street+1&admin_country=US&admin_postcode=12345&admin_city=Example+city&admin_telephone=0019289999&admin_telefax=0019289998&admin_email=john.doe%40example.com&tech_firstname=John&tech_lastname=Doe&tech_company=&tech_street=Example+street+1&tech_country=US&tech_postcode=12345&tech_city=Example+city&tech_telephone=0019289999&tech_telefax=0019289998&tech_email=john.doe%40example.com&zone_firstname=John&zone_lastname=Doe&zone_company=&zone_street=Example+street+1&zone_country=US&zone_postcode=12345&zone_city=Example+city&zone_telephone=0019289999&zone_telefax=0019289998&zone_email=john.doe%40example.com&ns1=ns1.manager.nuxoa.de&ns2=ns2.manager.nuxoa.de&ip=8.8.8.8&async=1"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Domain transfer successful.",
"data": {}
}
Using this endpoint, you can transfer a domain. The request is identical to the register
request, except requiring the parameter password
.
API endpoint
/domain/transfer
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to transfer |
password | - | Required The AuthCode to transfer the domain |
owner_* | - | Required The owner contact data - see request for details |
admin_* | - | Required The admin contact data - see request for details |
tech_* | Provider data | The tech contact data - needs special permission |
zone_* | Provider data | The zone contact data - needs special permission |
ns1..5 | - | At least first 2 required The nameserver hostnames to use |
ip | - | Required if provider nameservers are used The standard IP address to create DNS zone |
async | false | Set to true in order to execute transfer in the background - faster response |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | No domain name specified |
804 | Invalid domain name specified |
805 | TLD not supported |
806 | Domain availibility status can not be fetched |
807 | Domain is not registered, transfer not available |
808 | Not enough credit |
809 | Contact details missing (more information in message element) |
810 | AuthCode not specified |
811 | Nameserver missing |
812 | Invalid IP address |
813 | Domain transfer already in progress |
814 | Domain transfer failed |
Edit a domain
<?php
$req = [
"domain" => "example.com",
"owner_firstname" => "John",
"owner_lastname" => "Doe",
"owner_company" => "",
"owner_street" => "Example street 1",
"owner_country" => "US",
"owner_postcode" => "12345",
"owner_city" => "Example city",
"owner_telephone" => "0019289999",
"owner_telefax" => "0019289998",
"owner_email" => "john.doe@example.com",
"admin_firstname" => "John",
"admin_lastname" => "Doe",
"admin_company" => "",
"admin_street" => "Example street 1",
"admin_country" => "US",
"admin_postcode" => "12345",
"admin_city" => "Example city",
"admin_telephone" => "0019289999",
"admin_telefax" => "0019289998",
"admin_email" => "john.doe@example.com",
"tech_firstname" => "John",
"tech_lastname" => "Doe",
"tech_company" => "",
"tech_street" => "Example street 1",
"tech_country" => "US",
"tech_postcode" => "12345",
"tech_city" => "Example city",
"tech_telephone" => "0019289999",
"tech_telefax" => "0019289998",
"tech_email" => "john.doe@example.com",
"zone_firstname" => "John",
"zone_lastname" => "Doe",
"zone_company" => "",
"zone_street" => "Example street 1",
"zone_country" => "US",
"zone_postcode" => "12345",
"zone_city" => "Example city",
"zone_telephone" => "0019289999",
"zone_telefax" => "0019289998",
"zone_email" => "john.doe@example.com",
"ns1" => "ns1.manager.nuxoa.de",
"ns2" => "ns2.manager.nuxoa.de",
"ip" => "8.8.8.8"
"transfer_lock" => true,
"auto_renew" => true,
"privacy" => false,
"async" => true,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/modify");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/modify?domain=example.com&owner_firstname=John&owner_lastname=Doe&owner_company=&owner_street=Example+street+1&owner_country=US&owner_postcode=12345&owner_city=Example+city&owner_telephone=0019289999&owner_telefax=0019289998&owner_email=john.doe%40example.com&admin_firstname=John&admin_lastname=Doe&admin_company=&admin_street=Example+street+1&admin_country=US&admin_postcode=12345&admin_city=Example+city&admin_telephone=0019289999&admin_telefax=0019289998&admin_email=john.doe%40example.com&tech_firstname=John&tech_lastname=Doe&tech_company=&tech_street=Example+street+1&tech_country=US&tech_postcode=12345&tech_city=Example+city&tech_telephone=0019289999&tech_telefax=0019289998&tech_email=john.doe%40example.com&zone_firstname=John&zone_lastname=Doe&zone_company=&zone_street=Example+street+1&zone_country=US&zone_postcode=12345&zone_city=Example+city&zone_telephone=0019289999&zone_telefax=0019289998&zone_email=john.doe%40example.com&ns1=ns1.manager.nuxoa.de&ns2=ns2.manager.nuxoa.de&ip=8.8.8.8&transfer_lock=1&auto_renew=1&privacy=0&async=1"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Domain updated.",
"data": {}
}
Using this endpoint, you can modify an existing domain.
API endpoint
/domain/modify
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to edit |
owner_* | - | Required The owner contact data - see request for details |
admin_* | - | Required The admin contact data - see request for details |
tech_* | Provider data | The tech contact data - needs special permission |
zone_* | Provider data | The zone contact data - needs special permission |
ns1..5 | - | At least first 2 required The nameserver hostnames to use |
ip | - | Required if switching to provider nameservers The standard IP address to create DNS zone |
transfer_lock | false | Set the transfer lock status (if supported by TLD) |
auto_renew | false | Set the auto renew status |
privacy | false | Set the WHOIS privacy status (if supported by TLD, can be chargeable) |
async | false | Set to true in order to execute modification in the background - faster response |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Internal error |
805 | Contact details missing (more information in message element) |
806 | Nameserver missing |
807 | Missing credit for auto renew |
808 | Invalid IP address |
809 | Domain update failed |
Change domain owner (trade)
<?php
$req = [
"domain" => "example.com",
"owner_firstname" => "John",
"owner_lastname" => "Doe",
"owner_company" => "",
"owner_street" => "Example street 1",
"owner_country" => "US",
"owner_postcode" => "12345",
"owner_city" => "Example city",
"owner_telephone" => "0019289999",
"owner_telefax" => "0019289998",
"owner_email" => "john.doe@example.com",
"admin_firstname" => "John",
"admin_lastname" => "Doe",
"admin_company" => "",
"admin_street" => "Example street 1",
"admin_country" => "US",
"admin_postcode" => "12345",
"admin_city" => "Example city",
"admin_telephone" => "0019289999",
"admin_telefax" => "0019289998",
"admin_email" => "john.doe@example.com",
"tech_firstname" => "John",
"tech_lastname" => "Doe",
"tech_company" => "",
"tech_street" => "Example street 1",
"tech_country" => "US",
"tech_postcode" => "12345",
"tech_city" => "Example city",
"tech_telephone" => "0019289999",
"tech_telefax" => "0019289998",
"tech_email" => "john.doe@example.com",
"zone_firstname" => "John",
"zone_lastname" => "Doe",
"zone_company" => "",
"zone_street" => "Example street 1",
"zone_country" => "US",
"zone_postcode" => "12345",
"zone_city" => "Example city",
"zone_telephone" => "0019289999",
"zone_telefax" => "0019289998",
"zone_email" => "john.doe@example.com",
"async" => true,
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/trade");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/trade?domain=example.com&owner_firstname=John&owner_lastname=Doe&owner_company=&owner_street=Example+street+1&owner_country=US&owner_postcode=12345&owner_city=Example+city&owner_telephone=0019289999&owner_telefax=0019289998&owner_email=john.doe%40example.com&admin_firstname=John&admin_lastname=Doe&admin_company=&admin_street=Example+street+1&admin_country=US&admin_postcode=12345&admin_city=Example+city&admin_telephone=0019289999&admin_telefax=0019289998&admin_email=john.doe%40example.com&tech_firstname=John&tech_lastname=Doe&tech_company=&tech_street=Example+street+1&tech_country=US&tech_postcode=12345&tech_city=Example+city&tech_telephone=0019289999&tech_telefax=0019289998&tech_email=john.doe%40example.com&zone_firstname=John&zone_lastname=Doe&zone_company=&zone_street=Example+street+1&zone_country=US&zone_postcode=12345&zone_city=Example+city&zone_telephone=0019289999&zone_telefax=0019289998&zone_email=john.doe%40example.com&async=1"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Trade successful.",
"data": {}
}
Using this endpoint, you can execute a domain owner change (trade). This is a chargeable action required if you want to change the domain owner data for a TLD with chargeable domain owner change. You are not able to change the domain owner via the domain/modify
endpoint in this case.
API endpoint
/domain/trade
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to execute the trade for |
owner_* | - | Required The owner contact data - see request for details |
admin_* | - | Required The admin contact data - see request for details |
tech_* | Provider data | The tech contact data - needs special permission |
zone_* | Provider data | The zone contact data - needs special permission |
async | false | Set to true in order to execute trade in the background - faster response |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Internal error |
805 | Contact details missing (more information in message element) |
806 | Trade not possible for this TLD |
807 | Not enough credit |
808 | Trade failed |
Request authcode
<?php
$req = [
"domain" => "example.com",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/password?domain=example.com"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Authcode fetched.",
"data": {
"code": "q1w2e3r4t5"
}
}
Using this endpoint, you can request the authcode for your domain.
API endpoint
/domain/password
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to request the authcode for |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Internal error |
Delete/return a domain
<?php
$req = [
"domain" => "example.com",
"type" => "0",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/delete");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/domain/delete?domain=example.com&type=0"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Domain deleted/returned to registry.",
"data": {}
}
Using this endpoint, you can delete a domain or return it to registry.
API endpoint
/domain/delete
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain to request the authcode for |
type | - | Required The type of deletion (0 = normal delete, 1 = connected return, 2 = disconnected return) |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Internal error |
805 | Invalid type specified |
806 | Deletion/Returnation failed |
DNS zones
List your zones
<?php
$req = [
"domain" => "example.com",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/list");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/list?domain=example.com"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Zones fetched.",
"data": [
"example.com",
"example.de"
]
}
Using this endpoint, you can get all DNS zones existing for domains using the nameservers of the provider.
API endpoint
/dns/list
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Filter by domain (wildcard) |
Return codes
The global return codes applies.
Get zone records
<?php
$req = [
"domain" => "example.com"
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/show");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/show?domain=example.com"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Zone fetched.",
"data": {
"262": {
"name": "",
"type": "A",
"content": "8.8.8.8",
"ttl": 3600,
"priority": 0
},
"263": {
"name": "",
"type": "MX",
"content": "example.com",
"ttl": 3600,
"priority": 10
}
}
}
Using this endpoint, you can get all records existing in the specified DNS zone.
API endpoint
/dns/show
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain/zone name you want to get |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Zone not found |
Add a record
<?php
$req = [
"domain" => "example.com",
"name" => "www",
"type" => "A",
"content" => "8.8.8.8",
"ttl" => "3600",
"priority" => "0",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/add");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/add?domain=example.com&name=www&type=A&content=8.8.8.8&ttl=3600&priority=0"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Record added.",
"data": {}
}
Using this endpoint, you can create a new record in a DNS zone.
API endpoint
/dns/add
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain/zone name you want to add a record in |
name | - | Required The record name (can be empty) |
type | - | Required The record type |
content | - | Required The content of the record |
ttl | - | Required Time-to-live (e.g. 3600) |
priority | - | Required Priority (can be 0) |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Zone not found |
805 | Error at adding record (invalid record data) |
Edit a record
<?php
$req = [
"domain" => "example.com",
"record" => "262",
"name" => "www",
"type" => "A",
"content" => "8.8.8.8",
"ttl" => "3600",
"priority" => "0",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/edit");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/edit?domain=example.com&record=262&name=www&type=A&content=8.8.8.8&ttl=3600&priority=0"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Record edited.",
"data": {}
}
Using this endpoint, you can edit an existing record in a DNS zone.
API endpoint
/dns/edit
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain/zone name you want to edit a record in |
record | - | Required The ID of the record to be edited (find in dns/show as key) |
name | - | Required The record name (can be empty) |
type | - | Required The record type |
content | - | Required The content of the record |
ttl | - | Required Time-to-live (e.g. 3600) |
priority | - | Required Priority (can be 0) |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Zone not found |
805 | No valid record ID specified |
806 | Record not found |
807 | Error at editing record (invalid record data) |
Delete a record
<?php
$req = [
"domain" => "example.com",
"record" => "262",
];
$ch = curl_init("https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/delete");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($req));
$res = curl_exec($ch);
if (curl_errno($ch)) {
die(curl_error($ch));
}
curl_close($ch);
$res = json_decode($res, true);
print_r($res);
curl "https://manager.nuxoa.de/api/CUSTOMER_ID/API_KEY/dns/delete?domain=example.com&record=262"
The above command returns JSON structured like this:
{
"code": 100,
"message": "Record deleted.",
"data": {}
}
Using this endpoint, you can delete an existing record from a DNS zone.
API endpoint
/dns/delete
Query Parameters
Parameter | Default | Description |
---|---|---|
domain | - | Required The domain/zone name you want to delete a record in |
record | - | Required The ID of the record to be deleted (find in dns/show as key) |
Return codes
This are the additional return codes for this action. The global return codes applies.
Return Code | Meaning |
---|---|
803 | Domain not found |
804 | Zone not found |
805 | No valid record ID specified |
806 | Record not found |
Return codes
The NUXOA API uses the following return codes, they are contained in the code
element in the JSON response:
Return Code | Meaning |
---|---|
100 | Request was successful |
800 | Authorization failed, please check customer ID and API key |
801 | Method unknown |
802 | Action unknown |
There are additional return codes in failure case for each action, please see the corresponding documentation.