API Reference
Ionhour REST API documentation.
The Ionhour API lets you programmatically manage checks, view incidents, and integrate monitoring into your CI/CD pipelines.
Base URL: https://api.ionhour.com/api
Quick Start
Most API requests require a Bearer token. See Authentication for details on obtaining tokens and using API keys.
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.ionhour.com/api/checksThe signal ping endpoint is the exception — it requires no authentication:
curl https://signal.ionhour.com/api/signals/ping/CHECK_TOKENAPI Sections
Authentication
API keys, token-based auth, rate limits, and CSRF protection.
Checks
Create, list, update, pause, and delete checks. Includes outbound check configuration.
Incidents
List and filter incidents, acknowledge, add notes, and view event timelines.
Signals
Send heartbeat pings, query signal history, and subscribe to real-time updates via SSE.
Status Pages
Manage status pages, components, announcements, and public feeds.
Deployments
Create deployment windows, auto-pause checks, and track deployment history.
Dependencies
Manage external service dependencies and track their health impact.
Escalation Rules
Configure time-based escalation chains for incident alerts.
MCP Integration
Connect AI assistants to Ionhour using the Model Context Protocol.
Response Format
Paginated Lists
All list endpoints return paginated responses:
{
"items": [],
"total": 0,
"page": 1,
"itemCount": 0,
"pageCount": 0,
"limit": 20
}Single Resources
Single resource endpoints return the entity directly (no wrapper object).
Errors
Error responses follow a standard format:
{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}| Status Code | Meaning |
|---|---|
400 | Validation error or bad request |
401 | Missing or invalid authentication |
403 | Insufficient permissions or CSRF mismatch |
404 | Resource not found |
409 | Conflict (e.g., duplicate resource) |
429 | Rate limit exceeded |