Developer API Reference

The MonsterNode Game Panel exposes a comprehensive RESTful API, allowing you to programmatically control your servers, read console logs, and automate infrastructure tasks. This is perfect for Discord bots, custom web dashboards, or CI/CD pipelines.

1. Authentication

All requests to the Client API must be authenticated using an API Key. These keys are tied to your specific user account and respect the permissions granted to you.

Generating an API Key

  1. Log into the Game Panel at panel.monsternode.io.
  2. Click your profile avatar in the top right and select API Credentials.
  3. Give your key a description (e.g., "Discord Bot Backend") and click Create.
  4. Copy the key immediately. For security reasons, it will never be displayed again.

Headers

You must include the following headers in every HTTP request:

Authorization: Bearer YOUR_API_KEY Accept: application/json Content-Type: application/json

2. Base URL

The base URL for all client-facing API requests is:

https://panel.monsternode.io/api/client

3. Endpoints & Examples

List All Servers

GET /api/client

Returns a paginated list of all servers your account has access to, including their UUIDs, which are required for subsequent requests.

Get Server Resource Usage

GET /api/client/servers/{server_uuid}/resources

Returns real-time data regarding CPU, RAM, Disk usage, and the current power state (running, offline, starting).

Finding the Server UUID

The {server_uuid} is the 8-character string visible in your browser's URL bar when viewing a server in the panel (e.g., https://panel.monsternode.io/server/a1b2c3d4).

Send Power Command

POST /api/client/servers/{server_uuid}/power

Changes the power state of the server. The body must contain a JSON payload.

Valid signals: start, stop, restart, kill

Example Request (Node.js/Axios)

const axios = require('axios'); axios.post('https://panel.monsternode.io/api/client/servers/a1b2c3d4/power', { signal: 'restart' }, { headers: { 'Authorization': 'Bearer ptlc_YOUR_API_KEY', 'Accept': 'application/json', 'Content-Type': 'application/json' } }).then(response => { console.log("Server restarting..."); }).catch(error => { console.error(error); });

4. Rate Limiting

To ensure platform stability, the API is rate-limited. Standard limits are 60 requests per minute per IP address. Exceeding this will result in a 429 Too Many Requests response. Headers are included in every response detailing your current limit status.