Developers
Developer API
Last updated: April 28, 2026
A small reference for authenticating, reading account/server data, controlling owned servers, streaming logs, and installing plugins.
1. Overview
The SwiftServers API is for simple automation around your own account and servers. Most routes require an API key and only return resources owned by that key.
Base URL: https://swiftservers.org
2. Authentication
Create an API key from Dashboard → Profile. Send it with every private request.
X-API-Key: swft_your_api_key
Accept: application/jsonBearer auth is also accepted:
Authorization: Bearer swft_your_api_key
Accept: application/jsonPublic endpoints are marked clearly and do not need a key.
3. Public API
/api/serversList public online servers
Returns visible online servers for public server lists.
Response
{
"servers": [
{
"name": "my-survival",
"ip": "my-survival.swiftservers.org",
"software": "PAPER",
"version": "1.21.4",
"players": 1,
"max_players": 20,
"motd": "A Minecraft Server"
}
]
}4. Account
/api/v1/meGet current account
Use this first to verify that your API key works.
Response
{
"userId": "user_123",
"credits": 500,
"serverSlots": 2,
"linkedAccount": {
"minecraft_name": "THEsinner_1",
"rank": "MEMBER"
}
}5. Servers
/api/v1/serversList owned servers
Returns all servers owned by the API key owner.
Response
{
"servers": [
{
"id": "424b524a-cacd-4cae-8c9f-44ab75149184",
"name": "my-survival",
"status": "online",
"type": "paper",
"version": "1.21.4",
"current_players": 1,
"max_players": 20
}
]
}/api/v1/servers/{id}Get one server
Returns one owned server by ID.
Response
{
"server": {
"id": "424b524a-cacd-4cae-8c9f-44ab75149184",
"name": "my-survival",
"status": "online",
"type": "paper",
"version": "1.21.4",
"subdomain": "my-survival"
}
}6. Server Control
/api/v1/servers/{id}/startStart server
Starts a stopped or hibernated server.
Response
{
"success": true,
"message": "Server starting"
}/api/v1/servers/{id}/stopStop server
Stops a running server cleanly.
Response
{
"success": true,
"message": "Server stopped"
}/api/v1/servers/{id}/restartRestart server
Restarts a running server.
Response
{
"success": true,
"message": "Server restarting"
}/api/v1/servers/{id}/killForce stop server
Force-stops a stuck server. Use this only when normal stop does not work.
Response
{
"success": true,
"message": "Server force killed"
}7. Console
/api/v1/servers/{id}/console/wsStream console logs
Streams recent console output, then follows new log lines.
Response
[12:41:03 INFO]: Starting minecraft server version 1.21.4
[12:41:10 INFO]: Done (6.421s)! For help, type "help"8. Add-ons
/api/v1/servers/{id}/pluginsInstall plugin by URL
Downloads a plugin JAR into the server plugins folder.
Body
{
"url": "https://example.com/plugins/EssentialsX.jar",
"filename": "EssentialsX.jar"
}Response
{
"success": true,
"message": "Plugin installed",
"plugin": {
"filename": "EssentialsX.jar",
"path": "/data/plugins/EssentialsX.jar"
}
}WebSocket Notes
The console stream accepts the same API key. Use the X-API-Key header when your WebSocket client supports headers. If it does not, use ?apiKey=swft_....
wscat -c "wss://swiftservers.org/api/v1/servers/{id}/console/ws" \
-H "X-API-Key: swft_your_api_key"