MAEL doesn’t publish a standalone SDK package (npm install @mael/sdk or pip install mael) yet — it’s early in its production-validation phase (see the Roadmap). This page covers what actually exists today: a generated TypeScript client and plain HTTP for every other language.

TypeScript: generated from the live schema

The dashboard’s own API client is generated directly from the committed OpenAPI schema via openapi-typescript — full request/response types, zero hand-maintained interfaces that can drift from the real API. You can use the exact same approach against your own TypeScript project. See TypeScript.

Everything else: plain HTTP

The API is REST + JSON — any HTTP client works. Python shows the pattern with httpx; the same shape applies in any language.

What’s stable to build against

  • Endpoint paths and request/response shapes — governed by the committed OpenAPI schema; CI fails a PR that changes the API without regenerating and committing the updated schema
  • Error shape — see Errors
  • Auth flow — see Authentication

TypeScript

Python