Skip to main content

REST API

Lumio exposes a RESTful API following HATEOAS conventions.

Base URLs

EnvironmentURL
Staginghttps://lumio.api.staging.zaflun.dev/v1
Production Previewhttps://lumio.api.prod.zaflun.dev/v1
Productioncoming soon — official domain not yet assigned

Response Format

All responses follow the HATEOAS format with embedded links:

{
"data": { ... },
"_links": {
"self": { "href": "/v1/overlays/123" },
"collection": { "href": "/v1/overlays" }
}
}

Interactive Documentation

  • Swagger UI — Available at /v1/swagger-ui/ when the API is running
  • OpenAPI spec — Download from /v1/api-doc/openapi.json

Endpoints Overview

All paths are under /v1. Request and response bodies use snake_case. Permissions use the resource:action format.

Resource groupPath prefixDescription
Auth/v1/authToken exchange, refresh, logout, OAuth link/authorize
Users/v1/users/meCurrent-user profile, login connections, sessions
Accounts/v1/accountsCreate/dissolve/leave accounts, member invites
Members & Invites/v1/accounts/{id}/members, /v1/invitesTeam management
Roles/v1/rolesRBAC role CRUD and permission catalog
Tokens/v1/tokensPopout/API token management (/tokens/me = current permissions)
Overlays/v1/overlaysOverlay configuration CRUD
Uploads/v1/uploadsFile uploads (multipart) and presigned download URLs
Chat/v1/chat/*History, send, moderate, user profiles, notes, raid/poll/prediction
Events/v1/eventsEvent history, single event, emit/test
Emotes/v1/emotesChannel and user emote fetching
Connections/v1/connectionsApp credentials and channel OAuth flow
Bot Connections/v1/bot-connections, /v1/bot-status, /v1/bot-toggle, /v1/bot-rejoinCustom bot identity OAuth and control
Bot Commands/v1/bot-commandsCross-platform command CRUD and global overrides
Bot Modules/v1/bot-modulesModeration module configs (link/spam/word/timed)
Automations/v1/automationsVisual automation CRUD and manual execution
Channel Status/v1/channel-status, /v1/spotify/manual-connectLive status and Spotify manual polling
Spotify/v1/spotify/*State, playback, queue, devices, playlists, search
Copyright/v1/copyright/*Safe/blocked songs, playlist imports, community voting
Notifications/v1/notificationsIn-app notifications and actions
OBS/v1/integrations/obs, /v1/obs-remote/*OBS config + remote stream/recording/scene control
SE Tokens/v1/se-tokensStreamElements JWT token storage
Discord Guilds/v1/discord-guilds/exchangeDiscord guild bot install exchange
Abuse Reports/v1/abuse-reportsUser-submitted abuse reports
Webhooks/v1/webhooks/*Platform webhooks (Twitch, YouTube, Kick, Trovo, Shopify, Stripe)
Billing/v1/billing/*Stripe checkout/portal/status/invoices/coupon
Playlists/v1/playlistsRead-only global safe-song playlists
Songs/v1/songsRead-only song metadata and copyright status
Plugins/v1/pluginsPlugin registry (list + by type)
Features/v1/features/enabled, /v1/providers/enabledPublic feature/provider flag reads
Health/v1, /v1/healthLiveness probes
Admin/v1/admin/*System-admin-only endpoints (feature flags, users, accounts, OAuth clients, system keys/connections, providers, coupons, audit log, bot control)

For the exhaustive parameter list of every endpoint, use the Swagger UI at /v1/swagger-ui/ or download /v1/api-doc/openapi.json. Feature-specific docs under Features document the most commonly used endpoints with their resource:action permissions.