Customers (KYB)
Submit business-customer KYB packages for Bitstac review, then react to approve or reject webhooks.
Lifecycle
- draft — create and patch profile fields; upload documents and stakeholders.
- under_review — after a successful submit.
- approved or rejected — after Bitstac compliance review (webhook fired).
- From rejected, you may update the package and submit again.
Only type: business customers are supported today. Use external_reference to store your own CRM id.
Create a draft
curl -X POST "https://api.bitstac.io/api/v1/merchant/customers" \
-H "Authorization: Bearer $BITSTAC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "type": "business", "external_reference": "crm-1001", "business_name": "Northwind Trading Ltd", "registration_country": "NG", "business_email": "ops@northwind.example"}'Documents
Upload via multipart POST /customers/{id}/documents. Allowed types: cac, memart, status_report, scuml, proof_of_funds, utility_bill. Files: PDF/JPEG/PNG, max 5 MB.
Stakeholders
At least one stakeholder is required before submit, each with identity and address document files (identity_document, address_document).
Submit checklist
Submit fails with kyb_incomplete until gaps are filled. Required at minimum:
- Profile:
business_name,registration_country,registration_number,business_address,business_country, andbusiness_emailorbusiness_phone - Documents:
cac,proof_of_funds, and eithermemartorstatus_report - At least one stakeholder with both identity and address files
Webhooks
On approve/reject Bitstac sends merchant.customer.approved / merchant.customer.rejected. See Webhooks.
Endpoint field reference: Customers API.
