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
| Sandbox | https://sandbox.inversepay.app/api/b/v1 |
| Live | https://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.