API Overview
Cronitorex exposes two APIs, each with its own API key:
| API | Base URL | Key prefix | Purpose |
|---|---|---|---|
| Ingest API | https://api.cronitorex.com | ck_ | Receive monitoring events (pings) from your jobs and services |
| Management API | https://app.cronitorex.com/api/v1 | mk_ | Manage monitors as manifest documents: list, get, create, update |
Authentication
Both APIs authenticate with a Bearer token, but each uses its own key:
Authorization: Bearer <api_key>- The Ingest API key (
ck_...) authenticates pings only. - The Management API key (
mk_...) authenticates/api/v1only.
Generate both keys in the panel under Settings → API key. The Ingest API additionally accepts an ?api_key= query parameter for ad-hoc GET pings (see GET /ping).
Scoped management keys
Besides the personal mk_ key (full access), you can create additional named keys under Settings → API key → Management API, each with an explicit set of scopes:
| Scope | Grants | Typical use |
|---|---|---|
read | GET requests: list, get, export | dashboards, backups of your config |
write | POST / PUT: create, update, apply | CI deploys, integrations |
delete | DELETE (still requires ?confirm=true) | almost never; deleting a monitor erases its event history |
A request outside the key’s scopes returns 403 with error_code: "insufficient_scope" and a message naming the missing scope. Keys are revocable independently, so a leaked CI key does not force rotating anything else.
Recommended setup for automation: a read + write key. Since apply never deletes monitors, that key covers a full config-as-code workflow with no ability to destroy data.
Content type
All request bodies must be application/json. All responses are application/json.
Rate limits
Each API has its own limit:
| API | Limit | On exceeding |
|---|---|---|
| Ingest API | 10 requests/second, burst 20 | 429 Too Many Requests |
| Management API | 60 requests/minute per API key | 429 + X-RateLimit-Limit / X-RateLimit-Remaining headers |
Endpoints
Ingest API
| Method | Path | Description |
|---|---|---|
POST | /ping | Submit a monitoring event — see POST /ping |
GET | /ping/{monitor} | Submit an event via query params — see GET /ping |
GET | /health | API health check (no auth required) |
Status vocabulary and event types: Event Types & States.
Management API
| Method | Path | Description |
|---|---|---|
GET | /api/v1/account | Account plan and monitor usage |
GET | /api/v1/monitors | List monitor manifests (filter with ?kind=) |
GET | /api/v1/monitors/{uuid} | Get a single monitor |
GET | /api/v1/monitors/export | Export the whole account as a bundle |
POST | /api/v1/monitors | Create a monitor from a manifest |
POST | /api/v1/monitors/apply | Apply a bundle (config-as-code, never deletes) |
PUT | /api/v1/monitors/{uuid} | Update a monitor (full manifest) |
DELETE | /api/v1/monitors/{uuid} | Delete with explicit ?confirm=true; a bare DELETE returns 403 |
Full reference with the manifest format: Management API.
Interactive tools
- Swagger UI — try both APIs in the browser
- Postman Collection — ready-made requests for all endpoints