Issue a BIG Registration to a Personal Wallet
The Story
Imagine Sophie, a physiotherapist who has completed her training and passed all her examinations. Before she can start treating patients, she needs to be registered in the BIG register — the Dutch registry for healthcare professionals. This registration proves that she is qualified and legally authorized to practice.
In the old world, Sophie would receive a paper certificate in the mail, weeks after her registration was processed. Every time a hospital or clinic wanted to verify her qualifications, they would have to validate her paper certificates — a process that is slow, error-prone, and doesn't give Sophie any control over her own professional identity.
But the BIG register has modernized. Using verifiable credentials powered by the Credenco Business Wallet, Sophie's registration now comes to life digitally. She logs into the BIG register portal, and within seconds a QR code appears on her screen. She pulls out her phone, opens her personal wallet app, and scans the code. A new credential — her official BIG registration — slides into her wallet. It is cryptographically signed by the BIG register, tamper-proof, and instantly verifiable by any healthcare institution in the Netherlands. The whole process takes less than 30 seconds.
From now on, when Sophie starts at a new hospital, she simply presents her BIG credential from her wallet. No more waiting, no more manual lookups — just instant, trusted proof of her qualifications.
This guide shows you how to build that experience.
How It Works
When issuing a BIG registration credential to a personal wallet, the flow involves three parties: the BIG register portal (where the healthcare professional interacts), the BIG register backend (which orchestrates the process), and the Credenco Business Wallet (which creates and signs the credential).
The healthcare professional never needs to install special software or remember additional passwords — the credential lands directly in their wallet app via a simple QR code scan.
Key Concepts
| Concept | Description |
|---|---|
| Personal Wallet App | A mobile app on the user's phone that stores verifiable credentials (e.g., a wallet compliant with the EUDI Wallet standard) |
| QR Code | The bridge between your web application and the user's mobile wallet — encodes the credential offer |
| OpenID4VCI | The open standard protocol used for credential issuance between the wallet app and your Credenco Business Wallet |
| Correlation ID | A business key you provide to track the issuance process and check its status |
Sequence Diagram
The diagram below shows the complete interaction between all parties — from the moment Sophie completes her registration to the moment the BIG credential appears in her wallet.
Step-by-Step Integration
Prerequisites
Before you begin, make sure you have:
- A Credenco Business Wallet account (sign up here)
- An Issuer Template configured — Create Issuer Template
- A Credential Template configured — Create Credential Template
- API access enabled — Set up API authentication
Step 1: Start the Credential Issuance
When a healthcare professional completes their registration, the BIG register backend calls the Start issue Credential API.
Request:
curl -X POST https://your-wallet.credenco.com/api/v2/credential/issue \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"correlation_id": "big-reg-sophie-2026",
"template_id": "big_registration",
"claims": {
"first_name": "Sophie",
"last_name": "de Vries",
"big_number": "29065432101",
"profession": "Physiotherapist",
"specialism": "Sports Physiotherapy",
"registration_date": "2026-03-19",
"valid_until": "2031-03-19"
},
"qr_code": {
"size": 400
}
}'
Tip: The qr_code object is what tells Credenco to generate a QR code for a personal wallet. Without it, the response will contain a deeplink URI instead, suitable for business wallets.
Response:
{
"correlation_id": "big-reg-sophie-2026",
"request_uri": "openid-credential-offer://?credential_offer_uri=https://your-wallet.credenco.com/openid4vc/credentialOffer?id=e1a90dd6-7667-48c1-98a8-526079e76e24",
"status_uri": "https://your-wallet.credenco.com/api/v2/issue/big-reg-sophie-2026",
"qr_uri": "data:image/png;base64,iVBORw0KGgo..."
}
| Field | Description |
|---|---|
correlation_id | Your business key to track this issuance |
request_uri | The OpenID4VCI credential offer URI (encoded in the QR code) |
status_uri | Endpoint to poll for status updates |
qr_uri | Base64-encoded PNG image of the QR code — ready to display |
Step 2: Display the QR Code
The qr_uri in the response is a Data URI containing the QR code as a PNG image. Display it directly in your frontend:
<!-- The qr_uri from the API response can be used directly as an image source -->
<div style="text-align: center; padding: 2rem;">
<h2>Scan this QR code with your wallet app</h2>
<img src="data:image/png;base64,iVBORw0KGgo..." alt="BIG Registration QR Code" />
<p>Open your wallet app and scan the code to receive your BIG registration credential.</p>
</div>
Note: The QR code is a one-time use code. Once scanned and the credential is issued, it cannot be reused. Generate a new one for each issuance.
Step 3: The User Scans the QR Code
This is where the magic happens — from Sophie's perspective:
- Sophie opens her personal wallet app on her phone
- She taps "Scan QR code" (or similar)
- The wallet app reads the QR code and contacts the Credenco Business Wallet
- The wallet and Credenco exchange the credential using the OpenID4VCI protocol
- Sophie sees her new BIG registration credential in her wallet and accepts it
The BIG register portal doesn't need to do anything during this step — the wallet app and Credenco handle everything automatically.
Step 4: Check the Issuance Status
After the QR code is displayed, your backend can poll the Get issue status API to track progress:
curl https://your-wallet.credenco.com/api/v2/credential/issue/big-reg-sophie-2026 \
-H "x-api-key: YOUR_API_KEY"
Response (after credential is accepted):
{
"status": "issue_completed",
"correlation_id": "big-reg-sophie-2026",
"last_updated": 1751155200000,
"revocation_uuid": "0e2c1f62-3392-462e-a25e-483fa0e2a3a3"
}
| Status | Meaning |
|---|---|
issue_request_created | The credential offer has been created, waiting for the wallet to pick it up |
credential_offer_retrieved | The wallet app has retrieved the offer |
issue_completed | The credential has been successfully issued and accepted |
error | Something went wrong during the issuance process |
Tip: Save the revocation_uuid from the completed response. You'll need it if you ever want to revoke the credential in the future.
Optional: Use Callbacks Instead of Polling
Instead of polling the status endpoint, you can provide a callback URL in the issue request. Credenco will notify your backend automatically when the status changes:
{
"correlation_id": "big-reg-sophie-2026",
"template_id": "big_registration",
"claims": { ... },
"qr_code": { "size": 400 },
"callback": {
"url": "https://your-backend.com/webhooks/credential-status",
"status": ["issue_completed", "error"]
}
}
Your callback endpoint will receive a POST request with the status update whenever the issuance completes or fails.
Complete Flow at a Glance
Calls the Issue API with the registration details and requests a QR code
Display the returned QR code in the BIG register portal
Sophie scans the QR code with her personal wallet app
The wallet and Credenco exchange the BIG registration via OpenID4VCI
API Reference
| API | Method | Endpoint | Description |
|---|---|---|---|
| Start issue Credential | POST | /api/v2/credential/issue | Start the credential issuance and get a QR code |
| Get issue status | GET | /api/v2/credential/issue/{correlationId} | Check the status of an issuance process |
| Revoke Credential | POST | /api/v2/credential/revoke | Revoke a previously issued credential |
What's Next?
Now that you understand how to issue credentials to a personal wallet, you might want to explore:
- Issue to a Business Wallet — Issue credentials to another organization's web wallet instead of a mobile app
- Create Credential Templates — Design the credential types your organization issues
- API Authentication — Set up OAuth2 or API key authentication
- Verify Credentials — Request and verify credentials from holders