How authorization works
- Secret API keys (
lid_live_*) carry an explicit list of scopes; a request to an endpoint whose scope the key lacks fails with403. - Dashboard sessions carry a role plus per-user team permissions; sensitive actions additionally require a fresh MFA factor (passkey, TOTP code, or emailed code) in the request body.
- Resources are tenant-scoped: another merchant’s resource always reads as
404— the API never reveals whether a foreign resource exists.
Public endpoints (no authentication)
Payer-facing endpoints, safe to call from a browser. They accept only the public invoice id (the last segment ofinvoiceUrl) and return redacted data.
Merchant API (secret API key)
These endpoints accept your secret key (Authorization: Bearer lid_live_...) with the listed scope — and equally a dashboard session with the matching team permission.
Dashboard-only endpoints
These require a logged-in dashboard session; API keys are rejected with401 {"error":"Invalid or expired token"} — the key is not a session token, so it never reaches the role check. Money-moving actions additionally require a fresh MFA factor per request.
API Overview
Credentials, scopes, conventions, and rate limits in depth.
Create a payment
The first endpoint of every integration.
Webhooks & IPN
How the platform notifies your backend.