Better Uptime Incidents API
View and manage incidents triggered by monitors
View and manage incidents triggered by monitors
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/betteruptime-incidents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Better Stack Uptime Heartbeats Incidents API
description: The Better Stack Uptime API provides programmatic access to manage uptime monitors, heartbeats, on-call schedules, incidents, status pages, integrations, team members, and reporting. The API follows the JSON:API specification and uses Bearer token authentication.
version: v2
contact:
name: Better Stack Support
url: https://betterstack.com/docs/uptime/api/getting-started-with-uptime-api/
termsOfService: https://betterstack.com/terms
license:
name: Proprietary
url: https://betterstack.com/terms
servers:
- url: https://uptime.betterstack.com/api/v2
description: Better Stack Uptime API v2
- url: https://uptime.betterstack.com/api/v3
description: Better Stack Uptime API v3 (incidents)
security:
- BearerAuth: []
tags:
- name: Incidents
description: View and manage incidents triggered by monitors
paths:
/incidents:
get:
operationId: listIncidents
summary: List incidents
description: Returns a list of all incidents with optional filtering.
tags:
- Incidents
servers:
- url: https://uptime.betterstack.com/api/v3
parameters:
- name: team_name
in: query
description: Filter by team name
schema:
type: string
- name: from
in: query
description: Start date for filtering (YYYY-MM-DD)
schema:
type: string
format: date
- name: to
in: query
description: End date for filtering (YYYY-MM-DD)
schema:
type: string
format: date
- name: monitor_id
in: query
description: Filter by monitor ID
schema:
type: string
- name: heartbeat_id
in: query
description: Filter by heartbeat ID
schema:
type: string
- name: resolved
in: query
description: Filter by resolved status
schema:
type: boolean
- name: acknowledged
in: query
description: Filter by acknowledged status
schema:
type: boolean
- name: page
in: query
description: Page number for pagination
schema:
type: integer
responses:
'200':
description: A list of incidents
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
IncidentListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/IncidentResource'
pagination:
$ref: '#/components/schemas/Pagination'
ErrorResponse:
type: object
properties:
errors:
type: array
items:
type: object
properties:
title:
type: string
detail:
type: string
Pagination:
type: object
properties:
first:
type: string
format: uri
last:
type: string
format: uri
prev:
type:
- string
- 'null'
format: uri
next:
type:
- string
- 'null'
format: uri
IncidentAttributes:
type: object
properties:
name:
type: string
description: Incident name
cause:
type: string
description: Root cause description
status:
type: string
description: Current incident status
started_at:
type: string
format: date-time
acknowledged_at:
type:
- string
- 'null'
format: date-time
resolved_at:
type:
- string
- 'null'
format: date-time
acknowledged_by:
type:
- string
- 'null'
resolved_by:
type:
- string
- 'null'
team_name:
type: string
url:
type: string
format: uri
http_method:
type: string
call:
type: boolean
sms:
type: boolean
email:
type: boolean
push:
type: boolean
regions:
type: array
items:
type: string
response_content:
type:
- string
- 'null'
screenshot_url:
type:
- string
- 'null'
format: uri
metadata:
type: object
additionalProperties: true
IncidentResource:
type: object
properties:
id:
type: string
type:
type: string
enum:
- incident
attributes:
$ref: '#/components/schemas/IncidentAttributes'
responses:
Unauthorized:
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Bearer token obtained from Better Stack account settings