Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/calagopus/panel/llms.txt

Use this file to discover all available pages before exploring further.

The Calagopus REST API lets you manage servers, users, nodes, eggs, and all other panel resources programmatically. Every resource that is available through the panel UI is also accessible through the API.

Base URL

All API endpoints are relative to your panel’s base URL:
https://your-panel.example.com/api
The client API lives under /api/client and the admin API under /api/admin.

Response format

By default, all responses are JSON. The API supports content negotiation through the Accept header, and will return application/json, application/msgpack, or text/xml depending on what you send.
Accept: application/json
All successful responses include a top-level key that matches the resource name. Paginated responses include a data array plus pagination metadata.
{
  "servers": {
    "data": [...],
    "total": 42,
    "per_page": 10,
    "page": 1
  }
}
Error responses always follow this shape:
{
  "errors": ["a human-readable description of the error"]
}

Pagination

List endpoints accept the following query parameters:
page
integer
default:"1"
The page number to return. Must be 1 or greater.
per_page
integer
default:"10"
Number of items per page. Accepted range is 1–100.
Optional free-text search term. Filters results by name or other relevant fields.
Paginated responses return:
data
array
The items on the current page.
total
integer
The total number of items across all pages.
per_page
integer
Number of items per page as applied by the server.
page
integer
The current page number.

Rate limiting

The panel applies rate limits separately for the client and admin APIs. When the limit is exceeded the API returns 429 Too Many Requests. The specific limits are configured in your panel settings under ratelimits.client.

Common HTTP status codes

CodeMeaning
200 OKRequest succeeded.
400 Bad RequestValidation failed. The response body contains a list of error messages.
401 UnauthorizedNo credentials provided or credentials are invalid.
403 ForbiddenCredentials are valid but the caller does not have the required permission.
404 Not FoundThe requested resource does not exist.
409 ConflictThe request conflicts with existing state (e.g. duplicate name).
417 Expectation FailedA business-logic limit was exceeded (e.g. backup limit reached).
429 Too Many RequestsRate limit exceeded.
500 Internal Server ErrorUnexpected server error.

Authentication

All /api/client and /api/admin endpoints require authentication. See the Authentication page for the two supported methods: session cookies and API keys.

Build docs developers (and LLMs) love