The Verify Customer API serves as the formal compliance gate in the onboarding lifecycle. It performs a comprehensive validation check to ensure that the customer profile meets the minimum regulatory and policy requirements for activation.
The system validates the presence and validity of the following core attributes:
- Primary Address: At least one primary physical address must be recorded.
- Identity Documents: One or more valid identifier documents (e.g., Passport, SSN verification).
- Contact Information: A verified email address and mobile phone number.
Success Criteria: If all required attributes and documents are present and valid, the customer’s verification status transitions to Verified, enabling the final activation step.
Failure Handling: If any requirement is missing, the API returns a 403 Forbidden error with a specific reason code, allowing you to identify and resolve the missing data.
Onboarding Flow Context
This API sits squarely in the middle of the customer onboarding journey:
- Create Customer:
POST /v1/clients(State:Pending) - Add Documents/Identifiers: Provide required identification records.
- Verify Customer:
POST /v1/clients/{clientId}?command=verify(State: transitions toVerified) - Activate Customer:
POST /v1/clients/{clientId}?command=activate(State: transitions toActive)
Expected Outcomes & State Transitions
- Success (200 OK): The customer successfully passes verification and their sub-status transitions to
Verified. They are now eligible for Activation. - Domain Violation (403 Forbidden): The system prevents verification if mandatory conditions are unmet. For instance, attempting a
FULLverification without a required SSN, ITIN, or physical ID document. The state remains unchanged.
Integration Guidance
- Ensure all required documentation and identifiers (based on your product configuration) are uploaded to the customer's profile before invoking this API.
- If verification fails with a
403error containing domain rule violations, parse thedeveloperMessageoruserMessageGlobalisationCodeto prompt the user or front-end client for the specific missing documents (e.g. proof of address, physical ID). - Choose the appropriate
kycVerificationType(PARTIALorFULL) based on the regulatory requirements for the accounts they intend to open.
