Protocol Basics
Lumio's public API uses one versioned base path:
https://api.lumio.vision/v1
There is no /developer/v1 base path. Developer-extension routes are normal /v1 routes under /v1/developer/....
Protocol Endpoints
| Surface | Endpoint |
|---|---|
| REST | https://api.lumio.vision/v1/... |
| GraphQL | POST https://api.lumio.vision/v1/gql |
| GraphQL SDL | GET https://api.lumio.vision/v1/schema |
| GraphiQL | GET https://api.lumio.vision/v1/graphiql |
| WebSocket | wss://api.lumio.vision/v1/ws |
| OpenAPI JSON | GET https://api.lumio.vision/v1/openapi.json |
Authentication
API keys are accepted only with the bearer header:
Authorization: Bearer lm_usr_your_key
The bearer scheme is case-sensitive and uses exactly one space. Lumio does not support X-API-Key, and API keys are not accepted through ?token=.
Errors And Rate Limits
REST errors use this shape:
{
"error": "VALIDATION_ERROR",
"message": "Validation error: Invalid permission: events:typo",
"details": null
}
API keys use a flat 1200 requests per minute bucket. Rate-limit responses use 429 RATE_LIMIT_EXCEEDED with Retry-After; expensive paths can return 503 RATE_LIMIT_UNAVAILABLE when rate limiting is unavailable.
For the full public API reference, see Lumio API Overview, REST, GraphQL, and WebSocket.