Zampto (DBA)
Loading...

Server Power Actions & Information API

The Server API allows you to programmatically manage and retrieve information about your servers.

Using this API you can:

  • Start, stop, restart, or force-kill servers
  • Retrieve a list of all servers linked to your account
  • Check server renewal status and expiration information
  • Integrate server management into external applications, bots, dashboards, or automation systems

This reference covers authentication, permissions, available endpoints, request/response formats, and error handling.


Base URL

All API requests are made against:

https://api.zampto.net

Authentication

All endpoints except GET /health require an API key.

The API key must be sent using the Authorization header with the Bearer authentication format:

Authorization: Bearer <your_api_key>

Example:

curl https://api.zampto.net/servers/list \
  -H "Authorization: Bearer your_api_key_here"

Your API key is validated on every request.

The key must:

  • Exist in the database
  • Have an active status
  • Have the required permissions for the requested endpoint

Invalid or unauthorized keys will return:

401 Unauthorized

Keep your API key private.

Never expose API keys in client-side applications, public repositories, screenshots, or logs.

You can create and manage API keys from:

https://dash.zampto.net/settings/api


API Permissions

Some endpoints require specific permissions.

Each API key can have individual permissions assigned. If an API key does not have the required permission, the request will be rejected.

Permission Description
View Server Allows retrieving information about a server, including renewal status
List Servers Allows retrieving the list of servers associated with your account
Start Server Allows starting a server
Stop Server Allows gracefully stopping a server
Kill Server Allows force-killing a server
Restart Server Allows restarting a server

Permissions are checked before executing the requested action.


Rate Limits

To ensure API stability and fair usage, requests are limited to:

Limit Window
5 requests per 10 seconds

If the limit is exceeded, requests will temporarily fail until the rate limit window resets.

For integrations requiring higher limits, contact Zampto support.

Recommended practices:

  • Cache information when possible
  • Avoid unnecessary polling
  • Use exponential backoff when retrying failed requests

Finding Your Server ID

Most server-related endpoints require a numeric server ID.

There are two ways to find your Server ID.


Option 1 — Using the List Endpoint

Send an authenticated request:

curl https://api.zampto.net/servers/list \
  -H "Authorization: Bearer your_api_key_here"

Example response:

{
  "success": true,
  "message": "Success",
  "data": [
    {
      "id": 1,
      "name": "Minecraft Server"
    }
  ]
}

The id field is the Server ID required by other endpoints.


Option 2 — Using the Dashboard

  1. Open the Zampto Dashboard
  2. Go to your server list
  3. Open the server management page
  4. Find the Additional Information section
  5. Copy the displayed Server ID

Example:

Screenshot from the Dashboard

In the examples below, Server ID 1 is used.

Replace it with your own server ID.


Endpoints

Power Control Endpoints

Power control endpoints allow you to manage the state of your servers.

All requests use a JSON body containing the server ID:

{
  "server": 1
}

Start Server

POST /server/action/start

Starts a stopped server.

Required Permission

Start Server

Request

curl -X POST https://api.zampto.net/server/action/start \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"server":1}'

Body

{
  "server": 1
}

Success Response

200 OK

{
  "success": true,
  "message": "Success"
}

Stop Server

POST /server/action/stop

Gracefully stops a running server.

Required Permission

Stop Server

Request

curl -X POST https://api.zampto.net/server/action/stop \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"server":1}'

Body

{
  "server": 1
}

Success Response

200 OK

{
  "success": true,
  "message": "Success"
}

Restart Server

POST /server/action/restart

Restarts a server by performing a stop operation followed by a start operation.

Required Permission

Restart Server

Request

curl -X POST https://api.zampto.net/server/action/restart \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"server":1}'

Body

{
  "server": 1
}

Success Response

200 OK

{
  "success": true,
  "message": "Success"
}

Kill Server

POST /server/action/kill

Immediately terminates a server process.

This should only be used when a server is unresponsive and cannot be stopped normally.

Required Permission

Kill Server

Warning

Force-killing a server may cause data corruption or loss of unsaved data.

Request

curl -X POST https://api.zampto.net/server/action/kill \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"server":1}'

Body

{
  "server": 1
}

Success Response

200 OK

{
  "success": true,
  "message": "Success"
}

Server Renewal Status

GET /server/renewal

Returns the renewal and expiration status of a server.

This endpoint allows to check whether a server requires renewal and how much time remains before expiration. This endpoint cannot be used to renew a server; you can only renew a server manually via the dashboard.

Required Permission

View Server

Request

The server ID is provided as a query parameter.

curl "https://api.zampto.net/server/renewal?server=10075" \
  -H "Authorization: Bearer your_api_key_here"

Parameters

Parameter Type Required Description
server Integer Yes The numeric ID of the server

Response Format

Expired Server — Renewal Not Required

Example:

{
  "success": true,
  "timestamp": "2026-07-10T12:44:43.000Z",
  "expiry_in": "expired",
  "required": "no"
}

This means:

  • The server is expired
  • Renewal is currently not required

Expired Server — Renewal Required

Example:

{
  "success": true,
  "timestamp": "2026-07-18T04:56:20.000Z",
  "expiry_in": "expired",
  "required": "yes"
}

This means:

  • The server has expired
  • A renewal action is required, a server can only be renewed using our Dashboard ( https://dash.zampto.net )

Active Server

Example:

{
  "success": true,
  "timestamp": "2026-07-22 08:19:06.000",
  "expiry_in": 13469,
  "required": "yes"
}

expiry_in is returned in seconds.

For example:

13469 seconds ≈ 3 hours and 44 minutes

Renewal Response Fields

Field Type Description
success Boolean Whether the request was successful
timestamp String Current server timestamp
expiry_in Integer/String Remaining time in seconds, or "expired" if the server has expired
required String Whether renewal is required (yes or no)

Server Listing

GET /servers/list

Returns all servers associated with the authenticated account.

Required Permission

List Servers

Request

curl https://api.zampto.net/servers/list \
  -H "Authorization: Bearer your_api_key_here"

Success Response

200 OK

{
  "success": true,
  "message": "Success",
  "data": [
    {
      "id": 1,
      "name": "Minecraft Server",
      "memory": 4096,
      "disk": 51200,
      "cpu": 4,
      "backups": 3,
      "allocations": 1,
      "creation_timestamp": "2026-01-15T10:30:00.000Z",
      "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "identifier": "abc123def456",
      "main_allocation_port": 25565,
      "node_id": 1,
      "created_by": 42
    }
  ]
}

Health Check

GET /health

Returns the current API status.

This endpoint does not require authentication and can be used for:

  • Uptime monitoring
  • Service health checks
  • External monitoring systems

Request

curl https://api.zampto.net/health

Response

200 OK

{
  "status": "ok",
  "timestamp": "2026-05-03T12:00:00.000Z"
}

Response Format

All authenticated API responses follow a consistent JSON structure.


Successful Response

HTTP Status:

200 OK

Example:

{
  "success": true,
  "message": "Success"
}

Error Response

Example:

{
  "success": false,
  "message": "Error description here"
}

Error Reference

HTTP Status Message Cause
400 Missing Authorization header The request did not include an Authorization header
400 Invalid Authorization format. Use: Bearer <token> The Authorization header does not use the required Bearer format
400 Invalid token The provided token is invalid or too short
400 Invalid token format The token contains invalid characters or blocked patterns
401 Unauthorized: Invalid API key The API key does not exist, is disabled, or cannot authenticate
403 Missing required permission The API key does not have permission required for this endpoint
400 Invalid JSON body The request body is not valid JSON
400 Server parameter is required The server parameter was not provided
400 Invalid server ID The provided server ID is not numeric
403 Server not found, not existent, or unauthorized The server does not exist or does not belong to the authenticated account
422 This server has not yet been synced, please wait 10 minutes and try again The server has not completed synchronization with the panel
500 Failed to send power signal to server The panel rejected or failed the requested power operation
500 Internal server error An unexpected server-side error occurred

Best Practices

When integrating with the Zampto API:

  • Store API keys securely
  • Never expose API keys in frontend applications
  • Cache server information where possible
  • Respect API rate limits
  • Handle error responses gracefully
  • Use retries with exponential backoff for temporary failures
  • Validate user permissions before performing actions

Support

If you encounter issues with the API or need additional permissions, contact Zampto support.