What is different
Internal UUIDs are never exchanged on this surface. Every identifier you send or
receive is a reference id, and the prefix tells you what it points at.
Base URL
Every POBO endpoint lives under
/api/v0/pobo.
Authentication
The same single header as the rest of the Endl API, and the key must carry thepobo permission.
pobo is rejected with 403, raised at the edge before the
request reaches the service. See Authentication.
Paywho only
This is the constraint most likely to surprise you. A POBO quote must resolve to a Paywho route. That means either:- a Paywho-supported currency on a bank-transfer rail, or
INRonBANK_TRANSFER,IMPS,UPIorCRYPTO
USD → EUR over ACH, for example —
is refused:
400
The sender is mandatory
senderId is required on every POBO transaction, at both
pre-transaction and
submit. That is the entire purpose of
the surface: the payment is made on behalf of a named originator, and the record
carries who that was.
Before a sender can be used for a payout it needs three things:
A sender created without them is accepted, but a payout referencing it will not
proceed.
A POBO payout, end to end
- Register the originator. Create sender
with a name,
governmentIdand country. Keep thesnd_id. - Register the recipient. Ask
Get recipient required fields
on the standard Partner API which fields the destination currency and rail
need, then create the recipient. Keep
the
rec_id. - Price it. Generate a quote on a
Paywho route. Keep the
qut_id. - Fund it. Create a pre-transaction with the quote, the recipient and — mandatorily — the sender. You get deposit instructions back.
- Submit and track. Submit, then
get the transaction by its
txn_id. Submitted rows are markedalias=POBO.