Skip to main content

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.

1
2
3
4
5
bigregister.nl/registratieBIG RegisterNameSophie de VriesProfessionPhysiotherapistSpecialismSports PhysiotherapyRegister
My WalletNo BIG credential yet
Sophie completes her BIG registration

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

ConceptDescription
Personal Wallet AppA mobile app on the user's phone that stores verifiable credentials (e.g., a wallet compliant with the EUDI Wallet standard)
QR CodeThe bridge between your web application and the user's mobile wallet — encodes the credential offer
OpenID4VCIThe open standard protocol used for credential issuance between the wallet app and your Credenco Business Wallet
Correlation IDA 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:


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..."
}
FieldDescription
correlation_idYour business key to track this issuance
request_uriThe OpenID4VCI credential offer URI (encoded in the QR code)
status_uriEndpoint to poll for status updates
qr_uriBase64-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:

  1. Sophie opens her personal wallet app on her phone
  2. She taps "Scan QR code" (or similar)
  3. The wallet app reads the QR code and contacts the Credenco Business Wallet
  4. The wallet and Credenco exchange the credential using the OpenID4VCI protocol
  5. 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"
}
StatusMeaning
issue_request_createdThe credential offer has been created, waiting for the wallet to pick it up
credential_offer_retrievedThe wallet app has retrieved the offer
issue_completedThe credential has been successfully issued and accepted
errorSomething 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

1
BIG Register Backend
Calls the Issue API with the registration details and requests a QR code

2
Show QR Code
Display the returned QR code in the BIG register portal

3
User Scans
Sophie scans the QR code with her personal wallet app

4
BIG Credential Issued
The wallet and Credenco exchange the BIG registration via OpenID4VCI


API Reference

APIMethodEndpointDescription
Start issue CredentialPOST/api/v2/credential/issueStart the credential issuance and get a QR code
Get issue statusGET/api/v2/credential/issue/{correlationId}Check the status of an issuance process
Revoke CredentialPOST/api/v2/credential/revokeRevoke a previously issued credential

What's Next?

Now that you understand how to issue credentials to a personal wallet, you might want to explore: