Sarafa API

Get All Wallets

get

Retrieve the main account number and a list of all wallets with their balances.

Authorizations
api-keystringRequired
Responses
200

Successful retrieval of wallets

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get
/wallets

Get Specific Wallet

get

Retrieve balance and details for a specific currency wallet.

Authorizations
api-keystringRequired
Path parameters
currencystring · enumRequired

Supported currencies.

Possible values:
Responses
200

Successful retrieval of wallet

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get
/wallet/{currency}

View Transaction

get

Retrieve detailed information about a specific transaction.

Authorizations
api-keystringRequired
Path parameters
tx_idstringRequired

The unique transaction ID.

Responses
200

Transaction details found

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get
/transaction/{tx_id}

Get Exchange Rates

get

Retrieve the current list of exchange rate pairs.

Authorizations
api-keystringRequired
Responses
200

List of rates

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get
/rates
200

List of rates

Initiate Charge

post

Initiate a charge request.

Authorizations
api-keystringRequired
Body
amountnumber · doubleRequiredExample: 100.5
currencystring · enumRequired

Supported currencies.

Possible values:
account_numberstringRequired

Payer's account number

referencestringRequired

External reference ID

callback_urlstring · uriRequired
Responses
200

Charge initiated successfully

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
post
/charge

Initiate Transfer

post

Transfer funds to a mobile money or Sarafa account.

Authorizations
api-keystringRequired
Body
amountnumber · doubleRequired
currencystring · enumRequired

Supported currencies.

Possible values:
destinationstring · enumRequired

Type of destination for the transfer.

Possible values:
account_numberstringRequired

Recipient account number

referencestringRequired
callback_urlstring · uriRequired
Responses
200

Transfer initiated successfully

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
post
/transfer

Health Check

get

Check the operational status of the API.

Authorizations
api-keystringRequired
Responses
200

API is healthy

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get
/
200

API is healthy

Last updated