1
Read your assets
Put your An asset that is not in the list does not exist for your org. A request
in that asset gets
jz_live_… API key in the Authorization header of each
request. GET /v2/assets lists the assets that Jenzy enabled for your
org, with the operations that you can do in each.corridor_not_enabled. Speak to Jenzy to enable a
new asset.2
Read your balances
Each asset has its own balance.
GET /v2/balances gives one row for
each asset in step 1. There is no total.available is the money that you can spend now. held is the money
that payouts in progress reserve. See Balances.3
Find where to send money
To fund a fiat balance, read your virtual account for that asset. Give
the details to the person who pays you.To fund a stablecoin balance, ask for a deposit address on a network.
The same address takes each stablecoin on that network.Money that arrives becomes a collection. Hermes credits your balance and
sends
collection.settled to your webhook endpoint. See
Collections.4
Send a payout
One endpoint pays every destination. The A
type field of the
destination object selects the rail. amount and asset are always
what the beneficiary receives.Each create request needs an Idempotency-Key header. Make one key
for each payout that you intend to send. You can use a UUID. A request
with no key gets 400.institution_id comes from GET /v2/institutions?asset=KES. A mobile
number is in E.164 form, with the +. Hermes refuses a number in a
different form. Hermes does not correct the number for you.A 201 response is the payout. Hermes holds the money at once.4xx response means that Hermes made no payout and held no money.
A 201 response can already show status: "failed". See
Payouts for the reason.5
Convert between assets
First get a quote. Then execute the quote. Execute before The response is the conversion, with
to_amount is what you
receive, and Hermes does not change it.expires_at. The execute request needs an
Idempotency-Key.status: "completed" in the
normal case. See Conversions.6
Learn the result
A payout is terminal when
status is succeeded or failed. There are
two ways to learn the result.Webhooks (recommended) — Hermes sends payout.succeeded or
payout.failed to your endpoint. The delivery carries
api_version: "v2". See Webhooks.A poll — read GET /v2/payouts/{id} again until the status is
terminal.When a payout fails, Hermes releases the hold back to available.
Hermes never sends a failed payout again. To try again, create a new
payout with a new Idempotency-Key.