API Endpoints

Complete reference for all Upstat API endpoints.

Monitors

Manage your monitors programmatically.

List Monitors

GET /v1/monitors

Returns all monitors for your account with their current status.

Create Monitor

POST /v1/monitors

Example request:

{
  "name": "Production API",
  "url": "https://api.example.com/health",
  "type": "http",
  "interval": 60,
  "regions": ["us-east-1", "eu-west-1"]
}

Update Monitor

PUT /v1/monitors/{uuid}

Update monitor configuration or pause/resume monitoring.

Delete Monitor

DELETE /v1/monitors/{uuid}

![Placeholder: API Testing Tool Showing Monitor Endpoints]

Incidents

Create and manage incidents via API.

List Incidents

GET /v1/incidents

Query parameters:

  • status - Filter by status (open, acknowledged, resolved)
  • severity - Filter by severity (P1, P2, P3, P4)
  • limit - Number of results (default: 50)

Create Incident

POST /v1/incidents

Example request:

{
  "title": "Database connection issues",
  "severity": "P2",
  "description": "Unable to connect to primary database"
}

Update Incident

PUT /v1/incidents/{uuid}

Update status, severity, or add comments.

Add Comment

POST /v1/incidents/{uuid}/comments

Add updates to an incident timeline.

Status Pages

Update your public status page.

Get Status

GET /v1/status-pages/{uuid}

Returns current status page configuration and active incidents.

Update Component Status

PUT /v1/status-pages/{uuid}/components/{component_uuid}

Example request:

{
  "status": "partial_outage",
  "message": "Experiencing elevated error rates"
}

Create Maintenance

POST /v1/status-pages/{uuid}/maintenances

Schedule upcoming maintenance windows.

![Placeholder: Status Page API Response Example]

Runbooks

Execute runbooks programmatically.

List Runbooks

GET /v1/runbooks

Returns published runbooks available for execution.

Start Execution

POST /v1/runbooks/{uuid}/execute

Begin executing a runbook, returns execution ID.

Get Execution Status

GET /v1/runbooks/executions/{execution_uuid}

Check progress of runbook execution.

Catalog

Manage your service catalog.

List Entities

GET /v1/catalog/entities

Returns all catalog entities with their relationships.

Create Entity

POST /v1/catalog/entities

Add new services, applications, or infrastructure to your catalog.

Update Entity

PUT /v1/catalog/entities/{uuid}

Update entity properties or relationships.

Pagination

List endpoints support pagination:

GET /v1/monitors?page=2&limit=50

Response includes pagination metadata:

{
  "data": [...],
  "pagination": {
    "page": 2,
    "limit": 50,
    "total": 234,
    "pages": 5
  }
}

Error Responses

All errors follow a consistent format:

{
  "status": "error",
  "message": "Validation failed",
  "errors": {
    "name": "Name is required",
    "url": "Invalid URL format"
  }
}

Common HTTP status codes:

  • 400 - Bad Request (validation errors)
  • 401 - Unauthorized (invalid API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found
  • 429 - Too Many Requests (rate limited)
  • 500 - Internal Server Error

Learn more