API
Interact with our system programmatically from your own applications
How it works
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 content editable attribute to allow adjustment of credentials and/or IP address prior to copying and pasting elsewhere – e.g., your terminal.
List All Servers
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.
Example1:
curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET -u user:pass https://api.macstadium.com/core/api/servers
Example2:
curl -H "Accept: application/json" -H "Content-Type: application/json" -H 'Authorization: Bearer {token}' -X GET https://api.macstadium.com/core/api/servers
Server Status by ID/IP
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’.
Example1:
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
Example2:
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
Server Action (Power) by ID/IP
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.
Example1:
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
Example2:
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
Updated 9 months ago