PesaBridge API

The PesaBridge Partner API lets you collect and move money from your own systems — prompt-to-pay (PesaBridge Express / STK Push), customer-to-business (C2B), transaction status and account balance — over a clean, predictable REST interface with HMAC-signed webhooks. This reference is public; you don't need an account to read it.

If you can make an HTTPS request and receive a webhook, you can integrate — no SDK required. To build, sign in to the Developer portal for sandbox keys, a live API console, C2B registration and a one-click go-live request.

Base URL

Every endpoint lives under your operator's base URL. Throughout these docs we write it as:

https://<your-operator>/api/bridgepay/v1

Replace <your-operator> with the host your operator gave you (e.g. pesabridge.mybridgeerp.com). The path and contract are identical across operators and environments.

Environments

Environment

Money

Credentials

Keys

Sandbox

Simulated — nothing real moves

Test keys, issued instantly

pk_test_… / sk_test_…

Production

Real

Live keys, after a short go-live review

pk_live_… / sk_live_…

The two environments are isolated: sandbox keys never touch real money, live keys never touch sandbox data.

Response envelope

Every response — success or error — uses the same envelope, so you can handle them uniformly:

Success

{
  "status": "ok",
  "data": { /* endpoint-specific payload */ }
}

Error

{
  "status": "error",
  "message": "Human-readable reason",
  "code": "invalid_request"
}

Conventions

Field

Type

Required

Description

Authorization

header

yes

Every call except /oauth/token sends Authorization: Bearer <token>.

Content-Type

header

yes

Requests and responses are application/json.

amount

number

Plain number in the account currency (e.g. 250 = KES 250.00). Minor units are not used.

msisdn

string

Full international format, no plus: 2547xxxxxxxx.

idem

string

Idempotency key on money-moving calls so retries never double-charge.

timestamps

string

ISO-8601 with timezone, e.g. 2026-06-15T21:04:58Z.

At a glance

Capability

Endpoint

Direction

Checkout & Pay button

POST /checkout/create

Collect (hosted)

PesaBridge Express (STK Push)

POST /partner/stk

Collect (you initiate)

C2B pay-ins

POST /partner/c2b/register

Collect (customer initiates)

Transaction status

GET /partner/status

Read

Account balance

GET /partner/balance

Read

App profile

GET /partner/me

Read

Webhook config

POST /partner/webhook

Configure

Where to go next

Was this page helpful?