Skip to main content

API Overview

The reference is organized around the client integration sequence rather than exposing every internal route. Each section below maps to a workflow stage, in execution order.

Authentication

POST /auth exchanges X-Client-Id and X-Client-Secret headers for a bearer JWT (AuthTokenResponse). All other endpoints require the token in the Authorization: Bearer header.

Onboarding

Create artist and label customers (INDIVIDUAL or BUSINESS), inspect KYC and PIX state, resume a stalled verification, and register the artist PIX account.
  • POST /onboarding — create customer; starts onboarding
  • GET /onboarding/list — paginated list (limit, next_token)
  • GET /onboarding/{customer_id} — customer state, KYC + PIX fields
  • DELETE /onboarding/{customer_id} — delete customer
  • POST /onboarding/{customer_id}/resume-verification — refresh or re-issue the verification link
  • POST /onboarding/{customer_id}/create-bank-account — register or replace artist PIX account; LABEL customers are rejected

Due Diligence

Staged flow that ends with a published credit offer. init returns 202 and a case in PENDING_UPLOADS; uploads are requested in a separate call.
  1. POST /due-diligence/init — open the case; returns due_diligence_id and contracts_preview
  2. POST /due-diligence/{due_diligence_id}/uploads — issue presigned S3 upload URLs (single or batch response shape)
  3. GET /due-diligence/{due_diligence_id} — poll case state, contracts, signatures, and wallet attestations
  4. POST /due-diligence/{due_diligence_id}/credit-offer — publish the offer; sends signer emails and returns the updated case
Signature confirmation is out of band: signers complete signing through emailed links, not the client API. After publishing the offer, poll the GET endpoint until status reaches SIGNED or another terminal state.

Reconciliation

Available once a contract is active. init returns 202; funding_wallet_address in the request body is rejected by the live implementation, which uses the Lumx funding wallet scope.
  1. POST /contracts/reconciliations/init — start reconciliation against the contract
  2. POST /contracts/{contract_id}/reconciliations/{reconciliation_id}/uploads — request presigned URLs for statement files, then PUT directly to S3
  3. GET /contracts/{contract_id}/reconciliations/{reconciliation_id} — poll matched/funding/settlement status, per-channel breakdown, and on-chain settlement transactions

Using This Reference

Start with the guide for the workflow you are integrating, then use the generated endpoint pages for exact request and response schemas.