Hosted KYC Submission

We provide a hosted solution where your users complete KYC requirements through our web interface. To enable this, you generate a short-lived session token and present the resulting link to your user.

When to use this

When you receive a transfers.kyc.submission.status_changed webhook event (or poll the get submission endpoint), the submission require your user to provide additional data. Create a session token for the relevant submission and redirect your user to the hosted flow.

Partial completion
You don't need to delegate the entire submission to the user. For example, you can programmatically submit identity documents and basic personal information via the API, leaving only the questionnaire for the user to complete. When the user opens the hosted link, they will only see the remaining unfilled steps.

Create a session token

import requests

API_BASE = "https://api.due.network"
API_KEY = "YOUR_API_KEY"

response = requests.post(
    f"{API_BASE}/v1/kyc/sessions",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Due-Account-Id": "<ACCOUNT_ID>",
        "Content-Type": "application/json"
    },
    json={
        "submissionId": "<SUBMISSION_ID>"
    }
)
response.raise_for_status()
token = response.json()["token"]

Response:

{
  "token": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9..."
}

Build the submission link

Construct the URL using the submission ID and the session token, then present it to your user:

https://app.due.network/kyc_submissions/<SUBMISSION_ID>?token=<TOKEN>