API Docs
Programmatic access to provider metrics, incident data, and webhook events.
P95 latency
Error rate
Rate limit
Quickstart
- Create an API key in your workspace.
- Make your first request to the providers endpoint.
- Subscribe to webhooks for incident events.
Authentication
Use a bearer token with your API key.
Authorization: Bearer cp_live_1234567890abcdef
Rate limits
Rate limits apply per minute, with monthly usage quotas based on your plan.
Endpoints
GET https://api.cappulse.com/v1/providers
GET https://api.cappulse.com/v1/providers/{slug}/metrics?window=1h|24h|7d
GET https://api.cappulse.com/v1/models
GET https://api.cappulse.com/v1/models/{slug}/metrics?window=1h|24h|7d
GET https://api.cappulse.com/v1/incidents
GET https://api.cappulse.com/v1/incidents/{id}
Example request
curl https://api.cappulse.com/v1/providers \ -H "Authorization: Bearer cp_live_1234567890abcdef"
Webhooks
Subscribe to real-time incident and provider events.
incident.created
incident.updated
provider.degraded
provider.recovered
X-CapPulse-Signature: sha256=...
Verify signatures with your webhook signing secret.
SDK examples
TypeScript
const res = await fetch("https://api.cappulse.com/v1/providers", {
headers: { Authorization: "Bearer cp_live_1234567890abcdef" },
});
const data = await res.json();Python
import requests
res = requests.get(
"https://api.cappulse.com/v1/providers",
headers={"Authorization": "Bearer cp_live_1234567890abcdef"},
)
print(res.json())Errors
{
"error": "rate_limit_exceeded",
"message": "Daily quota exceeded",
"request_id": "req_123"
}Need higher limits?
Upgrade for longer retention, higher rate limits, and webhook delivery history.