The Dotcom-Monitor REST API allows developers to programmatically manage monitoring devices, tasks, alerts, and retrieve performance data using standard HTTP(S) methods (GET, POST, PUT, DELETE). This enables custom integrations, automated workflows, and custom reporting outside the web interface.
You can also use the XML feed for subscribing to monitoring data and presenting it in your own format. See Using the XML Reporting Service (XRS) Tool for details.
The Dotcom-Monitor API users can create their own custom scripts or applications to interact with the settings and view the monitored data in their own customized environment. Our system uses REST API that enables interaction with the Dotcom-Monitor web site programmatically using the most popular methods for working with data via HTTP(S) requests (GET, POST, PUT, DELETE). Almost all Dotcom-Monitor objects can be accessed via REST API and almost every aspect of Dotcom-Monitor service functionality can be managed. Using API calls the developers can create and remove devices and tasks, postpone and start them, create and manage alert groups, templates, filters and schedulers, obtain device status information plus many other options.
In general, the Dotcom-Monitor API can be used for the following tasks:
- Third-party integration with the Dotcom-Monitor Monitoring solution.
- Data download and upload.
- Data modification.
The most common actions executed via the REST API:
- Accessing lists of monitoring platforms, devices, targets, schedulers, locations, alert groups, filters, alert templates.
- Accessing detailed info on platforms, devices and targets.
- Editing devices, targets, schedulers, alert groups and templates, filters.
- Creating a new dotcom-Monitor object ( devices, targets, schedulers, etc.).
- Managing audit objects.
The Dotcom-Monitor API is broken out into 10 resource types:
- Platform: All monitoring tasks fall onto one of five different platforms.
- Devices: A monitored device is an organized “set” of monitoring tasks that contains either a single monitoring task, a sequence of monitoring tasks, a monitoring script that includes tasks, or a combination of all three.
- Tasks: A task is any single monitoring activity, such as monitoring a target (URL, Mail Server, FTP Server, etc.).
- Frequency: Defines how often monitoring sessions will be executed.
- Scheduler: A scheduler details when a task will or will not be run.
- Location: A monitoring location available within the Dotcom-Monitor worldwide monitoring network.
- Alert Group: Setting up a group places recipients of a report and/or alert into a group. Each recipient in the group can have a unique alert template.
- Alert Template: Template defines alert format.
- Filter: A filter is a set of rules, which determine how monitoring responses are processed and displayed.
- Audit: Provides historical information on any account modification.
The table below shows which request type and action are supported by each resource type. See the Monitoring Methods section for detailed descriptions.
| Resource type | Request Method | URI(s) | Description |
|---|---|---|---|
| Platform | GET | /platforms | Return list of available platforms |
| Device | GET | /devices/{platform} | Get device list by platform. |
| GET | /device/{deviceId} | Get Device info | |
| POST | /devices?verb=PUT | Create New Device | |
| PUT | /devices | ||
| POST | /device/{deviceId}/DisableAlert/ | Disable Alerts | |
| POST | /device/{deviceId} | Edit Device | |
| POST | /device/{deviceId}?verb=delete | Delete Device | |
| DELETE | /device/{deviceId} | ||
| Task | GET | /device/{deviceid}/tasks | Get list of tasks under a device |
| POST | /tasks?verb=PUT | Create new task | |
| PUT | /tasks | ||
| GET | /task/{TaskId} | Get task info | |
| POST | /task/{TaskId} | Edit task | |
| POST | /task/{TaskId}?verb=delete | Delete task | |
| DELETE | /task/{TaskId} | ||
| Frequency | GET | /frequencies/{platform_name} | Get available freq. by platform. |
| Scheduler | GET | /schedulers | Get list of schedulers |
| GET | /Scheduler/{Scheduler_ID} | Get specific scheduler info | |
| POST | /schedulers?verb=PUT | Create new scheduler | |
| PUT | schedulers | ||
| POST | /scheduler/{ scheduler ID} | Edit scheduler | |
| POST | /Scheduler/{Scheduler_Id}?verb=delete | Delete scheduler | |
| DELETE | /Scheduler/{Scheduler_Id} | ||
| Location | GET | /locations/{platform_name} | Get list of available locations |
| Alert Group | GET | /groups | Get list of alert groups |
| POST | /groups?verb=PUT/groups | Create alert group | |
| PUT | groups/groups | ||
| GET | /Group/{Group_ID} | Get alert group info | |
| POST | /Group/{Group_ID} | Edit alert group | |
| POST | /Group/{Group_Id}?verb=delete | Delete group | |
| DELETE | Group/{Group_Id} | ||
| Alert template | GET | /templates | Get list of alert templates |
| POST | /templates?verb=PUT/templates | Create new alert template | |
| PUT | /templates/templates | ||
| GET | /template/{Template_ID} | Get alert template info | |
| POST | /template/{Template_ID} | Edit alert template | |
| POST | /template/{Template_Id}?verb=delete | Delete template | |
| DELETE | /template/{Template_Id} | ||
| Filter | GET | /filters | Get a list of filters |
| POST | /filters?verb=PUT | Create new filter | |
| PUT | /filters | ||
| GET | /filter/{filter_ID} | Get specific filter information | |
| POST | /filter/{filter_ID} | Edit filter | |
| POST | /filter/{filter_ID}?verb=delete | Delete filter | |
| DELETE | /filter/{filter_ID} | ||
| Audit | GET | /audit/list | Get list audited objects for current user for the last 24h. |
| GET | /audit/object/{sample ID} | Get contents of audit for the particular ID | |
| POST | /audit/list | Get filtered list of audited objects. |
