Lelemon
  • Get started
  • Use cases
  • Guides
  • API basics
  • Webhooks
  • SDK, CLI and MCP
  • API reference
  • Changelog
  • v1 (legacy)
Authentication and scopesScope catalogIDs and objectsListsErrorsIdempotencyRate limitsVersioningError codes
powered by Zudoku
API basics

Versioning

The major version is in the path. Within /v2 Lelemon only adds endpoints, optional fields, event types and error codes. Ignore what you do not know.

Webhook endpoints also carry an apiVersion (currently 2026-10-29) that fixes the shape of the events they receive.

Strict bodies

A request body with a field the route does not document is rejected with 400 unknown_field, and param names the first unknown field; the detail lists up to ten. Free-form maps such as metadata keep accepting any key. Responses and events never reject anything: keep ignoring what you do not know there. A rejected body is not stored in the request log. Bodies over 1 MB answer 413 payload_too_large. A body or a query string that nests objects or arrays more than 32 levels deep answers 400 invalid_request with param set to body or query.

Model ids

A model is named by a public id, author/name, such as anthropic/claude-sonnet-4.6. Read the list with GET /v2/models and send the id in llmConfig.model and llmConfig.fallback.model. Responses, usage, turns and events return the same id.

There is no provider field: it comes from the id, and sending it is a 400 unknown_field. A model id that is not in GET /v2/models, such as an AWS id, answers 422 model_not_supported and param names the field.

Deprecations

Nothing in /v2 is deprecated. When something is, the change is announced in the changelog first, and until the date it takes effect the routes concerned answer with a Lelemon-Warning header that says what will change and when. Read that header in your logs to find the calls that need work before the date arrives.

v1 is deprecated. See Moving from v1 and the changelog.

Rate limitsError codes
On this page
  • Strict bodies
  • Model ids
  • Deprecations