Public API
The Monitorable API lets scripts, Terraform, Ansible, CI jobs and assistants do what you do in the dashboard: list servers, read their current and historical metrics, acknowledge incidents, mute alerts during maintenance, and add or remove servers. It is REST with JSON bodies over HTTPS. To let an AI assistant do the same, connect it to the MCP server with the same kind of key.
| Base URL | https://api.monitorable.io/v1 |
| Format | JSON over HTTPS; errors are application/problem+json |
| Authentication | Authorization: Bearer mon_live_… — an organization API key |
| Machine-readable description | https://api.monitorable.io/openapi.json (OpenAPI 3.1) |
Try it with a key from the dashboard:
curl -H "Authorization: Bearer <your-api-key>" https://api.monitorable.io/v1/meGet a key
Section titled “Get a key”Organization owners and admins create keys in the dashboard under Team → API keys. Pick a preset for the job — the key’s scopes decide which endpoints it can call:
| Preset | For |
|---|---|
| Read-only | Dashboards, reports and assistants that only look. |
| Automation | Terraform, Ansible and CI: create, rename, delete and rotate servers, assign alert templates, mute during maintenance. It cannot read metrics or incidents. |
| Enrollment | Images and cloud-init: a key that can only register servers. |
| Full | Everything above in one key. |
API keys and scopes lists every scope and the scope each endpoint needs. The API is included on every plan; the number of keys depends on the plan — see pricing.
Add servers without the dashboard
Section titled “Add servers without the dashboard”There are two ways, both described in Add servers without the dashboard:
- Create, then install. Your automation calls
POST /v1/servers, gets the agent’s install command back, and runs it on the host. - Enroll from the host. An enrollment key goes into the image or the cloud-init user data, and each host registers itself when it boots.
What is in this section
Section titled “What is in this section”- API keys and scopes — creating, using and revoking keys; scopes, presets and roles; the scope each endpoint needs.
- Add servers without the dashboard — Terraform, cloud-init and Ansible examples.
- Terraform provider — manage servers, alert template assignment and maintenance mutes with Terraform or OpenTofu.
- API reference — every endpoint, its parameters and fields.
- Errors — the error body and every error code.
- Rate limits and retries — limits per key, response headers, safe retries.
Versioning
Section titled “Versioning”Every path starts with /v1. Changes within v1 are additive — new
endpoints, new optional parameters, new response fields — so write clients
that ignore fields they do not know. The info.version of
openapi.json is the date of the
last additive change. A breaking change would ship as /v2, with
Deprecation and Sunset headers on v1 for at least 12 months.