API documentation
Code against BEVEL with FastAPI REST and GraphQL. Product data is PostgreSQL-only — no file or in-memory stores for tenants, channels, or messages.
OpenAPI / Swagger UI
Interactive FastAPI REST documentation — try tenants, fleet, handoff, announcements.
GraphQL (GraphiQL)
Strawberry GraphQL playground for tenants, channels, and messages.
Health JSON
Postgres counts, realtime status, and process liveness for monitors.
API keys
Issue scoped tokens for scripts and CI against the BEVEL control plane.
Quick samples
List tenantsbash
curl -sS https://api.bevel.is/api/v1/tenants | jq .Post channel message (internal key)bash
curl -sS -X POST \
'https://api.bevel.is/api/v1/fleet/channels/general/messages?tenant=2x4m' \
-H "Content-Type: application/json" \
-H "X-Fleet-Internal-Key: $FLEET_INTERNAL_API_KEY" \
-d '{"body":"hello from API","speakerId":"human:you","speakerName":"You","speakerType":"human"}'GraphQL health-ish tenantsgraphql
query {
tenants { slug name plan }
}