Skip to main content
Every endpoint of the Laces Partner API v1, generated from its OpenAPI 3.1 spec. Each page has a Try it button that sends a real request.

Base URL

Every path is relative to it: POST /orders is POST https://connect.laces.run/v1/orders. This is the only host that accepts partner credentials; sent anywhere else they get 401 partner_credential_not_accepted. There is one environment, production (Testing your integration).

Authentication

See Authentication for the full rules.

Using the playground

The playground sends requests through Mintlify’s proxy, not from your browser. That makes bearer-token calls work and publishable-key calls fail.
1

Get a token with curl

From your terminal:
Copy access_token from the response. It is valid for one hour.
2

Paste it into Try it

Open any endpoint, press Try it, and paste the token into the Authorization (Bearer) field. Paste only the token (LCSTOK-…-X), not the word Bearer.
3

Send requests

Fill in the parameters and send. Remember that POST /orders and /pay need an Idempotency-Key header, and that a pay request on a mobile money order sends a real prompt to the number you enter.
The playground talks to production. Reads are harmless, but POST /orders creates a real order that holds places, and a pay request sends a real payment prompt. Use your test event and its free or low-price ticket.
Every key, token and id on this site is a made-up example value. Your real keys are issued to you in the Laces app, under Settings → Developers.

Responses

Every route except the token endpoint returns the Laces envelope:
On failure, error (human-readable) and error_code (stable; branch on this) replace data. Every response has an X-Request-Id header to quote to support. See Errors.

Versions

This is v1, the current version. Use the version switcher at the top of the sidebar to move between API versions when more exist. A new version will get its own base path (for example /v2); v1 keeps working at /v1. Changes are announced in the changelog.