Swagger UI
Live API testing and exploration interface.
Access: /docs on your instance
For Developers and API Integrators
Complete API reference for building custom integrations and applications with the Overwatch platform.
https://your-organization.overwatch.com/api/v1/api/v1/)Swagger UI
Live API testing and exploration interface.
Access: /docs on your instance
ReDoc
Alternative documentation view with better organization.
Access: /redoc on your instance
OpenAPI Spec
Machine-readable API specification for tooling.
Access: /openapi.json
Login and Obtain Token:
curl -X POST "https://your-org.overwatch.com/api/v1/auth/login" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=user@company.com&password=your-password"Response:
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "bearer", "expires_in": 3600}Use Token:
curl -X GET "https://your-org.overwatch.com/api/v1/incidents" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."Generate API Key:
curl -X POST "https://your-org.overwatch.com/api/v1/api-keys" \ -H "Authorization: Bearer your-jwt-token" \ -H "Content-Type: application/json" \ -d '{ "name": "CI/CD Integration", "permissions": ["incidents:read", "incidents:create"] }'Use API Key:
curl -X GET "https://your-org.overwatch.com/api/v1/incidents" \ -H "X-API-Key: overwatch_ak_1234567890abcdef"Create an Incident:
curl -X POST "https://your-org.overwatch.com/api/v1/incidents" \ -H "Authorization: Bearer your-token" \ -H "Content-Type: application/json" \ -d '{ "title": "Database Connection Timeout", "severity": "high", "description": "Multiple services experiencing database connection timeouts" }'List Incidents with Filtering:
curl -X GET "https://your-org.overwatch.com/api/v1/incidents?severity=critical,high&status=in_progress&limit=25" \ -H "Authorization: Bearer your-token"Execute a Procedure:
curl -X POST "https://your-org.overwatch.com/api/v1/procedures/{procedure_id}/execute" \ -H "Authorization: Bearer your-token" \ -H "Content-Type: application/json" \ -d '{ "context": { "incident_id": "incident-uuid", "urgency": "high" } }'Incident Management
Complete incident lifecycle management with AI-powered suggestions.
Procedure Automation
Create, execute, and track runbook procedures with approval workflows.
AI Search
Semantic search across incidents, procedures, and knowledge base.
Real-time Updates
WebSocket connections for live collaboration and monitoring.
Analytics & Reporting
Performance metrics, team analytics, and custom reports.
Integration Management
Connect monitoring platforms and external services.
Core Resources:
| Entity | Description | API Endpoint |
|---|---|---|
| Organizations | Multi-tenant organization management | /api/v1/organizations |
| Users | User profiles, authentication, permissions | /api/v1/users |
| Incidents | Complete incident lifecycle management | /api/v1/incidents |
| Procedures | Runbook creation and execution | /api/v1/procedures |
| Executions | Procedure execution tracking | /api/v1/executions |
| Integrations | External service configuration | /api/v1/integrations |
| Analytics | Performance metrics and reporting | /api/v1/analytics |
Installation:
npm install @overwatch/api-clientBasic Usage:
const { OverwatchClient } = require('@overwatch/api-client');
const client = new OverwatchClient({ baseURL: 'https://your-org.overwatch.com', apiKey: 'your-api-key'});
// Create incidentconst incident = await client.incidents.create({ title: 'Database Connection Issues', severity: 'high'});
// Real-time updatesclient.subscribe('incidents', (event) => { console.log('Incident update:', event);});Installation:
pip install overwatch-api-clientBasic Usage:
from overwatch import OverwatchClient
client = OverwatchClient( base_url='https://your-org.overwatch.com', api_key='your-api-key')
# Create incidentincident = client.incidents.create( title='Database Connection Issues', severity='high')
# Real-time updates@client.on('incident.updated')def handle_update(event): print(f'Incident updated: {event.data.title}')/openapi.jsonReceive alerts from monitoring platforms and automatically create incidents:
# Incoming webhook from Datadogcurl -X POST "https://your-org.overwatch.com/api/v1/webhooks/datadog" \ -H "Content-Type: application/json" \ -d '{ "alert_id": "12345", "alert_name": "High Error Rate", "severity": "critical", "metrics": {"error_rate": 7.2} }'Create incidents from deployment failures and execute rollback procedures:
# Create incident from pipeline failurecurl -X POST "/api/v1/incidents" \ -H "X-API-Key: ci-cd-key" \ -d '{ "title": "Deployment Failed: API v2.1.5", "severity": "high", "context": {"pipeline_id": "pipeline-123"} }'
# Execute rollback procedurecurl -X POST "/api/v1/procedures/rollback-deployment/execute" \ -H "X-API-Key: ci-cd-key" \ -d '{"context": {"deployment_version": "v2.1.5"}}'Sync incidents with external ITSM systems bidirectionally:
# Configure outbound webhook to ITSMcurl -X POST "/api/v1/webhooks/outbound" \ -H "Authorization: Bearer your-token" \ -d '{ "name": "ITSM Sync", "url": "https://itsm.company.com/api/tickets", "events": ["incident.created", "incident.resolved"] }'Based on subscription plan and usage quotas.
Rate Limit Headers:
X-RateLimit-Limit: 1000X-RateLimit-Remaining: 995X-RateLimit-Reset: 1696768800X-RateLimit-Window: 3600Authentication
JWT tokens, API keys, SSO, and permission models.
Incidents API
Create, manage, and resolve incidents with AI suggestions.
Procedures API
Runbook management and execution with approval workflows.
Search & AI
Semantic search and AI-powered features.
WebSocket API
Real-time updates and collaboration features.
Error Handling
Error responses, retry logic, and rate limiting.
limit and offset for large result setsRetry-After headersrequest_id in error reports/docs - Interactive API testing/redoc - Alternative documentation view/openapi.json - Machine-readable specFor API questions and integration support, contact support@overwatch-observability.com.
Related Documentation: