exaroton API
exaroton offers a public API that allows you to integrate your server into your programs and apps. Currently, only some basic features can be used via the API.
Packages and libraries
To easily access our API, you can use on of these libraries:
Libraries maintained by exaroton:
Third party libraries not officially supported by exaroton:
You can also use our OpenAPI spec to generate clients for a large variety of programming languages.
Authentication
To authenticate your requests, you need a valid API token.
This token can be generated in your exaroton account settings and needs to be sent in the Authorization
HTTP header with every request you make.
Authorization: Bearer {token}
Websocket API
The websocket API allows a constant connection to our websocket service to receive events in real time without polling (e.g. trying to get the server status every few seconds).
You can use our Node.js library as a reference implementation.
https://api.exaroton.com/v1/servers/{server}/websocket
Basic messages
All messages received from or sent to the websocket are JSON strings.
Every JSON object has a type
property, and may additionally have a data
and a stream
property.
ready
{"type":"ready","data":"6L5WWSK73YnWGHQE"}
Sent after opening a websocket connection. data
is the ID of the server you connected to.
Before this message is received, no messages should be sent to the websocket.
connected
{"type":"connected"}
Sent when a connection to a running game server is established.
disconnected
{"type":"disconnected","data":"invalid-status"}
Sent when a connection to a game server failed or was lost. data
includes the reason for the disconnect.
keep-alive
{"type":"keep-alive"}
Sent when if no other messages were sent for a longer period of time. This message can be ignored.
Streams
Messages that include a stream
property are a part of a specific data stream. There are 5 different data streams available in our WebSocket API:
status
By default, you are always subscribed to server status changes. The only message type in this stream is status
status
{
"stream": "status",
"type": "status",
"data": {
"id": "EwYiY9IAMtQBTb6U",
"name": "example",
"address": "example.exaroton.me",
"motd": "Welcome to the server of example!",
"status": 2,
"players": {
"max": 20,
"count": 0,
"list": []
},
"host": "gibberfish.exaroton.host",
"port": 48249,
"software": {
"id": "kb4p09ABvLjxzedx",
"name": "Vanilla",
"version": "1.16.5"
},
"shared": false
}
}
The data
field of this message is a regular API server object.
console
The console
stream can be used to receive a live feed of the server’s console output.
Note that this is the server’s raw console output, so it might contain both ANSI escape codes and control characters.
You can subscribe to the console
stream by sending a start
message while the server is running:
{"stream":"console","type":"start","data":{"tail":0}}
The tail
option can be used to receive up to 500 lines from the previous console output.
You can unsubscribe by sending a stop
message:
{"stream":"console","type":"stop"}
Additional to receiving console output, this stream can also be used as a faster way of sending commands to the server:
{"stream":"console","type":"command","data":"say Hello World!"}
started
A started
messages is sent when the stream was started successfully.
{"stream":"console","type":"started"}
line
Console line
messages include a line of console output.
{"stream":"console","type":"line","data":"[14:20:56] [Server thread/INFO]: [Server] test"}
tick
The tick
stream provides information about the servers current in-game tick speed.
Note that this stream is only available for Minecraft Java Edition 1.16+.
You can subscribe to the tick
stream by sending a start
message while the server is online:
{"stream":"tick","type":"start"}
You can unsubscribe by sending a stop
message:
{"stream":"tick","type":"stop"}
started
A started
messages is sent when the stream was started successfully.
{"stream":"console","type":"started"}
tick
tick
messages include the current average tick time (in ms).
{"stream":"tick","type":"tick","data":{"averageTickTime":8.7218612}}
stats
The stats
stream provides information about server stats (currently only memory usage).
You can subscribe to the stats
stream by sending a start
message while the server is online:
{"stream":"stats","type":"start"}
You can unsubscribe by sending a stop
message:
{"stream":"stats","type":"stop"}
started
A started
messages is sent when the stream was started successfully.
{"stream":"stats","type":"started"}
stats
stats
messages include the current memory usage.
{"stream":"stats","type":"stats","data":{"memory":{"percent":38.49,"usage":1983938560}}}
heap
The heap
stream is a much more accurate way of determining a server’s RAM usage.
It is, however, only availabe for Java-based server software.
You can subscribe to the heap
stream by sending a start
message while the server is online:
{"stream":"heap","type":"start"}
You can unsubscribe by sending a stop
message:
{"stream":"heap","type":"stop"}
started
A started
messages is sent when the stream was started successfully.
{"stream":"heap","type":"started"}
heap
heap
messages include the current memory usage.
{"stream":"heap","type":"heap","data":{"usage":1225721600}}
Server status
Servers can have different numeric status codes. Depending on a server’s status, only certain features might be available.
0 = OFFLINE
1 = ONLINE
2 = STARTING
3 = STOPPING
4 = RESTARTING
5 = SAVING
6 = LOADING
7 = CRASHED
8 = PENDING
9 = TRANSFERRING
10 = PREPARING
Resource Group ¶
Account ¶
Get account infoGET/account/
Example URI
Headers
Authorization: Bearer {apitoken}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"name": "example",
"email": "[email protected]",
"verified": true,
"credits": 42
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"verified": {
"type": "boolean"
},
"credits": {
"type": "number"
}
}
}
}
}
Servers ¶
List serversGET/servers/
Example URI
Headers
Authorization: Bearer {api-token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"id": "EwYiY9IAMtQBTb6U",
"name": "example",
"address": "example.exaroton.me",
"motd": "Welcome to the server of example!",
"status": 0,
"host": null,
"port": null,
"players": {
"max": 20,
"count": 0,
"list": []
},
"software": {
"id": "kb4p09ABvLjxzedx",
"name": "Vanilla",
"version": "1.16.5"
},
"shared": false
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Get a serverGET/servers/{server}
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": {
"id": "EwYiY9IAMtQBTb6U",
"name": "example",
"address": "example.exaroton.me",
"motd": "Welcome to the server of example!",
"status": 0,
"host": null,
"port": null,
"players": {
"max": 20,
"count": 0,
"list": []
},
"software": {
"id": "kb4p09ABvLjxzedx",
"name": "Vanilla",
"version": "1.16.5"
},
"shared": false
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string",
"description": "Unique server ID"
},
"name": {
"type": "string",
"description": "Server name"
},
"address": {
"type": "string",
"description": "Full server address (e.g. example.exaroton.me)"
},
"motd": {
"type": "string"
},
"status": {
"type": "number",
"description": "0 = OFFLINE; 1 = ONLINE; 2 = STARTING; 3 = STOPPING; 4 = RESTARTING; 5 = SAVING; 6 = LOADING; 7 = CRASHED; 8 = PENDING; 10 = PREPARING;"
},
"host": {
"type": [
"string",
"null"
],
"description": "Host machine the server is running on, only available if the server is online"
},
"port": {
"type": [
"number",
"null"
],
"description": "Port the server is listening on, only available if the server is online"
},
"players": {
"type": "object",
"properties": {
"max": {
"type": "number",
"description": "Maximum player count (slots)"
},
"count": {
"type": "number",
"description": "Current player count"
},
"list": {
"type": "array",
"description": "Current player list (not always available)"
}
}
},
"software": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string",
"description": "Unique software ID"
},
"name": {
"type": "string",
"description": "Software name"
},
"version": {
"type": "string",
"description": "Software version"
}
},
"description": "Information about the installed server software"
},
"shared": {
"type": "boolean",
"description": "Whether the server is accessed via the Share Access feature"
}
}
}
}
}
Logs ¶
Get a server logGET/servers/{server}/logs/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"content": "[16:14:36] [main/INFO]: Environment: authHost='https://authserver.mojang.com',..."
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"content": {
"type": [
"string",
"null"
]
}
}
}
}
}
Upload a server log to mclo.gsGET/servers/{server}/logs/share/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"id": "zCcf8T5",
"url": "https://mclo.gs/zCcf8T5",
"raw": "https://api.mclo.gs/1/raw/zCcf8T5"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"raw": {
"type": "string"
}
}
}
}
}
RAM ¶
Get server RAMGET/servers/{server}/options/ram/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"ram": 7
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"ram": {
"type": "number"
}
}
}
}
}
Change server RAMPOST/servers/{server}/options/ram/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
"ram": 8
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"ram": {
"type": "number"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"ram": 7
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"ram": {
"type": "number"
}
}
}
}
}
MOTD ¶
Get server MOTDGET/servers/{server}/options/motd/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"motd": "\"Welcome to my server!\""
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"motd": {
"type": "string"
}
}
}
}
}
Change server MOTDPOST/servers/{server}/options/motd/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
"motd": "\"Welcome to my server!\""
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"motd": {
"type": "string"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": {
"motd": "\"Welcome to my server!\""
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"motd": {
"type": "string"
}
}
}
}
}
Server actions ¶
Start a serverGET/servers/{server}/start/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Start a server with own creditsPOST/servers/{server}/start/
When starting a server that you have shared access to, you can use your own credits to pay for the server by setting
the useOwnCredits
attribute to true
.
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
Body
{
"useOwnCredits": true
}
Schema
{
"type": "object",
"properties": {
"useOwnCredits": {
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Stop a serverGET/servers/{server}/stop/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Restart a serverGET/servers/{server}/restart/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Execute a server commandPOST/servers/{server}/command/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
"command": "say Hello World"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"command": {
"type": "string"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Get available player lists ¶
Get available player listsGET/servers/{server}/playerlists/
Example URI
- server
ServerID
(required)Unique server ID
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": [
"whitelist",
"ops",
"banned"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": "array",
"description": "players, banned-ips (array[string], nullable)"
}
}
}
Player lists ¶
A player list is a list of players such as the whitelist, ops or bans. Player list entries are usually usernames, but might be something else, e.g. IPs in the banned-ips list. All player list operations are storage operations that might take a while, so try to reduce the amount of requests and combine actions when possible (e.g. adding/deleting multiple entries at once). Player lists are also cached and might not immediately return new results when changed through other methods.
Get player list contentsGET/servers/{server}/playerlists/{list}/
Example URI
- server
ServerID
(required)Unique server ID
- list
string
(required)Player list name
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": [
"exaroton",
"example"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Add entries to player listPUT/servers/{server}/playerlists/{list}/
Example URI
- server
ServerID
(required)Unique server ID
- list
string
(required)Player list name
Headers
Authorization: Bearer {token}
Body
{
"entries": [
"player"
]
}
Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": [
"exaroton",
"example",
"player"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Remove entries from player listDELETE/servers/{server}/playerlists/{list}/
Example URI
- server
ServerID
(required)Unique server ID
- list
string
(required)Player list name
Headers
Authorization: Bearer {token}
Body
{
"entries": [
"player"
]
}
Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": [
"exaroton",
"example"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
File info ¶
Get file informationGET/servers/{server}/files/info/{path}/
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": {
"path": "world/playerdata",
"name": "playerdata",
"isTextFile": false,
"isConfigFile": false,
"isDirectory": true,
"isLog": false,
"isReadable": false,
"isWritable": false,
"size": 4096,
"children": [
{}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"path": {
"type": "string"
},
"name": {
"type": "string"
},
"isTextFile": {
"type": "boolean"
},
"isConfigFile": {
"type": "boolean"
},
"isDirectory": {
"type": "boolean"
},
"isLog": {
"type": "boolean"
},
"isReadable": {
"type": "boolean"
},
"isWritable": {
"type": "boolean"
},
"size": {
"type": "number"
},
"children": {
"type": [
"array",
"null"
]
}
}
}
}
}
File data ¶
Get file dataGET/servers/{server}/files/data/{path}/
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/octet-stream
Write file dataPUT/servers/{server}/files/data/{path}/
Files are written with a simple PUT
request. If the destination file already exists, it will be overwritten,
otherwise a new file will be created.
Directories can be created by sending a write request with the inode/directory
content type.
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Content-Type: application/octet-stream
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Delete a fileDELETE/servers/{server}/files/data/{path}/
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": "Hello, world!",
"data": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"string",
"null"
]
}
}
}
Config files ¶
Get config optionsGET/servers/{server}/files/config/{path}/
Each config option has a key
, a label
, a type
and a value
. Possible types are string
, integer
, float
, boolean
, multiselect
, select
.
Additionally, multiselect and select options have an options
array.
Select options can only have a value from the options array, while multiselect options can also have custom values.
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Authorization: Bearer {token}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"key": "gamemode",
"value": "survival",
"label": "Gamemode",
"type": "select",
"options": [
"survival",
"creative",
"adventure",
"spectator"
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Update config optionsPOST/servers/{server}/files/config/{path}/
Config options to update can be sent as a JSON object in the request body.
Example URI
- server
ServerID
(required)Unique server ID
- path
string
(required)File path
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
"key1": "value1",
"key2": "value2"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"key1": {
"type": "string"
},
"key2": {
"type": "string"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"key": "gamemode",
"value": "survival",
"label": "Gamemode",
"type": "select",
"options": [
"survival",
"creative",
"adventure",
"spectator"
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Credit Pools ¶
List credit poolsGET/billing/pools/
Example URI
Headers
Authorization: Bearer {apitoken}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"id": "X4iJREgqBGFSBtn0",
"name": "example",
"credits": 42,
"servers": 1,
"owner": "X4iJREgqBGFSBtn0",
"isOwner": true,
"members": 1,
"ownShare": 1,
"ownCredits": 42
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
Get a credit poolGET/billing/pools/{pool}
Example URI
- pool
PoolID
(required)Unique pool ID
Headers
Authorization: Bearer {apitoken}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": {
"id": "X4iJREgqBGFSBtn0",
"name": "example",
"credits": 42,
"servers": 1,
"owner": "X4iJREgqBGFSBtn0",
"isOwner": true,
"members": 1,
"ownShare": 1,
"ownCredits": 42
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string",
"description": "Unique pool ID"
},
"name": {
"type": "string",
"description": "Pool name"
},
"credits": {
"type": "number",
"description": "Pool credits"
},
"servers": {
"type": "number",
"description": "Number of servers in the pool"
},
"owner": {
"type": "string",
"description": "Unique account ID of the pool owner"
},
"isOwner": {
"type": "boolean",
"description": "Whether the current user is the owner of the pool"
},
"members": {
"type": "number",
"description": "Number of members in the pool"
},
"ownShare": {
"type": "number",
"description": "Share of the credits in this pool that are owned by the current user"
},
"ownCredits": {
"type": "number",
"description": "Number of credits in the pool that are owned by the current user"
}
}
}
}
}
List pool membersGET/billing/pools/{pool}/members/
Example URI
- pool
PoolID
(required)Unique pool ID
Headers
Authorization: Bearer {apitoken}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"account": "X4iJREgqBGFSBtn0",
"name": "example",
"share": 1,
"credits": 42,
"isOwner": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}
List pool serversGET/billing/pools/{pool}/servers/
Example URI
- pool
PoolID
(required)Unique pool ID
Headers
Authorization: Bearer {apitoken}
200
Headers
Content-Type: application/json
Body
{
"success": true,
"error": null,
"data": [
{
"id": "EwYiY9IAMtQBTb6U",
"name": "example",
"address": "example.exaroton.me",
"motd": "Welcome to the server of example!",
"status": 0,
"host": null,
"port": null,
"players": {
"max": 20,
"count": 0,
"list": []
},
"software": {
"id": "kb4p09ABvLjxzedx",
"name": "Vanilla",
"version": "1.16.5"
},
"shared": false
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
},
"data": {
"type": [
"array",
"null"
]
}
}
}