API Reference Overview
The PingSLA REST API provides programmatic access to all platform resources.
Base URL
https://api.pingsla.com/v1
All endpoints are versioned. The current stable version is v1.
Authentication
All API requests require a Bearer token:
Authorization: Bearer psk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
See API Keys → for how to generate keys.
Request Format
- Content-Type:
application/jsonfor all POST/PUT/PATCH requests - All timestamps are in ISO 8601 UTC format:
2026-05-18T14:32:00.000Z - IDs use prefixed string format:
mon_,inc_,pol_,ws_,ch_
Response Format
All responses return a consistent envelope:
{
"success": true,
"data": { ... },
"meta": {
"requestId": "req_abc123",
"timestamp": "2026-05-18T14:32:00.000Z"
}
}
Error responses:
{
"success": false,
"error": {
"code": "MONITOR_NOT_FOUND",
"message": "Monitor with ID mon_xyz not found",
"statusCode": 404
},
"meta": {
"requestId": "req_abc123",
"timestamp": "2026-05-18T14:32:00.000Z"
}
}
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Resource created |
204 | Success, no content (DELETE) |
400 | Bad request — validation error |
401 | Unauthorized — invalid or missing API key |
403 | Forbidden — insufficient permissions |
404 | Resource not found |
409 | Conflict — duplicate resource |
422 | Unprocessable entity |
429 | Rate limit exceeded |
500 | Internal server error |
Pagination
List endpoints return paginated results:
GET /v1/monitors?page=1&limit=20
Response includes pagination metadata:
{
"success": true,
"data": [ ... ],
"pagination": {
"page": 1,
"limit": 20,
"total": 47,
"pages": 3,
"hasNext": true,
"hasPrev": false
}
}
Filtering & Sorting
GET /v1/monitors?status=down&sortBy=createdAt&order=desc
GET /v1/incidents?from=2026-05-01T00:00:00Z&to=2026-05-18T23:59:59Z
Core Resources
| Resource | Endpoint | Description |
|---|---|---|
| Monitors | /v1/monitors | CRUD for monitors |
| Incidents | /v1/incidents | List, view, acknowledge incidents |
| Alert Policies | /v1/alert-policies | CRUD for alert policies |
| Status Pages | /v1/status-pages | CRUD for status pages |
| Notification Channels | /v1/channels | CRUD for notification channels |
| Workspaces | /v1/workspace | Workspace info, members |
| API Keys | /v1/api-keys | Manage API keys |
OpenAPI Specification
The machine-readable OpenAPI 3.1 spec is available at:
https://api.pingsla.com/v1/openapi.json
Import into Postman, Insomnia, or any OpenAPI-compatible tool.
SDKs
- JavaScript/TypeScript:
npm install @pingsla/sdk - Python:
pip install pingsla - CLI:
npm install -g @pingsla/cli