Skip to content
Test money only. BitMomo currently runs on test networks. Payments use testnet coins and no real money moves. Live keys are not available yet.

Request a payout

POST
/gateway/payouts

Required scope: payouts:write.

Test-money only. Reuse the same key after an uncertain response. No automatic write retry.

Idempotency-Key
required
string
>= 1 characters <= 128 characters
object
amount
required
string
/^-?[0-9]+(\.[0-9]+)?$/
settlement_method

Requested method; defaults from the saved merchant preference. Destinations come from the saved merchant profile.

string

Success

object
amount
string
/^-?[0-9]+(\.[0-9]+)?$/
created_at
string
currency
string
fill_id
string format: uuid
id
string format: uuid
message
required
string
replayed
boolean
settlement_method
required
string
settlements
Array<object>
object
status
required
string

Validation error

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Invalid key

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Scope, merchant or environment denied

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Not found

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Intent conflict

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Rate limited

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Internal error

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time

Service unavailable

R15 canonical error envelope. Every 4xx/5xx JSON body carries these five keys, plus x-request-id header; 4xx machine fields (e.g. available_balance) merge in alongside and never shadow them.

object
error
required

Machine code (SCREAMING_SNAKE)

string
Example
VALIDATION_ERROR
message
required

Human-readable detail

string
Example
amount_ghs must be greater than zero
request_id
required

Mirrors the x-request-id response header

string format: uuid
retriable
required

True for 429/502/503/504 only; 400/401/403/404/409 are final

boolean
timestamp
required
string format: date-time