API Reference

The AlertFlow REST API gives you programmatic access to all alert, incident, workflow, and configuration data in your organization.

Base URL

https://app.yourdomain.com/api/v1

All API endpoints are under /api/v1. The ingest endpoint (for sending alerts) is at a separate path — see Ingest Webhook.

Live OpenAPI spec

The full OpenAPI 3.0.3 spec is available at:

GET https://app.yourdomain.com/api/v1/openapi.json

Import this URL into Postman, Insomnia, or any OpenAPI-compatible client to get auto-generated request builders with your API key.

Response format

All responses follow the same envelope:

Success (list):

{
  "data": [ ... ],
  "meta": {
    "limit": 25,
    "hasMore": true,
    "nextCursor": "clm123abc",
    "total": 1250
  }
}

Success (single object):

{
  "data": { ... }
}

Error:

{
  "error": "Alert not found",
  "code": "NOT_FOUND",
  "details": null
}

Pagination

List endpoints use cursor-based pagination. Pass the nextCursor from the previous response as the cursor query parameter to fetch the next page.

# Page 1
GET /api/v1/alerts?limit=25

# Page 2 (use nextCursor from page 1's meta)
GET /api/v1/alerts?limit=25&cursor=clm123abc
  • total is only returned on the first page (no cursor). Cache it in your UI.
  • hasMore: false means you've reached the last page.

Rate limits

LimitValue
Authenticated API requests300 per minute per org
Ingest webhook (per token)60 per minute
API key creation10 per day per org

Rate-limited responses return 429 Too Many Requests with a Retry-After header (seconds until the window resets).

SDKs and client libraries

There's no official SDK yet. The OpenAPI spec works with any OpenAPI code generator:

# Generate a TypeScript client
npx openapi-typescript https://app.yourdomain.com/api/v1/openapi.json -o types/alertflow.ts

# Generate a Python client
openapi-python-client generate --url https://app.yourdomain.com/api/v1/openapi.json