Interact with our system programmatically from your own applications
The API is similar to the RESTful architecture, accepting and returning JSON data. Authentication is implemented as HTTP Basic Authentication over SSL (https) and Bearer token (generated from Users page -> Tokens tab). Failed authentication attempts return a 401 unauthorized. 20 failed authentication attempts lock out the requesting IP for 5 minutes (no response).
The examples below include the HTML contenteditable attribute to allow adjustment of credentials and/or IP address prior to copying and pasting elsewhere – e.g., your terminal.
URI: https://api.macstadium.com/core/api/servers
Request: GET
Return: JSON array of array{id, name, ip, type, location, status, creation date, cancel date} or error string. Servers with multiple IPs will have multiple listings.
Example 1:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -u user:pass https://api.macstadium.com/core/api/servers
Example 2:
curl -H "Accept: application/json" -H "Content-Type: application/json" -H 'Authorization: Bearer {token}' -X GET https://api.macstadium.com/core/api/servers
URI: https://api.macstadium.com/core/api/servers/{id or ip_address}
Request: GET
Return: JSON array{id,name,power, type, location, status, creation date, cancel date} or error string. Power can be ‘On’, ‘Off’, ‘Rebooting’, or ‘Error’.
Example 1:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -u user:pass https://api.macstadium.com/core/api/servers/192.168.1.101
Example 2:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -H 'Authorization: Bearer {token}' https://api.macstadium.com/core/api/servers/192.168.1.101
URI: https://api.macstadium.com/core/api/servers/{id or ip_address}/{action}
Request: GET
Params: Action can be ‘On’,’Off’, or ‘Reboot’ (case insensitive).
Return: String. ‘True’ on success or an error message.
Example 1:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -u user:pass https://api.macstadium.com/core/api/servers/192.168.1.101/reboot
Example 2:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -H 'Authorization: Bearer {token}' https://api.macstadium.com/core/api/servers/192.168.1.101/reboot