Skip to main content
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.
  • 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.