API Reference
Admin Endpoints
Authenticated API endpoints for managing your Fyren instance.
Admin endpoints require authentication via API key or session.
Components
List Components
GET /api/v1/admin/componentsCreate Component
POST /api/v1/admin/componentsRequest Body
{
"name": "API Server",
"description": "Core API service",
"status": "operational",
"displayOrder": 1,
"isPublic": true
}Update Component
PUT /api/v1/admin/components/:idDelete Component
DELETE /api/v1/admin/components/:idUpdate Component Status
PATCH /api/v1/admin/components/:id/statusRequest Body
{
"status": "degraded"
}Status options: operational, degraded, partial_outage, major_outage, maintenance
Monitors
List Monitors
GET /api/v1/admin/monitorsCreate Monitor
POST /api/v1/admin/monitorsRequest Body
{
"componentId": "abc123",
"type": "http",
"url": "https://api.example.com/health",
"intervalSeconds": 60,
"timeoutMs": 10000,
"expectedStatusCode": 200,
"failureThreshold": 3
}Monitor types: http, tcp, ssl_expiry
Update Monitor
PUT /api/v1/admin/monitors/:idDelete Monitor
DELETE /api/v1/admin/monitors/:idIncidents
List Incidents
GET /api/v1/admin/incidentsCreate Incident
POST /api/v1/admin/incidentsRequest Body
{
"title": "API Latency Issues",
"status": "investigating",
"severity": "major",
"message": "We are investigating increased response times.",
"componentIds": ["abc123"]
}Update Incident
PUT /api/v1/admin/incidents/:idAdd Incident Update
POST /api/v1/admin/incidents/:id/updatesRequest Body
{
"status": "identified",
"message": "Root cause identified. A fix is being deployed."
}Resolve Incident
PATCH /api/v1/admin/incidents/:id/resolveMaintenance
List Maintenance
GET /api/v1/admin/maintenanceCreate Maintenance
POST /api/v1/admin/maintenanceRequest Body
{
"title": "Database Migration",
"description": "Scheduled database upgrade to improve performance.",
"scheduledStart": "2025-01-15T02:00:00Z",
"scheduledEnd": "2025-01-15T04:00:00Z",
"componentIds": ["abc123"]
}Update Maintenance
PUT /api/v1/admin/maintenance/:idCancel Maintenance
DELETE /api/v1/admin/maintenance/:idSubscribers
List Subscribers
GET /api/v1/admin/subscribersRemove Subscriber
DELETE /api/v1/admin/subscribers/:idWebhooks
List Webhooks
GET /api/v1/admin/webhooksCreate Webhook
POST /api/v1/admin/webhooksRequest Body
{
"name": "Slack Notifications",
"url": "https://hooks.slack.com/services/...",
"type": "slack",
"isActive": true
}Webhook types: slack, discord, teams, generic
Update Webhook
PUT /api/v1/admin/webhooks/:idDelete Webhook
DELETE /api/v1/admin/webhooks/:idOrganization
Update Organization
PUT /api/v1/admin/org/:idRequest Body
{
"name": "Acme Corp",
"logoUrl": "https://example.com/logo.png",
"brandColor": "#d4c9b8",
"timezone": "America/New_York"
}