API reference

Every endpoint on the Business API, generated from the running service.

Everything under this section is generated from /openapi-b.json, which the API builds from its own mounted routes. A page here cannot describe an endpoint that does not exist, and an endpoint that changes shape changes here on the next build.

Pages are grouped by the object they act on — Charges, Payouts, Invoices — not by URL, so you can find things by what you are trying to do.

Before you start

Base URLs

Sandboxhttps://sandbox.inversepay.app/api/b/v1
Livehttps://api.inversepay.app/api/b/v1

Every request carries Authorization: Bearer <your key>. See Authentication.

Every write carries Idempotency-Key. Retrying with the same key returns the original object rather than creating a second one.

Every amount is in minor units. 5,000 RWF is 500000.

Errors

One shape, everywhere on this surface:

{
  "type": "invalid_request",
  "code": "INVALID_CHARGE",
  "message": "a charge must be for a positive amount",
  "request_id": "01J..."
}

request_id is also returned as X-Request-ID. Quote it to support and we can find the exact request.

Branch on type and code, never on message — the wording may change.

Try it here

Every operation page has a playground that sends a real request. Point it at sandbox with a sk_test_ key and nothing you do can move money.

Prefer your own tools? The whole surface is a Postman collection, generated from the same spec, with sandbox pre-wired.

On this page