Updated 2026-09-18 6 views

The Levlix Public API

Levlix publishes a small read-only API that needs no login and no API key. It feeds the public status page and lets monitoring tools and AI agents check whether Levlix is up. Everything else the dashboard calls under /api/ is tied to a Discord login and is not part of this API.

Discovery

Agents find the API without guessing URLs. Two machine-readable files describe it:

  • API catalog: https://levlix.io/.well-known/api-catalog follows RFC 9727. It is a linkset with one entry that points at the OpenAPI description, at this page and at the health endpoint.
  • OpenAPI description: https://levlix.io/api/v1/openapi.json describes every endpoint listed below in OpenAPI 3.1.

Every HTML page on levlix.io also carries a Link header with rel="api-catalog", alongside the links to the sitemap and llms.txt.

Endpoints

Endpoint What it returns
GET /api/v1/health Overall status, the running version, the uptime and the health of the database, the cache and the bot connection.
GET /api/v1/health/history The health checks of the last 24 hours and the uptime of the last 90 days.
GET /api/v1/health/discord The status of Discord's own API, cached for one minute.
GET /api/v1/health/incidents The active maintenance banner and past incidents.
GET /api/v1/liveness Always {"status": "alive"} while the process runs.
GET /api/v1/readiness {"status": "ready"} once the database answers, otherwise 503.
GET /docs/api/search?q= Documentation search results. The German docs answer on the same path below the German site prefix.

Rules

  • Every response is JSON and only GET is supported.
  • There is no authentication, so no endpoint reads or changes server data.
  • The health endpoint is the right one to poll. Once a minute is plenty; the status page itself does not ask more often.
  • The Discord bot has no public API of its own. Everything else runs through slash commands and the dashboard.
Note
The catalog and the description are served on levlix.io only. Staging instances answer 404 so that no crawler records their URLs.

Was this article helpful?

Thanks for your feedback! Your vote helps us improve the documentation.

Your vote could not be saved. Please reload the page and try again.

Share this guide

Your Privacy

We use essential cookies to operate this site and optionally Google Analytics to improve our services. You can accept all, reject all, or choose which categories you allow.

Privacy Policy

Cookie Preferences

Choose which categories of cookies you want to allow. You can change this at any time.

Essential Cookies

Required

Session, CSRF protection, login state.

Analytics Cookies

Optional

Google Analytics 4 with anonymized IP, used to understand aggregate usage.