Public API

Public API documentation.

Beemuu runs a hosted read-only API at api.beemuu.com serving the DTC catalog, schematic lookup, dashboard, release info, and health endpoints. This page documents every endpoint with URL, method, request shape, response shape, and a working example.

Base URL: api.beemuu.comRead-onlyNo authOpen data

GET /api/health

Health check. Used by the dashboard page to confirm the API is reachable.

Response

{
  "ok": true,
  "service": "beemuu-api"
}

GET /api/dtc/<code>

Look up a single DTC by code. The code is case-insensitive.

Parameters

  • code — the DTC. Accepts SAE J2012 codes (P0171, U0100) and BMW-specific 4-hex-digit codes (29E0, 2A82). Also accepts 6-digit BMW codes (120308).

Response (200 OK)

{
  "code": "29E0",
  "title": "Fuel injection rail, pressure sensor signal",
  "severity": "warn",
  "category": "powertrain",
  "verified": true,
  "source_url": "https://github.com/ohgeeceee/beemuu/blob/main/research/bmw_diag_dim01_dtcs.md",
  "source_label": "BMD-01"
}

Response (404 Not Found)

{
  "error": "DTC not found",
  "code": "ZZZZ"
}

Example

curl -sS https://api.beemuu.com/api/dtc/29E0 | python3 -m json.tool

GET /api/dtc

List all DTCs in the catalog with optional filtering.

Query parameters

  • limit — max number of entries (default 100, max 500).
  • offset — pagination offset (default 0).
  • verified — filter by verification status (true/false).
  • category — filter by category (powertrain, network, body, chassis).

Response

{
  "total": 444,
  "limit": 100,
  "offset": 0,
  "entries": [
    { "code": "29E0", "title": "...", "verified": true, "category": "powertrain" },
    { "code": "29E1", "title": "...", "verified": true, "category": "powertrain" },
    ...
  ]
}

GET /api/dashboard

Dashboard data for the /dashboard.html page. Returns build artifacts, API status, recent release info, and uptime statistics.

Response

{
  "build": { "version": "v0.14.4", "date": "2026-07-31", "status": "green" },
  "api": { "status": "ok", "version": "0.14.0", "uptime_hours": 720 },
  "release": {
    "tag": "v0.14.4",
    "url": "https://github.com/ohgeeceee/beemuu/releases/tag/v0.14.4",
    "published_at": "2026-07-31T18:00:00Z"
  }
}

GET /api/release-info

Release info for the latest Beemuu version. Returns download URLs, SHA-256 checksums, and platform-specific installer paths.

Response

{
  "tag": "v0.14.4",
  "published_at": "2026-07-31",
  "platforms": {
    "windows-x86_64": {
      "nsis": {
        "url": "https://github.com/ohgeeceee/beemuu/releases/download/v0.14.4/BeeEmUu_0.14.4_x64-setup.exe",
        "size_bytes": 8420000,
        "sha256": "3a3b1e5a4e8c9d7f2b6c8a1d4e7f0c2b5a8d1e3f6c9b2a5d8e1f4c7b0a3d6e9f"
      },
      "msi": {
        "url": "https://github.com/ohgeeceee/beemuu/releases/download/v0.14.4/BeeEmUu_0.14.4_x64_en-US.msi",
        "size_bytes": 9100000,
        "sha256": "4b4c2f6b5f9d0e8c3d7e9b2c5d8e1f0a3b6c8d0e3f6a9b1c4d7e0f3a5b8c1d4e"
      }
    }
  },
  "release_notes_url": "https://github.com/ohgeeceee/beemuu/releases/tag/v0.14.4"
}

Error format

All errors return a JSON object with an error field. The HTTP status code indicates the type of error.

  • 400 Bad Request — invalid query parameters or malformed input.
  • 404 Not Found — the resource doesn’t exist.
  • 429 Too Many Requests — rate limit exceeded. Includes a Retry-After header.
  • 500 Internal Server Error — the API hit an unexpected error. The dashboard page renders these as degraded; the bug should be filed on GitHub.

Rate limits

The API is rate-limited at 60 requests per minute per IP address. Bursts up to 120 requests per minute are tolerated. Sustained abuse gets the IP throttled for 1 hour.

Source

The API source is in the project repo at backend/. It is Tier B per CLAUDE.md: changes to the API surface require a human merge, but the API itself is read-only and public.

If you find a bug in the API or the documentation, open an issue on GitHub.

Try the API.

Every endpoint on this page is publicly accessible. No API key required. Start with curl https://api.beemuu.com/api/health.

GET /api/healthDashboard

Last updated: 2026-08-02 ยท Beemuu contributors