Skip to main content

Overview

The Onboarding API handles everything required to bring a new business onto the Union Bank BaaS platform. You call these endpoints once during setup; after your business is approved and live, you do not need them again in day-to-day operations. The onboarding sequence is:
Register → Verify Email → Submit KYB Documents → KYC Check → Request API Keys → Go Live Review
All onboarding endpoints are available in the sandbox environment so you can complete the full flow before touching production.

Base URL

EnvironmentBase URL
Sandboxhttps://sandbox.api.unionbank.ng
Productionhttps://api.unionbank.ng

Authentication During Onboarding

The Register and Verify Email endpoints are public — they require no API key. All subsequent onboarding endpoints (KYB submission, status checks) require a Bearer token obtained from the registration step, until your API key is issued.
Authorization: Bearer <registration_token>

Endpoints

The interactive playground below is powered by the OpenAPI specification. Click Try it on any endpoint, fill in the fields, and send a live request to the sandbox.

Register Business

POST /v1/onboarding/register Creates a new business account on the platform. You provide your business name, email, and contact details. The platform sends a verification email immediately after this call succeeds. What you send:
FieldTypeRequiredDescription
business_namestringYesLegal registered name of your business
emailstringYesPrimary contact email (must be a real inbox — a verification code is sent here)
phonestringYesBusiness phone number in international format (e.g., +2348012345678)
countrystringYesTwo-letter country code — NG for Nigeria
business_typestringYesOne of: sole_proprietor, partnership, limited_liability, public_company
What you get back:
FieldDescription
business_idUnique ID for your business — save this
registration_tokenShort-lived token used in subsequent onboarding calls
email_verification_requiredAlways true — check your inbox

Verify Email

POST /v1/onboarding/verify-email Confirms that the email address provided during registration belongs to you. Enter the 6-digit code that was emailed to you. What you send:
FieldTypeRequiredDescription
business_idstringYesFrom the register response
codestringYes6-digit code from the verification email
What you get back:
FieldDescription
verifiedtrue when the code matches
next_stepAlways kyb_documents — proceed to document upload

Submit KYB Documents

POST /v1/onboarding/kyb Upload your business verification documents. KYB stands for Know Your Business — the process banks use to confirm that your company is real and legitimate. Accepted document types:
DocumentDescription
cac_certificateCAC Certificate of Incorporation from the Corporate Affairs Commission
cac_7CAC Form 7 — list of directors
cac_2CAC Form 2 — statement of share capital
tax_identificationTax Identification Number (TIN) certificate
utility_billRecent utility bill for business address (not older than 3 months)
directors_idGovernment-issued ID for each director
Documents must be uploaded as base64-encoded strings in the request body. Accepted formats: PDF, JPG, PNG. Maximum 5 MB per file.
All documents are encrypted with AES-256-CBC before storage. Never send raw document data over an unencrypted connection.

Get Onboarding Status

GET /v1/onboarding/status Check where your business is in the onboarding process at any time. Possible status values:
StatusMeaning
pending_email_verificationWaiting for email to be confirmed
pending_kyb_reviewDocuments submitted, under review (1–3 business days)
kyb_approvedDocuments accepted, proceed to API key creation
kyb_rejectedDocuments rejected — see rejection_reasons in the response
activeFully onboarded and live
suspendedAccount temporarily suspended — contact support

Create API Key

POST /v1/onboarding/api-keys Once your KYB is approved, generate your first API key. This key is what you will use to authenticate all future API calls. What you send:
FieldTypeRequiredDescription
namestringYesA label for this key (e.g., production-app, mobile-backend)
environmentstringYessandbox or production
permissionsarrayYesList of permission scopes (e.g., accounts:read, payments:write)
What you get back: The full API key is shown once only in this response. Copy and store it securely immediately — it cannot be retrieved again.
FieldDescription
key_idPermanent identifier for this key
api_keyThe secret key value — store this immediately
created_atTimestamp of creation
permissionsConfirmed list of granted permissions

Error Codes

All onboarding errors follow the RFC 7807 Problem Details format.
HTTP StatusError CodeMeaning
400VALIDATION_ERROROne or more fields are missing or incorrectly formatted
409EMAIL_ALREADY_REGISTEREDThis email is already linked to an existing business account
410VERIFICATION_CODE_EXPIREDThe 6-digit code has expired — request a new one
422DOCUMENT_REJECTEDA submitted document failed automated checks
429RATE_LIMIT_EXCEEDEDToo many requests — slow down and retry

Full API Reference

The full interactive playground for all Onboarding endpoints is available in the API Reference tab. Select Onboarding from the tag filter to see only onboarding endpoints.

Open API Playground

Try onboarding endpoints live in the browser