API Overview
The Sentro REST API gives you programmatic access to everything in the platform -- monitors, incidents, alerts, status pages, heartbeats, and more.
Base URL
https://api.sentro.dev/v1
All endpoints require HTTPS. HTTP requests are rejected.
Authentication
Every request must include your API key in the Authorization header:
Authorization: Bearer sentro_sk_live_your_key_here
API keys are created in the dashboard under Settings > API Keys. See API Keys for details on access levels, expiration, and security best practices.
Response format
All responses are JSON. Successful responses wrap data in a data field. List endpoints include a meta object with pagination info.
Single resource
{
"data": {
"id": "cly1abc2d0001abcdef012345",
"name": "Production API",
"status": "ACTIVE"
}
}
List response
{
"data": [
{ "id": "cly1abc2d0001abcdef012345", "name": "Production API" }
],
"meta": {
"total": 42,
"limit": 50,
"offset": 0
}
}
Error response
{
"error": {
"code": "NOT_FOUND",
"message": "Monitor with id 'cly_invalid' not found"
}
}
Error codes
| HTTP Status | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Request body or parameters failed validation. |
401 | AUTHENTICATION_ERROR | Missing, invalid, expired, or revoked API key. |
402 | PLAN_LIMIT | Feature requires a higher plan. |
403 | AUTHORIZATION_ERROR | API key lacks permission for this action. |
404 | NOT_FOUND | Requested resource does not exist. |
409 | CONFLICT | Resource conflict (e.g., duplicate name). |
429 | RATE_LIMIT | Rate limit exceeded. Check the Retry-After header. |
500 | INTERNAL_ERROR | Unexpected server error. |
Rate limiting
Rate limits are enforced per API key and vary by plan:
| Plan | Read (GET) | Write (POST/PATCH/DELETE) |
|---|---|---|
| Free | 60 req/min | Read-only (no writes) |
| Starter | 120 req/min | 30 req/min |
| Pro | 300 req/min | 30 req/min |
| Max | 1,000 req/min | 100 req/min |
When the limit is exceeded, the API returns 429 with a Retry-After header indicating how many seconds to wait.
Pagination
List endpoints accept limit and offset query parameters:
limit-- Number of items to return (default: 50, max: 200).offset-- Number of items to skip.
The meta.total field in the response tells you the total number of items available.
Next steps
- Monitors API -- Create and manage uptime monitors.
- Heartbeats API -- Manage heartbeat monitors.
- Incidents API -- Query incident history.
- Alerts API -- Configure alert channels.
- Alert Rules API -- Connect monitors to channels.
- Status Pages API -- Manage public status pages.
- Webhooks API -- Receive real-time event notifications.