Conventions
Shapes that show up on every endpoint. This page is the canonical reference — other pages link here instead of repeating themselves.
Envelopes
- Single resource — returned as the resource itself, no wrapper.
- List —
{ "items": [...], "next_cursor": <string|null> }.nullmeans last page. - Error —
{ "error": { "type", "message", "fields", "request_id" } }.
Pagination
Two query params on every list endpoint:
limit— default 25, max 100starting_after=<id>— pass the previous response'snext_cursor
Loop until next_cursor is null:
curl "https://gateway.pmnts.io/v2/partners/merchants?limit=50" \
-u "$PARTNER_USERNAME:$PARTNER_TOKEN"{
"items": [ /* 50 merchants */ ],
"next_cursor": "mch_042"
}curl "https://gateway.pmnts.io/v2/partners/merchants?limit=50&starting_after=mch_042" \
-u "$PARTNER_USERNAME:$PARTNER_TOKEN"{
"items": [ /* tail */ ],
"next_cursor": null
}IDs
- Merchants and partners are addressed by
username. - Acquirer connection ids are derived, not stored:
<merchant-id>-ACQ-<ACQUIRER-CODE>(e.g.042-ACQ-NAB). - Wallets and users use
<owner-id>-<TYPE>-<random>(e.g.042-WAL-9f3k2m8q). - Acquirers are slug codes:
nab,cba,anz, etc.
Timestamps
ISO 8601, UTC. Always.
Error types
| Type | Status | Meaning |
|---|---|---|
authentication_error | 401 | Token wrong, rotated, or expired |
not_found | 404 | Wrong username or conn_id |
conflict | 409 | Duplicate (already boarded, username taken) |
validation_error | 422 | Your payload is wrong — see fields |
processor_error | 422 | Upstream acquirer rejected — see message |
See Errors and troubleshooting for more.