Getting started
Your first call
- Create an API key in the merchant portal under API Keys. You get a key id (
nbm_live_…) and a secret. Keep the secret on your server: it signs your requests and never travels on the wire. - Sign every request with the secret, as Signing requests shows.
- Call
GET /me. It needs no scope and describes the calling key, so a200means your signing works. Every authentication failure is the same401, whatever the cause. - Set your webhook in the merchant portal's webhook settings and verify its deliveries.
Before you go live
The API reference overview holds the rules every endpoint follows. Read these parts before you move money:
- Idempotency. Every
POSTthat moves money needs anIdempotency-Key. On a timeout or a5xx, retry with the same key — you never create a duplicate. - Synchronous vs asynchronous.
POST /payouts,/transfersand/fx/exchangesalways answer202. Branch on the body'sstatus, never on the destination type. - Rate limits. Limits apply per API key over a one-minute window. Prefer webhooks to polling.
- Errors. Branch on the problem's
code, never on its text, and handle a code you do not know by its HTTP status. Errors lists every code and what to do about it.