Integration approaches
Option A: Hosted links (recommended)
The simplest integration. You create a customer, then redirect them to Yativo’s hosted verification flow athttps://kyc.yativo.com.
Step 1: Keep your API key on your backend
Every call to Yativo is made with your API key (X-Api-Key and X-Api-Secret). Make those calls from your backend only. Your web or mobile app talks to your backend, and your backend talks to Yativo.
Step 2: Create a customer
Step 3: Redirect to hosted KYC
Embedding in an iframe
If you prefer to embed verification within your application instead of a full redirect:Step 4: Poll for verification status
After the customer completes the hosted flow, poll the status endpoint to detect when verification is complete.Instead of polling, consider using webhooks to receive real-time notifications when KYC status changes.
Option B: Custom API integration
Build your own multi-step form that collects customer data and submits it directly to the KYC API.Step 1: Collect personal information
When
nationality is "NG", both bvn and nin (each exactly 11 digits) are required by the API. Show these fields conditionally based on the selected nationality.Step 2: Upload files via Yativo storage
Before submitting the KYC form, upload document images using Yativo’s storage endpoint. This keeps payloads small and avoids base64 encoding large files.Step 3: Collect residential address
Step 4: Collect ID document
Step 5: Collect financial information
Step 6: Submit to the KYC API
The KYC submission endpoint is at
https://kyc.yativo.com, not the main API. Send the same API key headers you use for every other request.Status polling (TypeScript)
Webhooks (recommended over polling)
Instead of polling, register a webhook to receive real-time notifications:UI/UX best practices
Progress indicators Show a clear multi-step progress bar so customers know where they are in the verification process. For individual KYC: Personal Info → Address & Documents → ID Document → Financial Info → Review & Submit. Clear error messages Display field-level validation errors immediately, not just on submit. Translate API error codes into user-friendly language. The API returns adata object with field-specific error arrays on 422 responses.
Document upload previews
Always show a preview of uploaded documents before submission. This helps customers catch blurry or incorrectly oriented images before they fail review.
capture="environment" on file inputs to open the rear camera directly on mobile:
kyc_link from the status response to send them back to the hosted flow for corrections.

