> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laces.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Changes to the Laces Partner API and these docs.

<Update label="October 2026" description="v1, first release">
  The Laces Partner API v1, at **`https://connect.laces.run/v1`**.

  * **One environment, production**: you build with the live keys from the
    Laces app. See [Testing your integration](/concepts/testing).
  * **OAuth 2.0 client credentials** token endpoint, and the browser-safe
    **publishable key** (`X-Laces-Publishable-Key`).
  * **Events**: list your organization's on-sale races and read one with
    per-ticket fees for MTN Mobile Money and Airtel Money, the
    `payment_methods` you can sell, and `payments_enabled`. Card is coming
    soon: until then each ticket's `card` quote is `null` and card orders are
    refused with `409 payment_method_unavailable`.
  * **Orders**: create (with waiver attestation and idempotency), pay by mobile
    money prompt, list and read. A failed or expired order carries a sanitized
    `failure_kind` (`provider_not_reached`, `timed_out`, `declined` or
    `other`), also on the `order.failed` webhook.
  * **Hosted checkout sessions** with return URLs.
  * **Embedded checkout** with `laces.js`, served from
    `https://laces.run/v1/laces.js`.
  * **Webhooks**: `order.paid`, `order.failed`, `order.refunded` and `ping`,
    signed with HMAC-SHA256.
  * Every error carries a stable `error_code`, and every response an
    `X-Request-Id`, including malformed JSON (`400 invalid_json`) and
    `GET /health`.
  * Self-serve API keys and webhook endpoints in the Laces app, under
    **Settings → Developers**: create, regenerate and revoke keys; add, edit,
    test, disable and delete webhook endpoints.
  * `http://localhost:<port>` and `http://127.0.0.1:<port>` can be added to a
    key's domains for local development, and hosted and embedded checkout
    work end to end on them.
  * Revoking a key, or removing a permission or domain, takes effect
    immediately.
</Update>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.