Use the Business Onboarding endpoints to create and verify sub-businesses under your Tradevu account — for example, if you’re a platform onboarding merchants of your own. Every business you create is scoped to your API key and only visible to you.
Currently, Nigerian businesses (LLC, LLP, and SoleProprietorship) are supported. LLP follows the exact same document requirements as LLC. country is fixed to Nigeria on every business you create through this API.

The flow

1

Upload supporting documents

Upload each document (certificate of incorporation, bank statement, proof of address, etc.) individually and collect the returned URLs before you create the business.
2

Create the business

Call POST /api/business with the business’s identity, address, and documents. The required document set depends on businessType — see Required documents below.
3

Add directors and UBOs

Call POST /api/business/:businessId/director and POST /api/business/:businessId/ubo for each person. Once at least one director and one UBO have been added, the business is automatically submitted for verification.
4

(Optional) Update or check status

Use PATCH /api/business/:businessId to correct or add fields, and GET /api/business/:businessId to poll verification status.

Uploading a document

Response
file
required
The document to upload. Accepts JPEG, PNG, or PDF, up to 20MB.
The response only returns a link. When you reference this document elsewhere in the API (e.g. in documents, proofOfAddress, or sourceOfFund), pass that link as url, and any identifier you want to keep for your own records as key — Tradevu doesn’t derive key from the upload, it just stores whatever you send.

Create a business

POST /api/business creates a sub-business and submits its top-level KYB fields. Every field except documents and the optional ones below maps 1:1 to the request body.
string
required
Registered business name.
string
required
LLC, LLP, or SoleProprietorship. LLP requires the same documents as LLC.
string
required
CAC registration number (or BN number for sole proprietorships).
string
required
Business email address.
string
required
Business phone number, in E.164 format (e.g. +2348012345678).
object
required
{ nature: string, code: string } — a free-text description and your own classification code.
object
required
{ houseNumber, street, city, state, zipCode, subdivision? }.
object
Same shape as businessAddress, if it differs from the registered address.
object
required
{ url, key, type } — type is one of Utility bill, Tax Bill, Electricity Bill, Lease agreement, Tenancy agreement, Recent utility bill, Council tax bill.
object
required
A map of document key → { url, key }. See Required documents.
string
Short description of what the business does.
string[]
List of business activities.
object
{ currency, amount } — expected monthly volume.
boolean
Whether the business has a website.
string
Website URL, if hasWebsite is true.
object
{ url?, type, name? } — where the business’s funds come from.
string
Tax identification number.
Legal name, if different from name.
Creating a business with a name or registrationNumber that already exists (on any business, not just your own) returns a 400.

Required documents

The documents object accepts flexible keys — Tradevu maps common aliases (cac_document, cac, certificate_of_incorporation, bank_statement, bn_form_1, combined_cac, etc.) to internal document types automatically. Anything not on this list falls back to an uppercased match against the supported document types (e.g. business_license → BUSINESS_LICENSE), and unrecognized keys are rejected. Every business needs a certificate of incorporation or business license and a six-month bank statement. Beyond that, requirements differ by businessType:
Also requires an application letter, plus either:
  • a cac_status_report, or
  • a bn_form_1 (BN Form 1)
cac_document (aliased to a certificate document) satisfies the certificate requirement — you don’t also need cac. bn_form_1 alone is enough to satisfy the status-report-or-BN-Form-1 rule; the cac_status_report above is included for completeness but isn’t required if bn_form_1 is present.
Response (all variants)

Add a director or UBO

At minimum one director and one UBO are required before Tradevu will submit the business for verification — the last call that completes both automatically triggers submission.
POST /api/business/:businessId/ubo takes the identical shape. Use POST .../director for a director/officer and POST .../ubo for a beneficial owner — the same person can be added to both if they hold both roles.
string
required
string
required
string
required
string
required
string
required
string
required
One of IdCard, BioMetricResidencePermit, BirthCertificate, currentPassport, driverLicense, bvnNumber, nationalId.
string
required
URL of the uploaded ID document.
object
required
{ houseNumber, street, city, state, zipCode, subdivision? }.
object
required
{ url, key }.
object
{ url, key }.
string
Email address.
string
Job title / role.
string
Ownership percentage, for UBOs.
string
string
Response

Check business status

Response
Each field-level object (name, registrationNumber, individual documents, directors, UBOs) carries its own status (PENDING, APPROVED, REJECTED, …) and, when rejected, a reason — poll this endpoint or check your dashboard to see what’s outstanding.

Update a business

PATCH /api/business/:businessId accepts the same body as create, minus name and registrationNumber, and all fields optional — send only what you want to change. Any field you update (address, documents, TIN, etc.) is reset to PENDING status for re-review.

Full endpoint reference

See exact request/response schemas for every endpoint above.