Skip to content

API Reference

This page provides a structured overview of every endpoint category in the Overwatch REST API. For interactive testing, open the Swagger UI at /docs on your Overwatch instance.

PropertyValue
Base URLhttps://<your-instance>/api/v1
ProtocolHTTPS (HTTP allowed in local development)
Content-Typeapplication/json (except login, which accepts application/x-www-form-urlencoded)
AuthenticationJWT Bearer token or API key
VersioningURL path (/api/v1/)

Tip: Every Overwatch instance exposes three documentation interfaces. Swagger UI is available at /docs, ReDoc at /redoc, and the raw OpenAPI spec at /openapi.json. Use these to explore request schemas and try endpoints directly.

All endpoints (except POST /auth/login and POST /auth/register) require authentication. Overwatch supports two methods.

Include the token in the Authorization header:

Authorization: Bearer <access_token>

Tokens expire after 1 hour. Use the refresh endpoint to obtain a new access token without re-authenticating.

Include the key in the X-API-Key header:

X-API-Key: <your_api_key>

API keys are long-lived and can be scoped to specific permissions. Create and manage them through the /api-keys endpoints or the Settings page in the dashboard.

Note: For a detailed walkthrough of both authentication methods, see the Authentication guide.


Handles user login, registration, token refresh, password management, and email verification.

MethodEndpointDescription
POST/auth/loginAuthenticate and receive access and refresh tokens
POST/auth/registerCreate a new user account and organization
POST/auth/refreshExchange a refresh token for a new access token
POST/auth/logoutRevoke the current token and clear session cookies
GET/auth/meRetrieve the authenticated user’s profile
POST/auth/password/resetRequest a password reset email
POST/auth/password/reset/confirmComplete a password reset with the emailed token
POST/auth/password/changeChange the current user’s password (requires current password)
POST/auth/verify-emailVerify an email address with a verification token
POST/auth/resend-verificationResend the email verification link

Single Sign-On authentication for supported identity providers (Azure AD, Okta, Google Workspace, SAML 2.0).

MethodEndpointDescription
GET/sso/initiateBegin the SSO flow for a given provider
POST/sso/callbackHandle the identity provider’s redirect callback

Full lifecycle management for incidents, including creation, status updates, assignment, and search.

MethodEndpointDescription
GET/incidentsList incidents with filtering by status, severity, and date range
POST/incidentsCreate a new incident
GET/incidents/{id}Retrieve full incident details, including timeline and analysis
PATCH/incidents/{id}Update incident fields (status, severity, assignee, description)

Query parameters for listing:

  • status — Filter by status (active, investigating, mitigated, resolved)
  • severity — Filter by severity (critical, high, medium, low)
  • limit / offset — Pagination controls
  • search — Full-text search across title and description

Create and manage operational runbooks. Execute procedures with tracked step-by-step progress.

MethodEndpointDescription
GET/proceduresList available procedures
POST/proceduresCreate a new procedure with steps
GET/procedures/{id}Retrieve procedure details
PATCH/procedures/{id}Update a procedure definition
DELETE/procedures/{id}Delete a procedure
POST/procedures/{id}/executeStart a new execution of this procedure

Track and manage procedure execution instances. Each execution records the outcome of every step.

MethodEndpointDescription
GET/executionsList executions (optionally filtered by procedure or incident)
GET/executions/{id}Retrieve execution details with step statuses
PATCH/executions/{id}Update execution status or step outcomes

Configure connections to external monitoring platforms and services.

MethodEndpointDescription
GET/integrationsList configured integrations
POST/integrationsAdd a new integration
GET/integrations/{id}Retrieve integration details
PATCH/integrations/{id}Update integration settings
DELETE/integrations/{id}Remove an integration

Platform-specific sub-routes are available for Datadog (/integrations/datadog), New Relic (/integrations/newrelic), Elasticsearch (/integrations/elasticsearch), and SigNoz (/integrations/signoz).

Receive inbound alert payloads from monitoring platforms.

MethodEndpointDescription
POST/webhooks/{platform}Ingest an alert from the specified platform (e.g., datadog, prometheus, grafana, pagerduty, newrelic, cloudwatch, signoz)

Each platform webhook automatically routes the payload through the appropriate alert parser.

Manage user profiles and team membership within an organization.

MethodEndpointDescription
GET/usersList users in the organization
GET/users/{id}Retrieve a user profile
PATCH/users/{id}Update user details or role
DELETE/users/{id}Remove a user from the organization

Create and manage long-lived API keys for service-to-service integrations.

MethodEndpointDescription
GET/api-keysList API keys for the organization
POST/api-keysCreate a new API key with scoped permissions
DELETE/api-keys/{id}Revoke an API key

Semantic and keyword search across incidents, procedures, and the knowledge base.

MethodEndpointDescription
POST/search/queryExecute a search query and return ranked results

Search uses vector embeddings for semantic matching and supports hybrid mode (combining vector similarity with keyword filtering).

Manage organization details and subscription settings.

MethodEndpointDescription
GET/organizationsRetrieve the current organization
PATCH/organizationsUpdate organization settings

Organization Settings (/organization-settings)

Section titled “Organization Settings (/organization-settings)”

Fine-grained configuration for organization-level preferences.

MethodEndpointDescription
GET/organization-settingsRetrieve all settings
PATCH/organization-settingsUpdate settings

Performance metrics, MTTR tracking, and team reporting.

MethodEndpointDescription
GET/analyticsRetrieve analytics data with configurable date ranges and groupings

Manage user notification preferences and delivery channels.

MethodEndpointDescription
GET/notificationsList notifications for the current user
PATCH/notifications/{id}Mark a notification as read

Subscription plan management and usage tracking.

MethodEndpointDescription
GET/billingRetrieve current plan and usage
POST/billing/checkoutInitiate a plan upgrade checkout

Real-time bidirectional communication for live updates.

EndpointDescription
/api/v1/wsEstablish a WebSocket connection for real-time incident updates, alert streams, and AI chat messages

The WebSocket connection requires an authenticated token (passed as a query parameter or in the initial handshake). Events are published for incident creation, status changes, new alerts, and procedure execution updates.

Download endpoint for the Helper CLI binary.

MethodEndpointDescription
GET/helper/downloadDownload the Helper CLI binary for the detected platform

Administrative operations for organization owners and administrators.

MethodEndpointDescription
GET/admin/auditRetrieve audit log entries
GET/admin/statsRetrieve system-level statistics

Read-only access to audit log entries for compliance and debugging.

MethodEndpointDescription
GET/auditQuery audit log events with date and event-type filters

Ingest and query application logs.

MethodEndpointDescription
POST/logsSubmit log entries for indexing
GET/logsQuery indexed logs

Rate limits are applied per user and per organization. The specific limits depend on your subscription plan.

ScopeDefault Limit
Interactive users1,000 requests per hour
API keys5,000 requests per hour
Webhook endpoints10,000 requests per hour
AI search queries500 per hour

Every response includes rate limit headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 997
X-RateLimit-Reset: 1709251200

When a limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds to wait.


All error responses follow a consistent JSON structure:

{
"detail": "Human-readable error message",
"status_code": 422
}
CodeMeaning
200Success
201Resource created
400Bad request (validation error)
401Unauthorized (missing or invalid token)
403Forbidden (insufficient permissions)
404Resource not found
422Unprocessable entity (schema validation failure)
423Account locked (too many failed login attempts)
429Rate limit exceeded
500Internal server error

Tip: Include the X-Request-ID header value from the response when reporting issues to support. It allows the team to trace the request through backend logs.


List endpoints support cursor-based pagination with limit and offset query parameters.

ParameterTypeDefaultDescription
limitinteger25Maximum number of results to return (max 100)
offsetinteger0Number of results to skip

Paginated responses include a meta object:

{
"data": [],
"meta": {
"total": 142,
"limit": 25,
"offset": 0
}
}

InterfaceURLUse Case
Swagger UI/docsInteractive endpoint testing with request builder
ReDoc/redocBrowsable documentation with schema details
OpenAPI Spec/openapi.jsonMachine-readable spec for code generation and tooling

Note: The Swagger UI allows you to authenticate with a Bearer token and execute requests directly against your instance. It is the fastest way to explore the API during development.