API Reference

OpsBrief API

Build custom integrations with the OpsBrief REST API. Access events, manage channels, and automate workflows programmatically.

Base URL

https://api.opsbrief.io/v1

API Features

API Key Authentication

Simple Bearer token authentication for all API requests

JSON Responses

All responses are returned in JSON format with consistent structure

Rate Limited

1000 requests per minute for Team plans, higher for Enterprise

Authentication

All API requests require authentication using a Bearer token. Include your API key in the Authorization header:

curl -X GET "https://api.opsbrief.io/v1/events" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Endpoints

GET/events

List all events for your organization with optional filters

Parameters

fromstringStart date (ISO 8601)
tostringEnd date (ISO 8601)
typestringEvent type filter (e.g., RELEASE, INCIDENT)
channel_idstringFilter by channel ID
limitintegerNumber of results (default: 50, max: 100)
offsetintegerPagination offset

Response

{
  "data": [
    {
      "id": "evt_123abc",
      "type": "RELEASE",
      "title": "API v2.3.1 deployed to production",
      "description": "New release with bug fixes and performance improvements",
      "severity": "MEDIUM",
      "channel_id": "ch_456def",
      "channel_name": "#engineering",
      "platform": "slack",
      "created_at": "2024-12-09T14:30:00Z"
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 50,
    "offset": 0
  }
}
GET/events/:id

Get a single event by ID

Response

{
  "id": "evt_123abc",
  "type": "RELEASE",
  "title": "API v2.3.1 deployed to production",
  "description": "New release with bug fixes and performance improvements",
  "severity": "MEDIUM",
  "channel_id": "ch_456def",
  "channel_name": "#engineering",
  "platform": "slack",
  "source_url": "https://slack.com/...",
  "tags": ["api", "backend"],
  "created_at": "2024-12-09T14:30:00Z",
  "updated_at": "2024-12-09T14:30:00Z"
}
GET/channels

List all monitored channels across all integrations

Response

{
  "data": [
    {
      "id": "ch_456def",
      "name": "#engineering",
      "platform": "slack",
      "workspace_name": "Acme Corp",
      "is_monitored": true,
      "event_types": ["RELEASE", "INCIDENT", "DEPLOYMENT"],
      "created_at": "2024-12-01T10:00:00Z"
    }
  ]
}
POST/webhooks

Create a webhook to receive real-time event notifications

Parameters

urlstringWebhook endpoint URL (required)
eventsarrayEvent types to subscribe to
secretstringOptional secret for signature verification

Response

{
  "id": "wh_789ghi",
  "url": "https://your-app.com/webhooks/opsbrief",
  "events": ["RELEASE", "INCIDENT"],
  "secret": "whsec_...",
  "active": true,
  "created_at": "2024-12-09T15:00:00Z"
}

Webhook Events

When an event is detected, OpsBrief will send a POST request to your webhook URL with the following payload:

{
  "event": "event.created",
  "timestamp": "2024-12-09T14:30:00Z",
  "data": {
    "id": "evt_123abc",
    "type": "INCIDENT",
    "title": "Database latency spike detected",
    "severity": "HIGH",
    "channel_name": "#engineering-alerts"
  }
}

SDKs & Libraries

Official SDKs coming soon. In the meantime, use any HTTP client to interact with the API.

Node.js SDK
Coming Soon
Python SDK
Coming Soon
Go SDK
Coming Soon

Need Help?

Have questions about the API? Our team is here to help.