Skip to main content
POST
Initiate a single transfer πŸ”’

Authorizations

X-Numero-Api-Key
string
header
required

Your business API key (live_key_...). Issued on approval; managed in Dashboard β†’ Settings β†’ Developer.

X-Numero-Signature
string
header
required

Base64(HMAC-SHA256(publicApiKey, input)) over the raw request body (POST) or canonicalized query string (signed GET). Also send X-Numero-Signature-Version: v2. Required on money-movement / state-changing endpoints (marked πŸ”’).

The HMAC key is your Public Key as raw UTF-8 bytes β€” a SECRET despite the name, and a different value from the X-Numero-Api-Key authentication header. Signing with the API key will never produce a valid signature.

Body

application/json
amount
number
required

Amount in naira (major units, up to 2 dp). 1000 = ₦1,000.00.

Example:

5000

destinationAccountNumber
string
required

Recipient 10-digit NUBAN β€” or, for an internal transfer, the recipient's Numero account number.

destinationBankCode
string
required

Recipient bank CBN code. Use the literal "NUMERO" to send an instant internal book transfer to another Numero merchant (see 'Internal transfers').

Example:

"000013"

transferSessionId
string | null

Optional session id from a prior validate, to keep provider routing consistent.

narration
string | null

Optional free-text reference shown on the transfer (≀90 chars).

destinationAccountName
string | null

Resolved recipient name from /business/transfer/validate. Required for external transfers; optional (resolved by Numero) when destinationBankCode is "NUMERO".

phoneNumber
string | null

Response

Successful response

Canonical response envelope for the public surface. data on success, error on failure.

data
any
required

Endpoint payload on success (object or array); null on failure.

error
object | null
required
meta
object
required