Access provider status, incidents, and historical data programmatically.
All API requests require authentication using an API key. API keys are available to Pro and Enterprise subscribers. You can create and manage your API keys from the dashboard.
Include your API key using one of these two methods:
Authorization Header (recommended):
Authorization: Bearer civ_your_api_key_here
The "Bearer " prefix is required per RFC 6750.
X-API-Key Header:
X-API-Key: civ_your_api_key_here
Rate limit headers are included in all responses:
Base URL: https://canivibe.com/api/v1
List all tracked AI providers with their current status.
{
"providers": [
{
"id": "claude",
"name": "Claude (Anthropic)",
"status": "operational",
"last_checked": "2025-01-15T10:30:00Z"
},
{
"id": "openai",
"name": "OpenAI",
"status": "operational",
"last_checked": "2025-01-15T10:30:00Z"
}
]
}
Get current status for all or specific providers.
| Parameter | Description |
|---|---|
| provider optional | Filter by provider ID. Comma-separated for multiple providers. |
GET /api/v1/status?provider=claude,openai
{
"overall": "operational",
"providers": [
{
"id": "claude",
"name": "Claude (Anthropic)",
"status": "operational",
"description": "All systems operational",
"last_checked": "2025-01-15T10:30:00Z"
}
],
"timestamp": "2025-01-15T10:30:00Z"
}
Get historical incidents within a date range.
| Parameter | Description |
|---|---|
| provider optional | Filter by provider ID |
| start optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
| end optional | End date (YYYY-MM-DD). Defaults to today. |
{
"incidents": [
{
"id": "inc_123",
"provider_id": "claude",
"provider_name": "Claude (Anthropic)",
"title": "API Performance Degradation",
"status": "resolved",
"impact": "minor",
"started_at": "2025-01-10T14:00:00Z",
"resolved_at": "2025-01-10T16:30:00Z"
}
],
"query": {
"start": "2024-12-16",
"end": "2025-01-15",
"provider": null
}
}
Get daily status history for providers.
| Parameter | Description |
|---|---|
| provider optional | Filter by provider ID |
| days optional | Number of days of history (1-90). Defaults to 30. |
{
"history": [
{
"provider_id": "claude",
"provider_name": "Claude (Anthropic)",
"days": [
{"date": "2025-01-15", "status": "operational"},
{"date": "2025-01-14", "status": "degraded"},
{"date": "2025-01-13", "status": "operational"}
]
}
],
"query": {
"days": 30,
"provider": null
}
}
The API returns standard HTTP status codes and JSON error responses.
{
"error": "Unauthorized",
"code": "invalid_api_key",
"message": "Invalid or expired API key"
}
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid parameters) |
| 401 | Unauthorized (missing or invalid API key) |
| 403 | Forbidden (valid key but insufficient subscription) |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
| Code | Description |
|---|---|
| missing_api_key | No API key provided in the request |
| invalid_api_key | API key is invalid or has been revoked |
| subscription_required | API access requires a Pro or Enterprise subscription |
| rate_limit_exceeded | Too many requests, try again later |