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.

OpenAPI Specification

chimoney-openapi.yml Raw ↑
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