Request & Response Format
Request & Response Format
Response Envelope
Every endpoint in both APIs returns JSON wrapped in the same consistent envelope:
message— a short, human-readable description of what happened. Often empty ("") on GET/list endpoints, and populated with a confirmation string on POST/action endpoints (e.g.,"Transaction has been successfully generated.","Authenticated.").data— the actual payload. Depending on the endpoint, this is either a single object (e.g., a token, a generated transaction) or an object containing a named array (e.g.,data.transactions,data.wallets,data.channels,data.banks).errors— present instead ofdataon a422 Unprocessable Entityvalidation failure, as an object keyed by field name. Other failure responses (401,403,404,500, etc.) omiterrorsand just return amessage. See Error Handling for details.
Request Formats
Requests use two different conventions depending on the endpoint:
- Query parameters — used for simple GET requests and for the Payments API’s
Create Token(credentials passed as?username=...&password=...). - JSON body (raw) — used for POST endpoints that create or process something, such as
Generate Transaction,Process Disbursement,Get Authorization, and the Disbursement API’sCreate Access Token.
Here’s a nested JSON body request (Process Disbursement), showing how recipient/sender details are grouped under fields:
The exact shape of fields depends on the channel — e.g., an e-wallet channel like maya includes a mobile_number at the top of fields, while a bank-transfer channel like PESONET relies on bank_code plus sender/receiver details.
Path Parameters
At least one endpoint uses a path parameter rather than a query string or body field — Get Authorization, which takes the code directly in the URL:
Content Type
JSON request bodies are sent with:
Comments in Sample Bodies
Some sample response bodies in this collection include inline // comments (e.g., "expires_in": 3600 // In seconds.) purely for documentation purposes within Postman. These are not valid JSON and won’t appear in actual API responses — they’re illustrative annotations only.