BankiPay HTTP API
Every endpoint that powers the agent portal, the admin console, and the public catalog. The same surface the dashboard talks to — so what you see here is exactly what ships. All endpoints accept application/json and return JSON.
Getting started
4 endpointsBase URL, auth, idempotency, rate limits, and how errors are returned.
Auth
9 endpointsMerchant / admin / platform sign-in. Returns a JWT you send in `Authorization: Bearer …`.
User (BankiPay agent portal)
35 endpointsEndpoints the signed-in agent calls. All require `Authorization: Bearer <banki_jwt>`.
Admin (back-office)
55 endpointsMerchant scoping enforced via `x-admin-merchant-id`. Super-admins (`admin_users.role = "platform"`) can cross merchants.
KYC / KYB
9 endpointsIdentity verification flows. Users submit; admins approve; KYB is per-merchant.
Merchant (business banking)
9 endpointsPer-merchant endpoints for the business banking portal (KYB-verified businesses).
Webhooks
1 endpointOutbound webhooks. HMAC-SHA256 signed. Replayable from the admin audit log.
Errors
1 endpointAll error responses follow a consistent shape. HTTP status is also set correctly.
Auth examples
Authorization: Bearer eyJ… # banki_jwt = base64(<userId>:<merchantId>)
Authorization: Bearer <jwt> # AND/OR x-admin-token: <token>
Authorization: Bearer <jwt> # banki_jwt = base64(<userId>:<merchantId>)
