Hosted endorsement submission

Generate a hosted submission link for endorsement-created KYC/KYB submissions.

Let users complete endorsement-created KYC/KYB submission requirements through Due’s hosted web interface.

This hosted submission path supports endorsement submissions only. Use it for submissions created after requesting an endorsement, such as a virtual account endorsement. Do not use this path for the standard KYC/KYB onboarding flow.

When to use this

Use this flow when an endorsement request creates a submission that requires additional data from the user. Create a session token for the endorsement submission and redirect your user to the hosted flow.

For standard KYC/KYB onboarding, use the regular KYC/KYB submission API flow instead of this hosted endorsement submission link.

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

Create a session token

Use the submission.id returned by the endorsement response as <SUBMISSION_ID>.

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>

Did this page help you?