Skip to main content
Test this flow in sandbox. Drive it end-to-end with simulated money and deterministic controls — start with the sandbox quickstart, then customer KYC simulation for this flow, and the cheat sheet for every magic value and simulate endpoint.

What KYC reliance is

Standard customer onboarding routes each declared control person through a Conduit-hosted identity verification flow: a government-ID capture, plus a live selfie where enhanced due diligence applies. KYC reliance is an alternative for organizations that already run their own KYC/IDV program. Instead of each person completing a fresh identity flow, you upload two things for each control person: a verification report exported from your own provider, and the original government ID the provider verified. Conduit validates the report and clears the identity requirement when the report matches your submitted person data. The match centers on name and date of birth. Other identity fields in the report are cross-checked too. Everything else in onboarding is identical. Business-entity fields, KYB documents, compliance screening, and the review pipeline all work the same way. This guide covers only what reliance changes. It assumes you have read the standard flow: Onboard a Customer and The Onboarding Lifecycle. Start from the standard requirements-discovery step in Onboard a Customer. That step tells you how many control persons to declare and which business documents to attach. This guide picks up at the document uploads. A control person is a beneficial owner or controlling person of the business — the individuals you list in ownership.persons[]. The discovery response’s individualRequirements[] tells you how many each country requires and which role each must hold. You attach each control person’s report and ID images via that person’s ownership.persons[i].documentIds[]. For an individual customer they cover the account holder, the one person the application names — see Onboarding an Individual.

Prerequisites

KYC reliance must be enabled for your organization before you can use it. It is off by default.
If KYC reliance is not yet enabled, contact your Conduit account manager. Attestation documents submitted before the feature is enabled will not satisfy the identity verification requirement.

What changes vs standard onboarding

What the attestation must contain

Upload a PDF exported from your KYC/IDV provider. The document must contain all of these: Additional requirements:
  • One person per file. Do not combine multiple persons’ reports in a single PDF.
  • The document must be legible and unedited. Redacted or altered PDFs are rejected.
  • The name and date of birth in the report must match the values in your ownership.persons[i] submission exactly. Other identity fields in the report, such as nationality or tax ID number, are cross-checked too. Fields absent from the report count as inconclusive, not a mismatch.

The original ID document

Upload the government ID that your provider verified for the person: a passport, national ID card or driver’s license. The attestation does not replace it.
  • Upload the front of the document. If the document has a back, upload the back as a second file. A passport needs only its photo page.
  • Upload images or PDFs of the document itself. ID images embedded in the attestation PDF do not count as the original ID.
  • You do not upload a selfie. The API has no selfie document type.
You can also attach other documents your provider collected for the person, such as a proof of address or a second ID. Attach them in the same ownership.persons[i].documentIds[].

How to export from your provider

The table below covers the most common providers. For providers not listed, export the verification summary or decision report from your provider’s dashboard or case management UI.
Provider dashboard layouts change over time. If the menu path above no longer matches, look for an “Export”, “Download”, or “Generate Report” action on the individual verification or session detail page.

Integration walkthrough

Step 1 — Upload each person’s attestation and ID

Upload the attestation PDF and the ID images for each control person, one file per call. Use purpose: kyc and Content-Type: multipart/form-data. POST /v2/documents takes an optional purpose; identity attestations use purpose=kyc, while ordinary onboarding documents omit it or use the default.
Response:
Upload the ID the same way, one call for the front and one for the back:
Save each id. You attach them to the person in the next step.

Step 2 — Submit the onboarding application

Submit a standard POST /v2/onboarding request. For each control person, include the document ID in ownership.persons[i].documentIds[].
The key difference from standard onboarding is ownership.persons[i].documentIds. The attestation PDF and the ID images attach there. The top-level documentIds carries business-entity documents only, such as registration and license. Response:

Step 3 — Listen for the outcome

Configure a webhook listener for application.approved and application.rejected. See Webhooks for setup. When the attestation matches the submitted data on name, date of birth, and any other identity fields in the report, and the original ID is attached, the review pipeline clears the identity requirement. The application proceeds toward approval without operator intervention.

Acceptance and rejection expectations

A submitted attestation may be rejected for any of these reasons: When an attestation is rejected or mismatched, the application routes to operator review: a human reviewer looks at it, and you still receive application.approved or application.rejected as normal — see The Onboarding Lifecycle for the decision webhooks. You receive an application.rejected webhook if the operator decides the application cannot proceed. Read resubmittable on that webhook before you retry: when it is true, submit a new application with corrected documents; when it is false, the decision is final and a new submission reaches the same outcome. Do not call cancel on a rejected application. Cancel accepts only applications still in review. It returns 409 on an approved or rejected one, and 200 with the application unchanged on a cancelled one.