Identity access
Scopes
Scopes define the maximum information an application may request. They never bypass user consent, data availability, or UnifyID policy.
Enabling a scope only makes it eligible for a request. The user must still grant that scope during authorization before any corresponding information can be disclosed.
Scope catalogue
Risk describes the sensitivity of the requested information. “Attestable” means UnifyID can accompany the verified result with privacy-safe proof metadata; it never means raw evidence or biometric data is disclosed.
Authentication
Issue an OpenID Connect ID token and an application-specific subject.
- Risk
- Standard
- Proof
- Not attestable
Request the basic profile bundle. It never means unrestricted profile access.
- Risk
- Standard
- Proof
- Not attestable
Contact
Request one user-selected verified email address.
- Risk
- Standard
- Proof
- Attestable
Request the verified email addresses the user explicitly selects.
- Risk
- Sensitive
- Proof
- Attestable
Request one user-selected verified phone number.
- Risk
- Standard
- Proof
- Attestable
Request the verified phone numbers the user explicitly selects.
- Risk
- Sensitive
- Proof
- Attestable
Personal identity
Request the legal name established by identity verification.
- Risk
- Sensitive
- Proof
- Attestable
Request the current age derived from a verified date of birth.
- Risk
- Sensitive
- Proof
- Attestable
Receive a privacy-preserving boolean confirming whether the person is at least 18.
- Risk
- Standard
- Proof
- Attestable
Request the exact verified date of birth.
- Risk
- Restricted
- Proof
- Attestable
Request verified nationality.
- Risk
- Sensitive
- Proof
- Attestable
Identity assurance
Check whether UnifyID currently considers the person verified.
- Risk
- Standard
- Proof
- Attestable
Request the assurance level reached by the identity.
- Risk
- Standard
- Proof
- Attestable
Check whether required live-person verification passed.
- Risk
- Sensitive
- Proof
- Attestable
Check whether the live person matched the verified account reference.
- Risk
- Sensitive
- Proof
- Attestable
Profile
Request the user-approved profile photo.
- Risk
- Restricted
- Proof
- Not attestable
Check whether the current profile photo passed account-bound matching.
- Risk
- Standard
- Proof
- Attestable
Documents
List approved verified documents using opaque application-specific references.
- Risk
- Sensitive
- Proof
- Attestable
Request the verified document type.
- Risk
- Standard
- Proof
- Attestable
Request the country that issued the document.
- Risk
- Standard
- Proof
- Attestable
Request the verified document expiry date.
- Risk
- Sensitive
- Proof
- Attestable
Request whether the document is active, expired, disabled, or revoked.
- Risk
- Standard
- Proof
- Attestable
Check whether the selected document passed verification.
- Risk
- Standard
- Proof
- Attestable
Request when the selected document was verified.
- Risk
- Sensitive
- Proof
- Attestable
Request a masked document identifier.
- Risk
- Sensitive
- Proof
- Attestable
Restricted complete document number; requires explicit consent and Production approval.
- Risk
- Restricted
- Proof
- Attestable
Scope dependencies
| Request | Required boundary |
|---|---|
openid | Required for OpenID Connect authentication and an ID token. |
profile | A bounded basic profile bundle; it is not permission to retrieve every profile field. |
email / phone | Returns one user-selected verified value. Use the plural scope only when multiple values are necessary. |
identity_documents | Required before the document collection endpoint can be used. |
document_* | Requires identity_documents, an allowed country and document type, the matching permitted field, and user approval. |
Document selection policy
Document access is configured in three layers. First select an issuing country, then one or more document types from that country’s live catalogue, and finally the exact fields your application may receive. New catalogue entries are never added to an existing application automatically.
Select a supported country.
Select accepted evidence from that country.
Allow only fields required by the decision.
The person chooses an eligible document and approves disclosure.
Retrieve approved documents
List approved documents first, then retrieve one document using its opaque, application-specific reference. A reference is not a document number, differs between applications, and stops resolving when the document or consent is no longer shareable.
/v1/userinfo/identity-documentsRequires identity_documents. Returns only active, verified, scope-enabled, share-enabled documents that match the saved country and document-type policy.
{
"data": {
"documents": [{
"documentReference": "docref_opaque_application_value",
"displayName": "NG Passport",
"documentType": "passport",
"issuingCountry": "NG",
"validityStatus": "active",
"verified": true
}]
}
}/v1/userinfo/identity-documents/:documentReferenceReturns only the fields approved for that document and may include privacy-safe UnifyID attestation metadata.
{
"data": {
"documentReference": "docref_opaque_application_value",
"displayName": "NG Passport",
"documentType": "passport",
"issuingCountry": "NG",
"expiryDate": "2031-07-31",
"validityStatus": "active",
"verified": true,
"verifiedAt": "2026-07-31T12:00:00.000Z",
"maskedDocumentNumber": "•••• 7778",
"proof": {
"type": "UnifyIDAttestation",
"attestationId": "attestation_public_reference",
"schemaVersion": "1.0",
"status": "issued",
"proofHash": "privacy_safe_proof_hash"
}
}
}Restricted document numbers
document_number_full is unavailable in Sandbox. Production access requires an active Production application, explicit user consent, a permitted document field, and administrative approval. Every successful disclosure is audited. Prefer document_number_masked whenever possible.
Unavailable and revoked information
UserInfo omits unavailable claims rather than inventing a negative value. Document endpoints reject missing scope with insufficient_scope, return 404 when an approved reference no longer resolves, and reject tokens whose consent has expired or been revoked. Your application must stop new processing after revocation and apply its retention or deletion obligations.
Compatibility alias
identity_verification_status remains accepted for compatibility with earlier integrations. New applications should request identity_verified. Do not request both.
Least privilege
age_over_18Use an age threshold instead of requesting the complete date_of_birth.
identity_verifiedRequest a clear trust decision when the underlying identity details are unnecessary.
email or phoneRequest one selected contact value unless your product genuinely requires multiple values.
Request document fields only when they directly support the stated business decision.
Consent behavior
The consent page shows the actual requested scopes. Adding a scope later requires a new authorization request; existing grants do not silently expand.