1. Set up
Environments, then Authentication, then Request headers.
The BankCore Partner API is for organisations that hold a partner API client at a bank running BankCore: corporates collecting payments, and aggregators running an estate of agents and merchants. Your client is tied to one customer record at the bank (your corporate or agent profile), and everything you do through the API happens in that customer’s name. Your reach is that customer’s own accounts plus the agents and merchants you onboard, whether individuals or registered businesses; a partner does not open or manage accounts for the bank’s other customers.
This is not the bank’s internal channel API. The bank’s own USSD, mobile and web servers use the same endpoints with much wider rights; a partner client is deliberately narrower, and this documentation describes only what a partner can reach.
Every request you make passes three independent checks before it reaches any business logic. Understanding them explains most refusals you will ever see.
| Check | Question it answers | Where it is configured | Refusal |
|---|---|---|---|
| Scope | May this client perform this kind of operation at all? | The scope list on your client | HTTP 403, SCOPE_DENIED |
| Ownership guard | May this client act on this account? | Your own customer record and the sub-agents you onboarded (see Ownership model for what that does and does not include) | PARTNER_ACCOUNT_FORBIDDEN or PARTNER_SUBAGENT_FORBIDDEN (legacy endpoints report 0012) |
| IP allowlist | May this client call from this address? | The allowlist on your client | HTTP 403, IP_NOT_ALLOWED |
Scopes say what, the ownership guard says whose, the allowlist says where from. Nothing in a request body can widen any of them: the tenant, the customer you act for, the scopes and the fee and settlement accounts all travel inside your bearer token. See Scopes, IP allowlist and rate limits and Ownership errors.
The partner portal is an administrative console that sits beside the API; it is not required to integrate. Your finance and operations staff use it to see account balances and statements, virtual account inflows, interbank transfers, webhook subscriptions and their deliveries, and the API fees your usage is charged. Every page of this documentation ends with a short “In the portal” section naming the portal page that shows the same thing, so that engineering and operations are reading the same facts. See The partner portal.
Partner API access is requested through your relationship manager at the bank, not self-served.
client_id and client_secret and hands them to you out of band. The secret is shown once and never returned by any endpoint.Sandbox and production are separate clients with separate credentials; see Environments and base URLs.
1. Set up
Environments, then Authentication, then Request headers.
2. Understand the rules
3. Build
Collecting? Start at Virtual accounts. Running an estate? Start at Ownership model. Paying out? Start at Fund and charge a wallet. Then wire up Webhooks.
4. Ship
Work through the Go-live checklist. The Walkthrough takes a merchant from onboarding to its first inflow end to end.
The API access page shows the client your organisation holds, its scopes, rate limits and IP allowlist, and the fees it has been charged.