Skip to main content

Base URL

All API requests should be made to:
https://kodostatus.com/api/v1

Authentication

Authenticate requests using the X-API-Key header:
curl "https://kodostatus.com/api/v1/incidents" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"
You can also use the Authorization: Bearer header as an alternative:
curl "https://kodostatus.com/api/v1/incidents" \
  -H "Authorization: Bearer your_api_key_here"

Get Your API Key

Generate an API key from your dashboard

Response Format

All responses are returned in JSON format:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Example Incident",
  "status": "investigating",
  "created_at": "2024-01-15T10:30:00Z"
}

Error Handling

Errors return appropriate HTTP status codes with a JSON body:
{
  "error": "Invalid API key"
}
Some endpoints include additional detail for validation errors:
{
  "error": "Invalid request body",
  "code": "INVALID_SCHEMA",
  "details": {
    "fieldErrors": { "slug": ["Required"] }
  }
}
Status CodeDescription
200Success
201Created
400Bad Request — invalid input or validation failure
401Unauthorized — missing or invalid API key
403Forbidden — plan limit reached or feature not available
404Not Found
409Conflict — duplicate slug, domain, or version mismatch
429Rate Limited
500Server Error

Rate Limits

Endpoint TypeLimit
Standard (reads)100 requests/minute
Standard (writes)30 requests/minute
Heartbeat120 requests/minute
BeaconUnlimited
Rate limit headers are included in responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1704844800

API Categories