Ionhour Docs

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://app.failsignal.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://app.failsignal.com/api/checks

The signal ping endpoint is the exception — it requires no authentication:

curl https://app.failsignal.com/api/signals/ping/CHECK_TOKEN

API 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.
  • 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 CodeMeaning
400Validation error or bad request
401Missing or invalid authentication
403Insufficient permissions or CSRF mismatch
404Resource not found
409Conflict (e.g., duplicate resource)
429Rate limit exceeded