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

# API Overview

> How the sequential client API is organized and how each workflow step fits together.

# 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.


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