English
API Reference
Overview

API Reference

Programmatic access to ReliaPulse.

Overview

The ReliaPulse API is a RESTful API that allows you to:

  • Manage components, incidents, and maintenances programmatically
  • Integrate with CI/CD pipelines
  • Build custom integrations
  • Automate status updates

Base URL

https://your-domain.com/api/v1

For local development:

http://localhost:3000/api/v1

Interactive API Explorer

Access the Swagger UI documentation at:

https://your-domain.com/api/docs

This provides:

  • Interactive endpoint testing
  • Request/response schemas
  • Authentication testing

Quick Start

1. Create an API Key

  1. Go to Settings > API Keys
  2. Click "New API Key"
  3. Select permissions
  4. Copy the key (shown only once)

2. Make Your First Request

curl -X GET https://your-domain.com/api/v1/components \
  -H "Authorization: Bearer sk_live_xxxxxxxx"

3. Handle the Response

{
  "data": [
    {
      "id": "comp_123",
      "name": "API Server",
      "type": "ENDPOINT",
      "status": "operational"
    }
  ],
  "meta": {
    "total": 1,
    "page": 1,
    "pageSize": 20
  }
}

Authentication

All API requests require authentication via API key:

Authorization: Bearer sk_live_xxxxxxxx

See Authentication for details.

Response Format

All responses follow a consistent format:

Success Response

{
  "data": { ... },
  "meta": {
    "total": 100,
    "page": 1,
    "pageSize": 20
  }
}

Error Response

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Component not found",
    "details": {}
  }
}

Common Patterns

Pagination

GET /api/v1/components?page=1&pageSize=20

Filtering

GET /api/v1/components?type=ENDPOINT&status=operational

Sorting

GET /api/v1/components?sortBy=name&sortOrder=asc

Expanding Related Data

GET /api/v1/components/{id}?include=subComponents,monitors

API Endpoints

Core Resources

ResourceEndpointDescription
Components/componentsServices and infrastructure
Incidents/incidentsService disruptions
Maintenances/maintenancesScheduled downtime
Status Pages/status-pagesPublic status pages
Subscribers/subscribersNotification recipients

Configuration

ResourceEndpointDescription
API Keys/api-keysManage API access
Notification Channels/notification-channelsAlert configuration
SLA/slaService level agreements
Integrations/integrationsExternal services

Public API

Public endpoints require no authentication:

EndpointDescription
/public/status/{slug}Public status data
/public/status/{slug}/incidentsPublic incidents
/public/status/{slug}/feedRSS/Atom/JSON feed

Rate Limits

TierLimit
Default100 requests/minute
Per endpoint20 requests/minute

See Rate Limits for details.

SDK Support

Official SDK support coming soon. For now, use any HTTP client:

curl

curl -X GET https://api.example.com/api/v1/components \
  -H "Authorization: Bearer sk_live_xxx"

JavaScript (fetch)

const response = await fetch('https://api.example.com/api/v1/components', {
  headers: {
    'Authorization': 'Bearer sk_live_xxx'
  }
});
const data = await response.json();

Python (requests)

import requests
 
response = requests.get(
    'https://api.example.com/api/v1/components',
    headers={'Authorization': 'Bearer sk_live_xxx'}
)
data = response.json()

Webhook Integration

Receive real-time updates via webhooks:

  1. Create a webhook subscriber
  2. Configure endpoint URL
  3. Receive POST requests on events

See Subscribers for webhook setup.

API Versioning

The current API version is v1. The version is included in the URL path:

/api/v1/components

Breaking changes will result in a new version (v2). Deprecation notices will be provided at least 6 months before version sunset.

Support

  • OpenAPI Spec: Available at /api/docs
  • GitHub Issues: Report bugs and request features
  • Documentation: You're reading it!