Appearance
API Overview
The Arcadium API provides programmatic access to manage your game servers, players, and clusters. Use it to build custom integrations, automation scripts, or third-party applications.
Base URL
Production: https://arcadiumpanel.com/api/v1
All API endpoints are prefixed with /api/v1.
Authentication
The API uses Bearer Token authentication. Include your access token in the Authorization header:
http
Authorization: Bearer your_access_token_hereGetting an Access Token
Obtain tokens by authenticating via:
- Email/Password - POST
/auth/login - Steam OAuth - GET
/auth/steam - Discord OAuth - GET
/auth/discord
Tokens expire after 24 hours. Use the refresh token to obtain a new access token without re-authenticating.
Request Format
Headers
http
Content-Type: application/json
Authorization: Bearer your_tokenBody
All POST, PUT, and PATCH requests should send data as JSON:
json
{
"name": "My Server",
"gameType": "ARK_SURVIVAL_EVOLVED"
}Response Format
Success Response
json
{
"id": "uuid",
"name": "My Server",
"status": "ONLINE",
"createdAt": "2026-01-10T20:00:00Z"
}List Responses
Paginated endpoints return data with metadata:
json
{
"data": [...],
"meta": {
"total": 50,
"page": 1,
"limit": 20,
"totalPages": 3
}
}Error Response
json
{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}Status Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid input |
401 | Unauthorized - Missing or invalid token |
403 | Forbidden - Insufficient permissions |
404 | Not Found |
429 | Too Many Requests - Rate limited |
500 | Internal Server Error |
Rate Limiting
API requests are limited to 100 requests per minute per user.
Response headers indicate your current limit status:
http
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1641849600When rate limited, you'll receive a 429 response:
json
{
"statusCode": 429,
"message": "Too many requests, please try again later."
}Pagination
List endpoints support pagination via query parameters:
http
GET /servers?page=2&limit=50Parameters:
page- Page number (default: 1)limit- Items per page (default: 20, max: 100)
Filtering
Many endpoints support filtering:
http
GET /servers?clusterId=abc123&status=ONLINE&gameType=RUSTCheck individual endpoint documentation for supported filters.
Swagger Documentation
Interactive API documentation is available at:
https://arcadiumpanel.com/api/docs
Try out endpoints directly from your browser with the Swagger UI.
WebSocket API
Real-time updates are available via WebSocket. The agent gateway uses WebSocket for bidirectional communication between the API and game server agents.
The WebSocket endpoint is at: wss://arcadiumpanel.com/agent/ws
SDKs & Libraries
Official SDKs coming soon:
- JavaScript/TypeScript - npm package
- Python - pip package
- Go - Go module
Support
- Documentation: Browse endpoint references in the sidebar
- Support Email: support@arcadiumpanel.com
- Discord: Ask questions in our community server
Quick Examples
List Your Clusters
bash
curl -X GET https://arcadiumpanel.com/api/v1/clusters \
-H "Authorization: Bearer YOUR_TOKEN"Create a Game Server
bash
curl -X POST https://arcadiumpanel.com/api/v1/servers \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clusterId": "your-cluster-id",
"machineId": "your-machine-id",
"name": "My ARK Server",
"gameType": "ARK_SURVIVAL_EVOLVED",
"gamePort": 7777,
"queryPort": 27015,
"rconPort": 27020
}'Execute RCON Command
bash
curl -X POST https://arcadiumpanel.com/api/v1/rcon/execute \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"serverId": "server-id",
"command": "Broadcast Hello World!"
}'