Chimoney Accounts API
Retrieve all or single transactions, look up transactions by issue ID, fetch public profiles, transfer between accounts, delete unpaid transactions, and issue Interledger wallet addresses for users.
Retrieve all or single transactions, look up transactions by issue ID, fetch public profiles, transfer between accounts, delete unpaid transactions, and issue Interledger wallet addresses for users.
openapi: 3.0.3
info:
title: Chimoney API
description: 'Chimoney is a developer-first global payouts and disbursement platform with deep coverage
across Africa and 130+ countries. The REST API sends money to bank accounts, mobile money wallets,
airtime, gift cards, Chimoney wallets, and Interledger wallet addresses; manages multicurrency wallets
and sub-accounts; supports redemption, payment collection, and informational lookups (banks, assets,
exchange rates). All requests are authenticated with an API key passed in the X-API-KEY header, issued
from the Chimoney developer dashboard (dash.chimoney.io/developers). A separate sandbox host is available
for testing. This is a curated, representative subset of the live OpenAPI (source: https://api.chimoney.io/v0.2/swagger.json,
spec version 0.2.2); paths, methods, and summaries are grounded in that document. Request-body schemas
are representative and simplified for the most common endpoints - consult the official docs for the
full field set.'
version: 0.2.2
contact:
name: Chimoney
url: https://chimoney.io
servers:
- url: https://api.chimoney.io
description: Production (v0.2)
- url: https://api-v2-sandbox.chimoney.io
description: Sandbox (v0.2)
security:
- apiKeyAuth: []
tags:
- name: Payouts
description: Send money to banks, mobile money, airtime, gift cards, Chimoney wallets, Interac, and
Interledger wallet addresses.
- name: Interledger
description: ''
- name: Wallet
description: List, look up, and transfer between Chimoney wallets.
- name: MultiCurrency Wallets
description: Create and manage multicurrency wallets and transfer between them.
- name: SubAccount
description: Create and manage sub-accounts (wallet accounts) and communities under your organization.
- name: Redeem
description: Redeem issued Chimoney, airtime, gift cards, and mobile money.
- name: Info
description: 'Reference lookups: supported banks, assets, exchange rates, currency conversion, and bank
account verification.'
- name: Account
description: Retrieve transactions, public profiles, transfer between accounts, and issue wallet addresses.
- name: Payments
description: Initiate and verify inbound payment (collection) requests.
paths:
/v0.2/payouts/bank:
post:
operationId: post_v0.2_payouts_bank
tags:
- Payouts
summary: Payout to Bank in a supported Country.
description: Payout to Bank in a supported Country.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
description: Subaccount (wallet account) to payout from, if any.
turnOffNotification:
type: boolean
description: Disables email and other notifications from Chimoney.
debitCurrency:
type: string
description: Wallet currency to debit from.
example: CAD
banks:
type: array
description: Bank payout instructions.
items:
type: object
properties:
countryToSend:
type: string
example: Nigeria
account_bank:
type: string
description: Bank code.
example: '044'
account_number:
type: string
example: 0690000031
valueInUSD:
type: number
example: 10
reference:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/mobile-money:
post:
operationId: post_v0.2_payouts_mobile-money
tags:
- Payouts
summary: Payout Mobile Money (Momo).
description: Payout Mobile Money (Momo).
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
turnOffNotification:
type: boolean
momos:
type: array
description: Mobile money payout instructions.
items:
type: object
properties:
countryToSend:
type: string
example: Kenya
phoneNumber:
type: string
example: '254710102720'
valueInUSD:
type: number
example: 10
momoCode:
type: string
example: MPS
reference:
type: string
narration:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/airtime:
post:
operationId: post_v0.2_payouts_airtime
tags:
- Payouts
summary: Payout Airtime to a Phone number.
description: Payout Airtime to a Phone number.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
turnOffNotification:
type: boolean
airtimes:
type: array
items:
type: object
properties:
countryToSend:
type: string
example: Nigeria
phoneNumber:
type: string
example: '+2348000000000'
valueInUSD:
type: number
example: 5
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/gift-card:
post:
operationId: post_v0.2_payouts_gift-card
tags:
- Payouts
summary: Payout Giftcards to an email.
description: Payout Giftcards to an email.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
turnOffNotification:
type: boolean
giftcards:
type: array
description: Gift card payout instructions.
items:
type: object
properties:
email:
type: string
example: test@example.com
valueInUSD:
type: number
example: 10
redeemData:
type: object
description: Gift card brand/product selection.
narration:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/chimoney:
post:
operationId: post_v0.2_payouts_chimoney
tags:
- Payouts
summary: Payout Chimoney.
description: Payout Chimoney.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
turnOffNotification:
type: boolean
chimoneys:
type: array
description: Chimoney payout instructions.
items:
type: object
properties:
email:
type: string
example: test@example.com
phone:
type: string
example: '+16471112222'
valueInUSD:
type: number
example: 10
amount:
type: number
description: Amount in specified currency. Required if currency is set.
currency:
type: string
description: ISO currency code.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/wallet:
post:
operationId: post_v0.2_payouts_wallet
tags:
- Payouts
summary: Payout to a Chimoney Wallet.
description: Payout to a Chimoney Wallet.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/interledger-wallet-address:
post:
operationId: post_v0.2_payouts_interledger-wallet-address
tags:
- Payouts
- Interledger
summary: Payout to a Interledger Wallet Address.
description: Payout to a Interledger Wallet Address.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/interac:
post:
operationId: post_v0.2_payouts_interac
tags:
- Payouts
summary: Payout Interac.
description: Payout Interac.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/bills/ca:
post:
operationId: post_v0.2_payouts_bills_ca
tags:
- Payouts
summary: Payout Canadian Bill payment.
description: Payout Canadian Bill payment.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/initiate-chimoney:
post:
operationId: post_v0.2_payouts_initiate-chimoney
tags:
- Payouts
summary: Initiate Chimoney transaction.
description: Initiate Chimoney transaction.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/process:
post:
operationId: post_v0.2_payouts_process
tags:
- Payouts
summary: Debit wallet to process unpaid transaction.
description: Debit wallet to process unpaid transaction.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/payouts/status:
post:
operationId: post_v0.2_payouts_status
tags:
- Payouts
summary: Check Payout status.
description: Check Payout status.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chiRef
properties:
chiRef:
type: string
description: Chimoney transaction reference (chiRef) to check.
subAccount:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/wallets/list:
post:
operationId: post_v0.2_wallets_list
tags:
- Wallet
summary: List associated wallets.
description: List associated wallets.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subAccount:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/wallets/lookup:
post:
operationId: post_v0.2_wallets_lookup
tags:
- Wallet
summary: Get single wallet details.
description: Get single wallet details.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- walletID
properties:
walletID:
type: string
subAccount:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/wallets/transfer:
post:
operationId: post_v0.2_wallets_transfer
tags:
- Wallet
summary: Transfer between wallets.
description: Transfer between wallets.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- receiver
- valueInUSD
properties:
subAccount:
type: string
receiver:
type: string
description: Valid Chimoney user or organization ID.
wallet:
type: string
description: Wallet type. One of ["chi","momo","airtime"]. Leave blank unless you understand
wallet types.
example: chi
valueInUSD:
type: number
example: 200
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/create:
post:
operationId: post_v0.2_multicurrency-wallets_create
tags:
- MultiCurrency Wallets
summary: Create a new Multicurrency Wallet.
description: Create a new Multicurrency Wallet.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
example: Mide Jones
email:
type: string
example: user@example.com
firstName:
type: string
lastName:
type: string
phoneNumber:
type: string
example: '+16471234567'
meta:
type: object
description: Metadata to store about the account.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/get:
get:
operationId: get_v0.2_multicurrency-wallets_get
tags:
- MultiCurrency Wallets
summary: Get details of an existing multicurrency wallet.
description: Get details of an existing multicurrency wallet.
parameters:
- name: id
in: query
required: true
description: Multicurrency wallet ID.
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/list:
get:
operationId: get_v0.2_multicurrency-wallets_list
tags:
- MultiCurrency Wallets
summary: Get all multicurrency wallets of an organization/account.
description: Get all multicurrency wallets of an organization/account.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/update:
post:
operationId: post_v0.2_multicurrency-wallets_update
tags:
- MultiCurrency Wallets
summary: Update a multicurrency-wallets.
description: Update a multicurrency-wallets.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/transfer:
post:
operationId: post_v0.2_multicurrency-wallets_transfer
tags:
- MultiCurrency Wallets
- Interledger
summary: Transfer from multicurrency wallet to another wallet, an email or a phone number.
description: Transfer from multicurrency wallet to another wallet, an email or a phone number.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
walletID:
type: string
receiver:
type: string
description: Destination wallet ID, email, or phone number.
amountToSend:
type: number
currency:
type: string
example: USD
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/multicurrency-wallets/transfer/quote:
post:
operationId: post_v0.2_multicurrency-wallets_transfer_quote
tags:
- MultiCurrency Wallets
summary: Get Quote to Transfer between multicurrency wallets.
description: Get Quote to Transfer between multicurrency wallets.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/create:
post:
operationId: post_v0.2_sub-account_create
tags:
- SubAccount
- Interledger
summary: Create a new sub-account.
description: Create a new sub-account.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
example: Mide Jones
email:
type: string
firstName:
type: string
lastName:
type: string
phoneNumber:
type: string
example: '+16471234567'
meta:
type: object
id:
type: string
description: Optional valid UUID for the user.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/get:
get:
operationId: get_v0.2_sub-account_get
tags:
- SubAccount
summary: Get details of an existing sub account.
description: Get details of an existing sub account.
parameters:
- name: id
in: query
required: true
description: Sub account ID.
schema:
type: string
- name: communityID
in: query
required: false
description: Community ID.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/list:
get:
operationId: get_v0.2_sub-account_list
tags:
- SubAccount
summary: Get all sub-accounts associated with a user.
description: Get all sub-accounts associated with a user.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/update:
post:
operationId: post_v0.2_sub-account_update
tags:
- SubAccount
summary: Update a sub-account.
description: Update a sub-account.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/delete:
delete:
operationId: delete_v0.2_sub-account_delete
tags:
- SubAccount
summary: Delete an existing sub-account.
description: Delete an existing sub-account.
parameters:
- name: id
in: query
required: true
description: Sub account ID.
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/community/create:
post:
operationId: post_v0.2_sub-account_community_create
tags:
- SubAccount
summary: Create a sub-account community associated with a user.
description: Create a sub-account community associated with a user.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/sub-account/community/members:
get:
operationId: get_v0.2_sub-account_community_members
tags:
- SubAccount
summary: Get community members .
description: Get community members .
parameters:
- name: communityID
in: query
required: false
description: Community ID
schema:
type: integer
- name: limit
in: query
required: false
description: maximum number of users to return - default is 50
schema:
type: integer
- name: startAfterId
in: query
required: false
description: ID of the last User Data retrieved - important for retrieivng subsequent pages
schema:
type: string
- name: startBeforeId
in: query
required: false
description: ID of the first User Data retrieved - important for retrieivng previous pages
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/redeem/any:
post:
operationId: post_v0.2_redeem_any
tags:
- Redeem
summary: Redeem any.
description: Redeem any.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/redeem/chimoney:
post:
operationId: post_v0.2_redeem_chimoney
tags:
- Redeem
summary: Redeem Chimoney.
description: Redeem Chimoney.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chiRef
properties:
chiRef:
type: string
description: Chimoney reference to redeem.
subAccount:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/redeem/airtime:
post:
operationId: post_v0.2_redeem_airtime
tags:
- Redeem
summary: Redeem airtime.
description: Redeem airtime.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/redeem/gift-card:
post:
operationId: post_v0.2_redeem_gift-card
tags:
- Redeem
summary: Redeem giftcard.
description: Redeem giftcard.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/redeem/mobile-money:
post:
operationId: post_v0.2_redeem_mobile-money
tags:
- Redeem
summary: Redeem mobile money.
description: Redeem mobile money.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/info/assets:
get:
operationId: get_v0.2_info_assets
tags:
- Info
summary: Get list of all assests.
description: Get list of all assests.
parameters:
- name: countryCode
in: query
required: false
description: Country code symbol e.g NG, US, GH.
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/StandardResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v0.2/info/country-banks:
get:
operationId: get_v0.2_info_country-banks
tags:
- Info
summary: Get list of Supported banks and bank code.
description: Get list of Supported banks and bank code.
parameters:
- name: countryCode
in: query
required: true
description: Country code symbol e.g NG, US, GH.
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/c
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chimoney/refs/heads/main/openapi/chimoney-openapi.yml