> For the complete documentation index, see [llms.txt](https://docs.lumia.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lumia.org/reference/rest-apis/kyc-verifier-api.md).

# KYC verifier API

**Who this is for:** developers integrating on-chain KYC verification. This is the endpoint table only: for the integration walkthrough see [`/build/identity/on-chain-kyc-integration`](file:///build/identity/Integrate-on-chain-KYC-dev-guide.md), which transcludes this page.

## Endpoints

Quoted from docs.lumia.org, fetched 2026-09-09:

| Method | Path                                                               | Purpose                                                              |
| ------ | ------------------------------------------------------------------ | -------------------------------------------------------------------- |
| `POST` | `https://verifier-backend.privado.id/sign-in`                      | Starts a verification session; returns a QR code for wallet scanning |
| `GET`  | `https://verifier-backend.privado.id/status?sessionID={sessionID}` | Polls the status of a verification session                           |

## Request shape: `POST /sign-in`

| Field                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chainID`                  | Network the verification is scoped to. docs.lumia.org's own example uses `"1952959480"`, the **retired** "Lumia Testnet" (see [`/reference/retired-testnet`](file:///5838283/Retired-testnet-1952959480.md)), alongside `"994873017"` (mainnet). Use the confirmed values from [`/reference/networks`](file:///5838283/Networks-and-endpoints.md): mainnet `994873017`, Beam testnet `2030232745`. Do not copy the `1952959480` example as-is. |
| `scope`                    | Array of query objects, each with `circuitId`, `id`, and `query`                                                                                                                                                                                                                                                                                                                                                                               |
| `query`                    | Includes `allowedIssuers`, `context`, `type`, `credentialSubject`                                                                                                                                                                                                                                                                                                                                                                              |
| `skipClaimRevocationCheck` | Boolean; `false` recommended                                                                                                                                                                                                                                                                                                                                                                                                                   |

## Response shape

**`POST /sign-in` response:**

| Field       | Description                               |
| ----------- | ----------------------------------------- |
| `qrCode`    | QR code data for wallet scanning          |
| `sessionID` | Session identifier used to poll `/status` |

**`GET /status` response:**

| Field    | Description                                                                                                      |
| -------- | ---------------------------------------------------------------------------------------------------------------- |
| `status` | One of: `success`, `approved`, `failed`, or a pending state (exact enumeration of pending states `[UNVERIFIED]`) |

## Error codes

`[UNVERIFIED]`: docs.lumia.org does not document explicit error codes or an error response structure for this API as of 2026-09-09. {{TODO: confirm with the identity/KYC integration owner: error code table, if one exists}}

## Source / last verified

WebFetch of `docs.lumia.org/build/on-chain-kyc`, 2026-09-09.
