Ask apim@sanlam.co.za for an Application linked to this API, then:
POST {gatewayUrl}/auth/oauth/v2/token
client_id={clientId}
client_secret={clientSecret}
grant_type=client_credentials
client_id={clientId}
client_secret={clientSecret}
grant_type=client_credentials
Submit — the bearer token goes on every call:
POST /v1/verifications/identity
{ "idNumber": "9999999999999" }
→ 202 { correlationId, statusUrl }
{ "idNumber": "9999999999999" }
→ 202 { correlationId, statusUrl }
202 means accepted, not verified.
Poll the status URL until
COMPLETED.Then read the outcome
Once
status is COMPLETED,
these four mean genuinely different things:
SUCCEEDED
Matched. Continue.
Matched. Continue.
HARD_FAIL
Details do not match. Do not retry the same payload.
Details do not match. Do not retry the same payload.
SOFT_FAIL
Partial match. Route to a human.
Partial match. Route to a human.
SYSTEM_OUTAGE
Nothing is wrong with the subject. Retry later.
Nothing is wrong with the subject. Retry later.
Gateway rejections arrive as
401
or 403 before the request reaches the BFF.
What are you integrating?
One person