Mono

Mono is an African open-banking platform that lets businesses access bank and financial data and collect recurring payments through a single API. The Mono REST API at api.withmono.com covers account linking (Connect), transactions, statements, identity, income, and balance, plus DirectPay one-time payments and Direct Debit mandates, secured with a mono-sec-key header.

7 APIs 0 Features
Open BankingFinancial DataPaymentsDirect DebitAfrica

APIs

Account Linking and Auth

Initiate Mono Connect account linking and exchange the returned code for a persistent account id, instantiating the bank-data connection used by all downstream account endpoints.

Account Information

Retrieve account details and a near-real-time account balance for a linked account by its account id.

Transactions and Statements

Pull money-in and money-out transactions with date, type, and narration filters, and retrieve a customer's bank statement in JSON or PDF form for a linked account.

Identity and Income

Verify a linked account holder's identity (name, phone, date of birth, BVN) and retrieve income signals including estimated salary and income sources derived from financial data.

DirectPay Payments

Initiate one-time bank-to-bank DirectPay payments and verify their status, returning a hosted payment link for the customer to authorize.

Direct Debit and Mandates

Create customers, set up fixed or variable direct-debit mandates on a customer's bank account, run a confirmation-of-funds balance inquiry, and debit an authorized mandate for r...

Webhooks

Server-to-server webhook callbacks for Connect account events (connected, updated, reauthorisation required, unlinked) and payment events (DirectPay and Direct Debit success and...

Collections

Mono API

OPEN

Pricing Plans

Mono Co Plans Pricing

4 plans

PLANS

Rate Limits

Mono Co Rate Limits

3 limits

RATE LIMITS

FinOps

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Mono API
  version: '2.0'
request:
  auth:
    type: apikey
    key: mono-sec-key
    value: '{{monoSecKey}}'
    in: header
items:
- info:
    name: Account Linking
    type: folder
  items:
  - info:
      name: Initiate account linking
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/accounts/initiate
      body:
        type: json
        data: '{"customer":{"name":"Samuel Olamide","email":"samuel@example.com"},"meta":{"ref":"99008877TEST"},"scope":"auth","redirect_url":"https://mono.co"}'
    docs: Start a Mono Connect account-linking session and return a hosted widget link.
  - info:
      name: Exchange token (auth)
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/accounts/auth
      body:
        type: json
        data: '{"code":"code_xyz"}'
    docs: Exchange the short-lived authorization code for a persistent account id.
- info:
    name: Account Information
    type: folder
  items:
  - info:
      name: Get account details
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}
    docs: Retrieve account holder, institution, and balance details for a linked account.
  - info:
      name: Get account balance
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}/balance
    docs: Return the near-real-time balance for a linked account.
  - info:
      name: Unlink account
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/accounts/{{accountId}}/unlink
    docs: Unlink a previously linked account, revoking further data access.
- info:
    name: Transactions and Statements
    type: folder
  items:
  - info:
      name: Get transactions
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}/transactions?paginate=false
    docs: List money-in and money-out transactions with date, type, and narration filters.
  - info:
      name: Get bank statement
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}/statement?period=last6months&output=json
    docs: Retrieve the account holder's bank statement in JSON or PDF form.
- info:
    name: Identity and Income
    type: folder
  items:
  - info:
      name: Get identity
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}/identity
    docs: Return identity details (name, phone, BVN, date of birth) for a linked account holder.
  - info:
      name: Get income
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/accounts/{{accountId}}/income
    docs: Return income signals such as estimated salary and income sources.
- info:
    name: DirectPay
    type: folder
  items:
  - info:
      name: Initiate payment
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/payments/initiate
      body:
        type: json
        data: '{"amount":20000,"type":"onetime-debit","method":"account","description":"Order payment","reference":"ref-12345","redirect_url":"https://mono.co","customer":{"email":"samuel@example.com","phone":"08012345678"}}'
    docs: Initiate a one-time bank-to-bank DirectPay payment and return a hosted payment link.
  - info:
      name: Verify payment
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/payments/verify/{{reference}}
    docs: Verify the status of a DirectPay payment by its transaction reference.
- info:
    name: Direct Debit
    type: folder
  items:
  - info:
      name: Create customer
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/customers
      body:
        type: json
        data: '{"email":"samuel@example.com","phone":"08012345678","type":"individual","first_name":"Samuel","last_name":"Olamide"}'
    docs: Create an individual or business customer for direct-debit mandates.
  - info:
      name: List customers
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v2/customers
    docs: List customers created on the account.
  - info:
      name: Initiate mandate authorisation
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v2/payments/initiate-mandate
      body:
        type: json
        data: '{"amount":1000000,"type":"recurring-debit","method":"mandate","mandate_type":"emandate","debit_type":"variable","reference":"mandate-ref-001","customer":{"id":"cus_xyz"}}'
    docs: Set up a fixed or variable direct-debit mandate and return a hosted authorisation link.
  - info:
      name: Mandate balance inquiry
      type: http
    http:
      method: GET
      url: https://api.withmono.com/v3/payments/mandates/{{mandateId}}/balance
    docs: Confirmation-of-funds check against a mandated account before debiting.
  - info:
      name: Debit a mandate
      type: http
    http:
      method: POST
      url: https://api.withmono.com/v3/payments/mandates/{{mandateId}}/debit
      body:
        type: json
        data: '{"amount":50000,"reference":"debit-ref-001","narration":"Monthly subscription"}'
    docs: Debit a bank account that already has an approved direct-debit mandate.