Access all API commands using the following general format:
https://<hostname>:<port>/api/<api_version>/<end_point>/<id>/<task>
hostname
: the URI for the Uptime Infrastructure Monitor Controller installationport
: the Uptime Infrastructure Monitor Controller listener port, typically 9997api_version
: the version of the API to run commands against (see Version Control below)end_point
: the type of object you want to work with in Uptime Infrastructure Monitor (see Endpoints below)id
: the numerical ID of the object you are interested intask
: where supported, specific tasks to be executed against the provided object
Methods
Accessing the standard format URL using different HTTP methods produces different results on the target object:
POST
: add an object or trigger an actionPUT
: edit an objectDELETE
: delete an objectGET
: view the details of an object
Returned Results
All returned results are provided in JSON format. Successfully completed requests return an HTTP code in the 200 range.
Authentication
Authentication to the API is based on the basic HTTP basic authentication template: each request to the API must provide a username and password pair. To safeguard this information, all requests to the Uptime Infrastructure Monitor API must use SSL communication.
Each user in Uptime Infrastructure Monitor has access to the API. User-visibility and role-based permissions are applied to each API call, ensuring users are only able to access and modify the same information they would be able to access from the Uptime Infrastructure Monitor UI.
Version Control
The version of the API you wish to access is embedded directly into the URL. Bug fixes and non-breaking feature changes are made without changing the version number. Major feature changes or breaking changes introduce a new version number. Backward support for previous API version is currently not defined.
Non-breaking changes include:
- adding fields or functions to input requests
- adding fields to returned data
Breaking changes include:
- changing or removing fields or functions on input requests
- changing or removing fields in returned data
- changing the URI of any existing function
Endpoints
Endpoints define the different types of Uptime Infrastructure Monitor objects that you can work with using the API. The currently supported endpoints include the following:
/elements
– Uptime Infrastructure Monitor Elements
/monitors
– Uptime Infrastructure Monitor service monitors
/groups
– Uptime Infrastructure Monitor Element groups
The following is a summary of presently available resources:
Working with Elements
list all Elements and attached service monitors; display an Element's information and attached service monitors; display an Element's information and its current status:
GET
GET
GET
/api/v1/elements
/{id}/api/v1/elements
/status
/{id}/api/v1/elements
update Element configuration:
PUT
/api/v1
/elements
/{id}
add, delete Element:
POST
DELETE
/api/v1/elements
/api/v1/elements/{id}
Working with service monitors
list all service monitors; display a specific server monitor; display status information for a service monitor:
GET
GET
GET
/api/v1/monitors
/{id}/api/v1/monitors
/status
/{id}/api/v1/monitors
Working with Element groups
list all Element groups, member Elements, and monitors; list an Element group's member Elements and monitors; display the status of an Element group's member Elements and monitors:
GET
GET
GET
/api/v1/groups
/{id}/api/v1/groups
/status
/{id}/api/v1/groups
Error Handling
If the provided command produces an error, an HTTP status in the 400 range is returned including a specific status code and a message with further details about the error. All error messages are returned in JSON format and look like the following:
{ "error" : "Required field missing" , "errorDescription" : null } |