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.
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. |
