Support Channels
Email Support
baas-support@unionbank.ngGeneral technical support, integration questions, and quota increase requests. Response within 1 business day.
Self-Service Portal
sandbox.api.unionbank.ngManage API keys, view webhook delivery history, review your KYB status, and submit production access requests — without contacting support.
Documentation
ubn.onecluster.coFull API reference, integration guides, tutorials, and this page. Search is available in the top bar.
Before You Email Support
Most integration issues have a fast self-serve resolution. Run through this checklist before sending an email — in our experience, it resolves around 70% of reported issues.Check API health
Check API health
Is the API returning a healthy status?
healthy, there may be a platform incident in progress. Check the status page at sandbox.api.unionbank.ng/status before investigating your own integration.Check your API key
Check your API key
Is your API key correct and not revoked?
Are you using the right key for the right environment?
Check your base URL
Check your base URL
Are you calling the correct base URL for your key type?
| Environment | Base URL |
|---|---|
| Sandbox | https://sandbox.api.unionbank.ng |
| Production | https://api.unionbank.ng |
Check your request signature
Check your request signature
Is your
X-Signature header computed correctly?X-Signature header. If you receive a 401 Unauthorized on a signed endpoint, verify:- You are signing the exact request body that will be sent (not a reformatted or re-serialised version).
- You are using your signing secret, not your API key.
- The signature is hex-encoded, not base64.
- You are not including extra whitespace or a trailing newline in the body before signing.
Check your rate limit status
Check your rate limit status
Have you exceeded your rate limit? Check the
X-Quota-Remaining header in your last response.X-Quota-Remaining is 0, you have exhausted your billing period quota and will receive 402 responses until the reset date shown in X-Quota-Reset.If you are receiving 429 Too Many Requests, you have hit the per-minute rate limit for that endpoint. Wait for Retry-After seconds and retry. See Rate Limits and Quotas for full details.What to Include in a Support Request
When you do email support, include the following information in your first message. We cannot investigate without it — and missing information means a back-and-forth that delays your resolution.Your Partner ID
Your Partner ID is shown in the portal under your account settings. It looks like
PRT-0001. This is how we look up your account.The X-Correlation-ID from the failed request
Every API response includes an
X-Correlation-ID header. This is a unique identifier for that specific request in our logs. With this ID, we can find the exact request, the internal processing trace, and any error details — even if you only received a generic error message.If you do not have this header, include the timestamp of the request (as precise as possible, including timezone) and the endpoint you called.The endpoint and request details
The full endpoint URL you called (e.g.
POST /api/v1/payments/transfer), what you sent in the request body (redact any sensitive values like account numbers if needed), and the full response you received including the HTTP status code.The error code and message
From the response body — the
type, title, status, and detail fields. If you received a code field inside the error, include that too. See API Reference — Errors for the full list of error codes.Common Issues and Quick Fixes
401 Unauthorized on every request
401 Unauthorized on every request
401 Unauthorized on payment or KYC endpoints only
401 Unauthorized on payment or KYC endpoints only
422 Validation Error on transfer
422 Validation Error on transfer
Most likely cause: A required field is missing or in the wrong format.Check the
detail field in the error response — it names the specific field that failed validation. Common issues:amountmust be a positive integer in kobo (not naira). ₦100 is10000.bank_codemust be a 3-digit string (e.g."058", not58).account_numbermust be exactly 10 digits.idempotency_keymust be unique per transaction — reusing a key from a previous transaction will return the original response.
Webhook not received
Webhook not received
Checklist:
- Is your endpoint URL correct in the portal? Paste it into a browser to confirm it loads.
- Is your endpoint returning
2xxwithin 10 seconds? If it times out, the delivery is marked failed and retried. - Are you testing locally? You need ngrok or a similar tunnel to receive webhooks on a local machine. See the Sandbox Guide.
- Check the webhook delivery history in the portal. It shows every attempted delivery, the HTTP status code your endpoint returned, and whether retries are scheduled.
Transfer stuck in PENDING
Transfer stuck in PENDING
Transfers via NIP should complete within 30 seconds. If a transfer remains
PENDING for longer:- Check the NIP network status at sandbox.api.unionbank.ng/status.
- Poll
GET /api/v1/payments/{reference}for up to 5 minutes before treating it as a failure. - If still
PENDINGafter 5 minutes in production, email baas-incidents@unionbank.ng with theX-Correlation-IDand payment reference.
0123456789 / bank code 058 for reliable test transfers.BVN verification returning 'not found' in sandbox
BVN verification returning 'not found' in sandbox
In the sandbox, BVN verification only returns a successful match for numbers starting with
222 (e.g. 22212345678). Any other number returns not found. This is intentional — it lets you test both your happy path and your error handling. See the Sandbox Guide for all test data values.Escalation
| Priority | Criteria | Contact | Subject Line Format |
|---|---|---|---|
| P1 | Complete service outage — production API returning 5xx, no payments processing | baas-incidents@unionbank.ng | P1: [brief description] |
| P2 | Significant degradation — some endpoints failing, payment delays, webhook backlog | baas-incidents@unionbank.ng | P2: [brief description] |
| P3 | General technical issue, integration question, non-urgent bug | baas-support@unionbank.ng | Standard subject |