NAV Navbar
shell

Introduction

Welcome to the DeluxeNode Panel API documentation.

The panel API is usable through POST and GET requests. Servers on the panel can be controlled through the API.

If you find any errors throughout this API reference, please report them to us.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
     -H "Authorization: Bearer meowmeowmeow"
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \

Make sure to replace meowmeowmeow with your API key.

You can obtain an API key from the Account API page on the DeluxeNode Panel.

We expect the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer meowmeowmeow

Ratelimits

To prevent abuse, the DeluxeNode Panel API has a ratelimit in place.

Up to 60 requests are allowed per minute.

The amount of requests left can be found within the reply header.

Header Description
x-ratelimit-limit The amount of API requests allowed per minute.
x-ratelimit-remaining The amount of API requests left.

Endpoints

List all servers

curl "https://panel.deluxenode.com/api/client" \
     -H "Authorization: Bearer meowmeowmeow" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X GET 

The above command returns JSON structured like this:

{
   "object":"list",
   "data":[
      {
         "object":"server",
         "attributes":{
            "server_owner":true,
            "identifier":"d3aac109",
            "uuid":"d3aac109-e5a0-4331-b03e-3454f7e136dc",
            "name":"Survival",
            "description":"",
            "limits":{
               "memory":1024,
               "swap":0,
               "disk":5000,
               "io":500,
               "cpu":200
            },
            "feature_limits":{
               "databases":5,
               "allocations":5
            }
         }
      }
   ],
   "meta":{
      "pagination":{
         "total":1,
         "count":1,
         "per_page":25,
         "current_page":1,
         "total_pages":1,
         "links":[

         ]
      }
   }
}

This endpoint retrieves all servers that the user has access to, along with information about them.

HTTP Request

GET https://panel.deluxenode.com/api/client

Get server specific information

curl "https://panel.deluxenode.com/api/client/servers/<id>" \
     -H "Authorization: Bearer meowmeowmeow" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X GET 

The above command returns JSON structured like this:

{
   "object":"server",
   "attributes":{
      "server_owner":true,
      "identifier":"d3aac109",
      "uuid":"d3aac109-e5a0-4331-b03e-3454f7e136dc",
      "name":"Survival",
      "description":"",
      "limits":{
         "memory":1024,
         "swap":0,
         "disk":5000,
         "io":500,
         "cpu":200
      },
      "feature_limits":{
         "databases":5,
         "allocations":5
      }
   }
}

This endpoint retrieves information for the specified server.

HTTP Request

GET https://panel.deluxenode.com/api/client/servers/<ID>

URL Parameters

Parameter Description
ID The ID of the server that you are requesting.

Get server resource utilization

curl "https://panel.deluxenode.com/api/client/servers/<id>/utilization" \
     -H "Authorization: Bearer meowmeowmeow" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X GET

The above command returns JSON structured like this:

{
   "object":"stats",
   "attributes":{
      "state":"on",
      "memory":{
         "current":375,
         "limit":1024
      },
      "cpu":{
         "current":1.522,
         "cores":[
            0.033,
            0.048,
            0.04,
            0,
            0.031,
            0,
            0.021,
            0.024,
            0.249,
            0.042,
            0.007,
            0,
            0.293,
            0.003,
            0.6,
            0.131
         ],
         "limit":200
      },
      "disk":{
         "current":119,
         "limit":5000
      }
   }
}

This endpoint displays resource utilization of the specified server.

HTTP Request

GET https://panel.deluxenode.com/api/client/servers/<ID>/utilization

URL Parameters

Parameter Description
ID The ID of the server that you are requesting.

Send console command

curl "https://panel.deluxenode.com/api/client/servers/<id>/command" \
     -H "Authorization: Bearer meowmeowmeow" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X POST \
     -d '{ "command": "say CodeCo says Hi!" }'

This endpoint sends a command to the server.

You are required to add the Accept: application/json and Content-Type: application/json headers for this endpoint.

If successful, there will be an empty response body.

HTTP Request

POST https://panel.deluxenode.com/api/client/servers/<ID>/command

URL Parameters

Parameter Description
ID The ID of the server that you are requesting.
command The command that you would like sent to the server.

Send power action

curl "https://panel.deluxenode.com/api/client/servers/<id>/power" \
     -H "Authorization: Bearer meowmeowmeow" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X POST \
     -d '{ "signal": "start" }'

This endpoint sends a power signal to the server.

You are required to add the Accept: application/json and Content-Type: application/json headers for this endpoint.

If successful, there will be an empty response body.

HTTP Request

POST https://panel.deluxenode.com/api/client/servers/<ID>/power

URL Parameters

Parameter Description
ID The ID of the server that you are requesting.
signal The power signal you want to send to the server.

Power Signals

Signal Description
start Sends the startup command to the server.
stop Sends the stop command to the server.
restart Stops the server then immediately starts it straight after.
kill Instantly ends all processes and marks the server as stopped.

Errors

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- You do not have access to the requested information.
404 Not Found -- The specified information could not be found.
405 Method Not Allowed -- You tried to access something with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The information requested has been removed from our servers.
412 Precondition Failed -- You're missing something.
418 I'm a teapot.
429 Too Many Requests -- You're requesting often! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.