Skip to main content

Quickstart - your first verification

This guide shows you how to create your first verification session in four steps.

POST/api/v1/verificationsComplete session creation contract: parameters, modes and error codes.Full contract in the API Reference

Step 1: Obtain an API key

Generate a test key in the administration panel - see API key. Format: deid_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Step 2: Create a verification session

Send a POST request to the /verifications endpoint with your chosen verification method:

curl -X POST https://WSKAZANY_PRZEZ_SUPPORT.snd.dpay.pl/api/v1/verifications \
-H "Authorization: Bearer deid_test_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"provider": "bank_transfer",
"external_id": "order-12345",
"redirect_url": "https://twoja-strona.pl/weryfikacja-zakonczona",
"locale": "pl"
}'

Response (201 Created)

{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "created",
"purpose": "identity_verification",
"mode": "single",
"provider": "bank_transfer",
"external_id": "order-12345",
"verification_url": "https://hub.dpay.pl/v/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"redirect_url": "https://twoja-strona.pl/weryfikacja-zakonczona",
"locale": "pl",
"metadata": null,
"is_test_mode": true,
"expires_at": "2026-04-07T11:00:00+00:00",
"completed_at": null,
"created_at": "2026-04-07T10:30:00+00:00",
"updated_at": "2026-04-07T10:30:00+00:00"
}
}

Save the id field (the session UUID) and verification_url (the URL to which you will redirect the user).

Step 3: Redirect the user

Redirect the end user to the address in verification_url. The user completes the entire verification process on the HUB page, for example by making a micro-transfer or scanning an mObywatel QR code.

When the process is complete, the HUB redirects the user back to the address provided in redirect_url.

Step 4: Receive the result

You can receive the verification result in either of two ways:

Configure a webhook endpoint (see Webhooks). You will receive a verification.completed notification as soon as the session is complete.

Option B: Polling

Call the /verifications/{id}/result endpoint:

curl https://WSKAZANY_PRZEZ_SUPPORT.snd.dpay.pl/api/v1/verifications/a1b2c3d4-e5f6-7890-abcd-ef1234567890/result \
-H "Authorization: Bearer deid_test_your_api_key"

Response (200 OK)

{
"data": {
"id": "f1e2d3c4-b5a6-7890-dcba-0987654321fe",
"verification_session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "verified",
"confidence_score": 0.95,
"verified_data": {
"first_name": "Jan",
"last_name": "Kowalski",
"pesel": "90010112345"
},
"rejection_reasons": null,
"verified_at": "2026-04-07T10:35:00+00:00",
"created_at": "2026-04-07T10:35:00+00:00"
}
}
PII

The verified_data field contains personally identifiable information (PII). Store it in compliance with GDPR requirements - see PII.

Next steps

GET/api/v1/verifications/{id}/resultRetrieve a verification result: status, verified_data and rejection reasons.Full contract in the API Reference