Overview
didx:verify has two projects. Each project has its own authentication server, and the CustomClient3 endpoints use a third:
All three use the OAuth2
client_credentials grant. Request a token from the server that matches the endpoint you are calling.
A token is scoped to its own server. A Marketplace
sc-citizen token is not accepted by the Journey API, and a
Journey vc-verify token is not accepted by the Marketplace API.Marketplace authentication
Use your MarketplaceclientId and clientSecret with the sc-citizen scope:
https://citizen.uat.securecitizen.cloud.
Journey authentication
Use your JourneyclientId and clientSecret with the vc-verify scope:
/journey/* endpoints on https://verify.dev.securecitizen.cloud.
CustomClient3 authentication
Two Journey endpoints are served fromhttps://customclients.dev.securecitizen.cloud rather than the Journey base URL:
POST /CustomClient3/CustomClient3StartProcessPOST /CustomClient3/CustomClient3RequestResult
sc-citizen token from sts.dev.securecitizen.cloud, not a Journey vc-verify token:
Response
All three servers return the same token shape:Using the token
Include the token as a Bearer token in every request:Consent requirement
Most Marketplace and CustomClient3 requests require"ConsentReceived": true in the request body. This documents that you have obtained the subject’s informed consent to process their personal data, as required by POPIA.
Checking system status
Before making Marketplace verification calls, you can check whether the Department of Home Affairs (DHA) systems are online:NPRStatus, HANISStatus, and NIISStatus.
TBC: engineering adding GET /Citizen/Status to the API reference.

