How the KYC flow works
Vendor submits documents
During onboarding (or later from their profile), the vendor uploads verification documents. Each uploaded item becomes a
VerificationDocument record with an initial verification_status of pending.You review each document
Open the vendor’s profile and navigate to the Documents section. For each document, you can see its type, submission date, and current status. Review the uploaded file via
document_url.Approve or reject the document
Select Approve to mark the document as
verified, or Reject to mark it as rejected. When rejecting, you must provide a rejection reason, which is stored in rejection_reason.Approve or reject the vendor
Once all required documents are verified, you can approve the vendor as a whole. If documents are missing or invalid, you can reject the vendor. This updates the vendor’s top-level
verification_status.VerificationDocument fields
Each document submitted by a vendor contains the following fields:| Field | Description |
|---|---|
document_id | Unique identifier for this document record |
document_type_id | Reference to the configured document type (e.g. business registration, tax certificate) |
document_type_name | Human-readable name of the document type |
document_type_description | Description of what the document type covers |
document_url | URL of the uploaded file |
number | Document number or reference code (e.g. registration number) |
verification_status | Current review outcome for this document |
rejection_reason | Reason provided when the document is rejected; null otherwise |
submitted_at | ISO 8601 timestamp of when the vendor uploaded the document |
expires_at | Expiry date of the document, if applicable |
verified_at | Timestamp of when the document was approved |
Document verification statuses
| Status | Meaning |
|---|---|
pending | The document has been submitted and is awaiting review |
verified | You have reviewed and approved the document |
rejected | You have reviewed the document and it did not meet requirements |
The
verification_status field on an individual VerificationDocument uses verified (not approved) to indicate a passing review. The top-level vendor verification_status uses approved.Overall vendor status
After you act on a document, the API response includes anoverall_vendor_status field that reflects the vendor’s aggregate verification state. This value is derived from the combination of all document statuses and any explicit approve or reject action you take on the vendor as a whole.
The vendor-level verification_status can be:
| Value | Meaning |
|---|---|
pending | One or more documents are still under review, or the vendor has not yet been explicitly approved |
approved | All required documents have been verified and the vendor has been approved |
rejected | The vendor has been rejected, either due to failed documents or an explicit rejection |
Rejecting a vendor or document
When you reject a document or a vendor, the dashboard prompts you to select or enter a rejection reason. Common reasons include:- Incomplete or missing verification documents
- Invalid or expired verification documents
- Inconsistent business information
- Violation of platform policies
rejection_reason on the VerificationDocument record (for document-level rejections) or sent as part of the vendor status update payload (for vendor-level rejections).