{
  "openapi": "3.0.0",
  "info": {
    "title": "Flutterwave v3",
    "description": "The Flutterwave for Business(F4B) APIs collection for all v3 endpoints with pre-formatted requests and response examples.\n## Errors\nErrors return an envelope with `status: \"error\"`, a human-readable `message`, and `data: null`.\nCommon statuses: `400` validation, `401` authorization, `429` rate limit, `500` server error.\n\n## Rate limits\nRequest rates are limited per account (the account whose API key made the call).\nWhen exceeded, the API returns HTTP `429`; wait and retry, increasing the wait after each retry.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.flutterwave.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Charges",
      "description": "The charge APIs includes several payment collection methods to help you collect payments."
    },
    {
      "name": "Tokenized Charges",
      "description": "Tokenize your customers' cards with Flutterwave for faster payments"
    },
    {
      "name": "Preauthorization",
      "description": "Manage preauth attemps on card transactions"
    },
    {
      "name": "Transactions",
      "description": "Manage transactions, query statuses, logs and fees"
    },
    {
      "name": "Transfers",
      "description": "Transfers to local and international customers"
    },
    {
      "name": "Beneficiaries",
      "description": "Manage transfer beneficiaries"
    },
    {
      "name": "Virtual Cards",
      "description": "Manage Flutterwave virtual cards"
    },
    {
      "name": "Virtual Account Numbers",
      "description": "Manage virtual accounts"
    },
    {
      "name": "Collection Subaccounts",
      "description": "Manage Collection Subaccounts"
    },
    {
      "name": "Payout Subaccounts",
      "description": "Manage Payout Subaccounts"
    },
    {
      "name": "Subscriptions",
      "description": "Manage user subscriptions"
    },
    {
      "name": "Payment Plans",
      "description": "Manage Payment Plans"
    },
    {
      "name": "Bill Payments",
      "description": "Manage Bill Payments"
    },
    {
      "name": "Banks",
      "description": "Fetch Bank Information"
    },
    {
      "name": "Misc",
      "description": "Verify user information like bank verification numbers, card bins, account information"
    },
    {
      "name": "Settlements",
      "description": "Manage your settlements"
    },
    {
      "name": "Otps",
      "description": "Create and manage one time passwords (OTPs) for your applications"
    },
    {
      "name": "Chargebacks",
      "description": "Manage Chargebacks"
    }
  ],
  "paths": {
    "/v3/charges": {
      "post": {
        "tags": [
          "Preauthorization"
        ],
        "summary": "Initiate Preauth Charge",
        "description": "Initiate a preauth charge on a customer's card",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "tx_ref": "YOUR_UNIQUE_REFERENCE",
                  "amount": 100,
                  "currency": "NGN",
                  "card_number": "5377283645077450",
                  "expiry_month": "09",
                  "expiry_year": "31",
                  "cvv": "789",
                  "redirect_url": "https://www.google.com",
                  "email": "developers@flutterwavego.com",
                  "preauthorize": true
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "card"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Successful",
                  "data": {
                    "id": 4973065,
                    "tx_ref": "YOUR_UNIQUE_REFERENCE",
                    "flw_ref": "FLW-MOCK-2477a2b9d7845b31976cd50c0af890f1",
                    "device_fingerprint": "N/A",
                    "amount": 100,
                    "charged_amount": 100,
                    "app_fee": 1.4,
                    "merchant_fee": 0,
                    "processor_response": "Please enter the OTP sent to your mobile number 080****** and email te**@rave**.com",
                    "auth_model": "NOAUTH",
                    "currency": "NGN",
                    "ip": "52.209.154.143",
                    "narration": "CARD Transaction ",
                    "status": "successful",
                    "auth_url": "https://ravesandboxapi.flutterwave.com/mockvbvpage?ref=FLW-MOCK-2477a2b9d7845b31976cd50c0af890f1&code=00&message=Approved.%20Successful&receiptno=RN1710749806478",
                    "payment_type": "card",
                    "plan": null,
                    "fraud_status": "ok",
                    "charge_type": "normal",
                    "created_at": "2024-03-18T08:16:46.000Z",
                    "account_id": 20937,
                    "customer": {
                      "id": 2373734,
                      "phone_number": null,
                      "name": "Anonymous customer",
                      "email": "developers@flutterwavego.com",
                      "created_at": "2024-03-18T08:16:46.000Z"
                    },
                    "card": {
                      "first_6digits": "553188",
                      "last_4digits": "2950",
                      "issuer": "MASTERCARD  CREDIT",
                      "country": "NG",
                      "type": "MASTERCARD",
                      "expiry": "09/32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/validate-charge": {
      "post": {
        "tags": [
          "Charges"
        ],
        "summary": "Validate Charge",
        "description": "To validate a card charge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "otp": "12345",
                  "flw_ref": "FLW-MOCK-f7a221903f699288569465135f357022"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charge validated",
                  "data": {
                    "id": 4981392,
                    "tx_ref": "MC-3243ff00440011pu00",
                    "flw_ref": "FLW-MOCK-f7a221903f699288569465135f357022",
                    "device_fingerprint": "N/A",
                    "amount": 100,
                    "charged_amount": 100,
                    "app_fee": 1.4,
                    "merchant_fee": 0,
                    "processor_response": "successful",
                    "auth_model": "PIN",
                    "currency": "NGN",
                    "ip": "52.209.154.143",
                    "narration": "CARD Transaction ",
                    "status": "successful",
                    "auth_url": "N/A",
                    "payment_type": "card",
                    "plan": null,
                    "fraud_status": "ok",
                    "charge_type": "normal",
                    "created_at": "2024-03-21T22:16:28.000Z",
                    "account_id": 20937,
                    "customer": {
                      "id": 2376560,
                      "phone_number": null,
                      "name": "John Doe",
                      "email": "Johndoe@gmail.com",
                      "created_at": "2024-03-21T22:16:28.000Z"
                    },
                    "card": {
                      "first_6digits": "539983",
                      "last_4digits": "8381",
                      "issuer": "MASTERCARD GUARANTY TRUST BANK Mastercard Naira Debit Card",
                      "country": "NG",
                      "type": "MASTERCARD",
                      "expiry": "10/31"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/tokenized-charges": {
      "post": {
        "tags": [
          "Tokenized Charges"
        ],
        "summary": "Create a Tokenized Charge",
        "description": "Initiate a card payment using a tokenized customer's card",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "token": "flw-t1nf-c25d14a3a6b5afaf8022fe88212a3eaa-k3n",
                  "currency": "NGN",
                  "amount": 100,
                  "email": "Johndoe@gmail.com",
                  "tx_ref": "YOUR_UNIQUE_REFERENCE"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charge successful",
                  "data": {
                    "id": 1163077,
                    "tx_ref": "akhlm-pstmn-23452",
                    "flw_ref": "FLW-M03K-781621ccfe976c03515bcd07a39f3db8",
                    "redirect_url": "http://127.0.0",
                    "device_fingerprint": "N/A",
                    "amount": 30300,
                    "charged_amount": 30300,
                    "app_fee": 11741.9,
                    "merchant_fee": 0,
                    "processor_response": "Approved",
                    "auth_model": "noauth",
                    "currency": "NGN",
                    "ip": "pstmn",
                    "narration": "pstmn charge",
                    "status": "successful",
                    "payment_type": "card",
                    "created_at": "2020-03-11T19:33:20.000Z",
                    "account_id": 73362,
                    "customer": {
                      "id": 252759,
                      "phone_number": "0813XXXXXXX",
                      "name": "Kendrick Graham",
                      "email": "user@example.com",
                      "created_at": "2020-01-15T13:26:24.000Z"
                    },
                    "card": {
                      "first_6digits": "553188",
                      "last_4digits": "2950",
                      "issuer": "MASTERCARD  CREDIT",
                      "country": "NG",
                      "type": "MASTERCARD",
                      "expiry": "09/22",
                      "token": "flw-t0-d0185c6edad078c9e8304c4f78b8cd5b-m03k"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-tokenized-charges/": {
      "post": {
        "tags": [
          "Tokenized Charges"
        ],
        "summary": "Create Bulk Tokenized Charge",
        "description": "Initiate a card payment using multiple tokenized cards at once",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "title": "akhlm blk tknzd chrg pstmn tst 1",
                  "retry_strategy": {
                    "retry_interval": 120,
                    "retry_amount_variable": 60,
                    "retry_attempt_variable": 2
                  },
                  "bulk_data": [
                    {
                      "currency": "NGN",
                      "token": "flw-t1nf-f9b3bf384cd30d6fca42b6df9d27bd2f-m03k",
                      "country": "NG",
                      "amount": 3500,
                      "email": "user@example.com",
                      "first_name": "Example",
                      "last_name": "User",
                      "ip": "pstmn",
                      "tx_ref": "akhlm-pstmn-blkchrg-xy10"
                    },
                    {
                      "currency": "NGN",
                      "token": "flw-t1nf-f9b3bf384cd30d6fca42b6df9d27bd2f-m03k",
                      "country": "NG",
                      "amount": 3000,
                      "email": "user@example.com",
                      "first_name": "Jane",
                      "last_name": "Doe",
                      "ip": "pstmn",
                      "tx_ref": "akhlm-pstmn-blkchrge-xx10"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk charge initiated",
                  "data": {
                    "id": 156,
                    "created_at": "2020-03-12T16:04:40.000Z",
                    "approver": "N/A",
                    "title": "akhlm blk tknzd chrg pstmn tst 1",
                    "total_charges": 2,
                    "pending_charges": 2,
                    "processed_charges": 0
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-tokenized-charges/:bulk_id/transactions": {
      "get": {
        "tags": [
          "Tokenized Charges"
        ],
        "summary": "Get Bulk Tokenized Transactions",
        "description": "Fetch a bulk tokenized charge",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk charge transactions fetched",
                  "data": [
                    {
                      "tx_ref": "akhlm-pstmn-blkchrg-xx6",
                      "id": "1017000",
                      "flw_ref": "FLW-M03K-7544dc8d157ca763bbcf864a24906f93",
                      "device_fingerprint": "N/A",
                      "amount": 3500,
                      "currency": "NGN",
                      "charged_amount": 3549,
                      "app_fee": 49,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-01-19T21:46:29.000Z",
                      "account_id": "73362",
                      "amount_settled": 3450,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kizito Akhilome",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    },
                    {
                      "tx_ref": "akhlm-pstmn-blkchrg-xx6",
                      "id": "1017004",
                      "flw_ref": "FLW-M03K-4aa1f32bbc80a7cf9e42426e9b2d73eb",
                      "device_fingerprint": "N/A",
                      "amount": 3500,
                      "currency": "NGN",
                      "charged_amount": 3549,
                      "app_fee": 49,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-01-19T21:49:29.000Z",
                      "account_id": "73362",
                      "amount_settled": 3450,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kizito Akhilome",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    },
                    {
                      "tx_ref": "akhlm-pstmn-blkchrg-xx6",
                      "id": "1163067",
                      "flw_ref": "FLW-M03K-9d02da3020c67ac05ade7b596881d59f",
                      "device_fingerprint": "N/A",
                      "amount": 3500,
                      "currency": "NGN",
                      "charged_amount": 3500,
                      "app_fee": 1050,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:22:06.000Z",
                      "account_id": "73362",
                      "amount_settled": 2450,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    },
                    {
                      "tx_ref": "akhlm-pstmn-blkchrge-xx6",
                      "id": "1017001",
                      "flw_ref": "FLW-M03K-bbd148a9569b709882da8437e123ba61",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3042,
                      "app_fee": 42,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-01-19T21:46:30.000Z",
                      "account_id": "73362",
                      "amount_settled": 2950,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kizito Akhilome",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    },
                    {
                      "tx_ref": "akhlm-pstmn-blkchrge-xx6",
                      "id": "1017005",
                      "flw_ref": "FLW-M03K-3a046716482046ea974c73d73eaa4463",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3042,
                      "app_fee": 42,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-01-19T21:49:30.000Z",
                      "account_id": "73362",
                      "amount_settled": 2950,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kizito Akhilome",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    },
                    {
                      "tx_ref": "akhlm-pstmn-blkchrge-xx6",
                      "id": "1163068",
                      "flw_ref": "FLW-M03K-02c21a8095c7e064b8b9714db834080b",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 1000,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:22:07.000Z",
                      "account_id": "73362",
                      "amount_settled": 2000,
                      "card": {
                        "expiry": "09/22",
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "553188",
                        "last_4digits": "2950"
                      },
                      "customer": {
                        "id": "252759",
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-tokenized-charges/:bulk_id": {
      "get": {
        "tags": [
          "Tokenized Charges"
        ],
        "summary": "Get status of Bulk Tokenized Charge",
        "description": "Get bulk charge status",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk charge fetched",
                  "data": {
                    "id": 156,
                    "title": "akhlm blk tknzd chrg pstmn tst 1",
                    "approver": "N/A",
                    "processed_charges": 2,
                    "pending_charges": 0,
                    "total_charges": 2
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/tokens/:token": {
      "put": {
        "tags": [
          "Tokenized Charges"
        ],
        "summary": "Update a Card Token",
        "description": "Update Token Details",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "email": "user@example.com",
                  "full_name": "Kendrick Graham",
                  "phone_number": "0813XXXXXXX"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Token details updated",
                  "data": {
                    "customer_email": "user@example.com",
                    "customer_full_name": "Kendrick Graham",
                    "customer_phone_number": "0813XXXXXXX",
                    "created_at": "2020-01-15T13:26:24.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/charges/:flw_ref/capture": {
      "post": {
        "tags": [
          "Preauthorization"
        ],
        "summary": "Capture a Charge",
        "description": "Capture the payment of an existing but uncaptured preauth charge.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "amount": 100
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charge captured",
                  "data": {
                    "id": 4973327,
                    "tx_ref": "YOUR_UNIQUE_REFERENCE",
                    "flw_ref": "FLW-MOCK-PREAUTH-1c4b0406fccc0fad316b46f947e870e9",
                    "device_fingerprint": "N/A",
                    "amount": 100,
                    "charged_amount": 100,
                    "app_fee": 5.8,
                    "merchant_fee": 0,
                    "processor_response": "Approved",
                    "auth_model": "NOAUTH",
                    "currency": "NGN",
                    "ip": "52.209.154.143",
                    "narration": "FLW-PBF CARD Transaction ",
                    "status": "successful",
                    "auth_url": "N/A",
                    "payment_type": "card",
                    "plan": null,
                    "fraud_status": "ok",
                    "charge_type": "preauth",
                    "created_at": "2024-03-18T10:04:04.000Z",
                    "account_id": 20937,
                    "customer": {
                      "id": 2373843,
                      "phone_number": null,
                      "name": "Anonymous customer",
                      "email": "developers@flutterwavego.com",
                      "created_at": "2024-03-18T10:04:03.000Z"
                    },
                    "card": {
                      "first_6digits": "537728",
                      "last_4digits": "7450",
                      "issuer": "MASTERCARD JSB PROBUSINESSBANK CREDITGOLD",
                      "country": "RU",
                      "type": "MASTERCARD",
                      "expiry": "09/31"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/charges/:flw_ref/refund": {
      "post": {
        "tags": [
          "Preauthorization"
        ],
        "summary": "Create a Refund",
        "description": "Partially or fully initiate a refund on a preauth charge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "amount": "100"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charge refunded",
                  "data": {
                    "id": 4973363,
                    "tx_ref": "YOUR_UNIQUE_REFERENCE",
                    "flw_ref": "FLW-MOCK-PREAUTH-bde14443c3f233d11c5f574acc120399",
                    "device_fingerprint": "N/A",
                    "amount": 100,
                    "charged_amount": 100,
                    "app_fee": 5.8,
                    "merchant_fee": 0,
                    "processor_response": "Approved",
                    "auth_model": "NOAUTH",
                    "currency": "NGN",
                    "ip": "54.75.161.64",
                    "narration": "FLW-PBF CARD Transaction ",
                    "status": "successful",
                    "auth_url": "N/A",
                    "payment_type": "card",
                    "plan": null,
                    "fraud_status": "ok",
                    "charge_type": "preauth",
                    "created_at": "2024-03-18T10:18:56.000Z",
                    "account_id": 20937,
                    "customer": {
                      "id": 2373852,
                      "phone": null,
                      "fullName": "Anonymous customer",
                      "customertoken": null,
                      "email": "developers@flutterwavego.com",
                      "createdAt": "2024-03-18T10:18:56.000Z",
                      "updatedAt": "2024-03-18T10:18:56.000Z",
                      "deletedAt": null,
                      "AccountId": 20937
                    },
                    "card": {
                      "first_6digits": "537728",
                      "last_4digits": "7450",
                      "issuer": "MASTERCARD JSB PROBUSINESSBANK CREDITGOLD",
                      "country": "RU",
                      "type": "MASTERCARD",
                      "expiry": "09/31"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/charges/:flw_ref/void": {
      "post": {
        "tags": [
          "Preauthorization"
        ],
        "summary": "Void a Charge",
        "description": "Void the payment of a previously captured preauth charge",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charge voided",
                  "data": {
                    "id": 4973327,
                    "tx_ref": "YOUR_UNIQUE_REFERENCE",
                    "flw_ref": "FLW-MOCK-PREAUTH-1c4b0406fccc0fad316b46f947e870e9",
                    "device_fingerprint": "N/A",
                    "amount": 100,
                    "charged_amount": 100,
                    "app_fee": 5.8,
                    "merchant_fee": 0,
                    "processor_response": "Approved",
                    "auth_model": "NOAUTH",
                    "currency": "NGN",
                    "ip": "52.209.154.143",
                    "narration": "FLW-PBF CARD Transaction ",
                    "status": "voided",
                    "auth_url": "N/A",
                    "payment_type": "card",
                    "plan": null,
                    "fraud_status": "ok",
                    "charge_type": "preauth",
                    "created_at": "2024-03-18T10:04:04.000Z",
                    "account_id": 20937,
                    "customer": {
                      "id": 2373843,
                      "phone_number": null,
                      "name": "Anonymous customer",
                      "email": "developers@flutterwavego.com",
                      "created_at": "2024-03-18T10:04:03.000Z"
                    },
                    "card": {
                      "first_6digits": "537728",
                      "last_4digits": "7450",
                      "issuer": "MASTERCARD JSB PROBUSINESSBANK CREDITGOLD",
                      "country": "RU",
                      "type": "MASTERCARD",
                      "expiry": "09/31"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/:id/verify": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Verify a Transaction",
        "description": "Verify transactions using the transaction id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transaction fetched successfully",
                  "data": {
                    "id": 4975363,
                    "tx_ref": "1710840858755-RND_83",
                    "flw_ref": "0537565244201710840859363",
                    "device_fingerprint": "N/A",
                    "amount": 1000,
                    "currency": "NGN",
                    "charged_amount": 1000,
                    "app_fee": 14,
                    "merchant_fee": 0,
                    "processor_response": "success",
                    "auth_model": "AUTH",
                    "ip": "::ffff:172.16.47.200",
                    "narration": "FLUTTERWAVE V3 DOCS",
                    "status": "successful",
                    "payment_type": "bank_transfer",
                    "created_at": "2024-03-19T09:34:27.000Z",
                    "account_id": 118468,
                    "meta": {
                      "originatoraccountnumber": "123*******90",
                      "originatorname": "JOHN DOE",
                      "bankname": "Access Bank",
                      "originatoramount": "N/A"
                    },
                    "amount_settled": 986,
                    "customer": {
                      "id": 2374551,
                      "name": "Anonymous customer",
                      "phone_number": "08012345678",
                      "email": "Johndoe@gmail.com",
                      "created_at": "2024-03-19T09:34:18.000Z"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/verify_by_reference": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Verify a transaction by Transaction reference",
        "description": "Verify transactions using the transaction reference (tx_ref)",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "tx_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "1710840858755-RND_83"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transaction fetched successfully",
                  "data": {
                    "id": 4975363,
                    "tx_ref": "1710840858755-RND_83",
                    "flw_ref": "0537565244201710840859363",
                    "device_fingerprint": "N/A",
                    "amount": 1000,
                    "currency": "NGN",
                    "charged_amount": 1000,
                    "app_fee": 14,
                    "merchant_fee": 0,
                    "processor_response": "success",
                    "auth_model": "AUTH",
                    "ip": "::ffff:172.16.47.200",
                    "narration": "FLUTTERWAVE V3 DOCS",
                    "status": "successful",
                    "payment_type": "bank_transfer",
                    "created_at": "2024-03-19T09:34:27.000Z",
                    "account_id": 118468,
                    "meta": {
                      "originatoraccountnumber": "123*******90",
                      "originatorname": "JOHN DOE",
                      "bankname": "Access Bank",
                      "originatoramount": "N/A"
                    },
                    "amount_settled": 986,
                    "customer": {
                      "id": 2374551,
                      "name": "Anonymous customer",
                      "phone_number": "08012345678",
                      "email": "Johndoe@gmail.com",
                      "created_at": "2024-03-19T09:34:18.000Z"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/:id/refund": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Create a Refund",
        "description": "Intiate a transaction refund",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "amount": "50"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transaction refund initiated",
                  "data": {
                    "id": 8612,
                    "account_id": 73362,
                    "tx_id": 908790,
                    "flw_ref": "URF_1577867664541_3572735",
                    "wallet_id": 74639,
                    "amount_refunded": 5000,
                    "status": "completed",
                    "destination": "payment_source",
                    "meta": {
                      "source": "availablebalance"
                    },
                    "created_at": "2020-01-24T09:18:37.366Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Get Multiple Transactions",
        "description": "Fetch multiple previously initiated transactions",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tx_ref",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transactions fetched",
                  "meta": {
                    "page_info": {
                      "total": 158,
                      "current_page": 1,
                      "total_pages": 16
                    }
                  },
                  "data": [
                    {
                      "id": 1163077,
                      "tx_ref": "akhlm-pstmn-23452",
                      "flw_ref": "FLW-M03K-781621ccfe976c03515bcd07a39f3db8",
                      "device_fingerprint": "N/A",
                      "amount": 30300,
                      "currency": "NGN",
                      "charged_amount": 30300,
                      "app_fee": 11741.9,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:33:20.000Z",
                      "amount_settled": 18558.1,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163068,
                      "tx_ref": "akhlm-pstmn-blkchrge-xx6",
                      "flw_ref": "FLW-M03K-02c21a8095c7e064b8b9714db834080b",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 1000,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:22:07.000Z",
                      "amount_settled": 2000,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163067,
                      "tx_ref": "akhlm-pstmn-blkchrg-xx6",
                      "flw_ref": "FLW-M03K-9d02da3020c67ac05ade7b596881d59f",
                      "device_fingerprint": "N/A",
                      "amount": 3500,
                      "currency": "NGN",
                      "charged_amount": 3500,
                      "app_fee": 1050,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "Kizito Akhilome",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:22:06.000Z",
                      "amount_settled": 2450,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163058,
                      "tx_ref": "akhlm-pstmn-23312",
                      "flw_ref": "FLW-M03K-c3f4f15cc0e643caaf6d44297c95d25c",
                      "device_fingerprint": "N/A",
                      "amount": 30000,
                      "currency": "NGN",
                      "charged_amount": 30000,
                      "app_fee": 11652.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:03:56.000Z",
                      "amount_settled": 18347.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163057,
                      "tx_ref": "akhlm-pstmn-2ew12",
                      "flw_ref": "FLW-M03K-2c1146ad3900b9259b519b36d1a8490d",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T19:02:12.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163052,
                      "tx_ref": "akhlm-pstmn-221eew12",
                      "flw_ref": "FLW-M03K-aed39a8d098aa78cbf295b4e098afb9e",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T18:58:43.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163048,
                      "tx_ref": "akhlm-pstmn-222393212",
                      "flw_ref": "FLW-M03K-c2c22fb57c0290d0135ebef82a721941",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T18:57:21.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163046,
                      "tx_ref": "akhlm-pstmn-2223938342",
                      "flw_ref": "FLW-M03K-d58cb852feb2256ff8de82a9ff852635",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T18:56:14.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163038,
                      "tx_ref": "akhlm-pstmn-222342342",
                      "flw_ref": "FLW-M03K-2a6fb0558c3a6b7c136c87f27023db15",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T18:53:22.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    },
                    {
                      "id": 1163027,
                      "tx_ref": "akhlm-pstmn-222342342",
                      "flw_ref": "FLW-M03K-3c3c840708db61ddadef1491b63b6677",
                      "device_fingerprint": "N/A",
                      "amount": 3000,
                      "currency": "NGN",
                      "charged_amount": 3000,
                      "app_fee": 2756.5,
                      "merchant_fee": 0,
                      "processor_response": "Approved",
                      "auth_model": "noauth",
                      "ip": "pstmn",
                      "narration": "pstmn charge",
                      "status": "successful",
                      "payment_type": "card",
                      "created_at": "2020-03-11T18:43:36.000Z",
                      "amount_settled": 243.5,
                      "card": {
                        "type": "MASTERCARD",
                        "country": "NIGERIA NG",
                        "issuer": "MASTERCARD  CREDIT",
                        "first_6digits": "55318",
                        "last_4digits": "2950",
                        "expiry": "09/22"
                      },
                      "customer": {
                        "id": 252759,
                        "email": "user@example.com",
                        "phone_number": "0813XXXXXXX",
                        "name": "Kendrick Graham",
                        "created_at": "2020-01-15T13:26:24.000Z"
                      },
                      "account_id": 73362
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/refunds": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Get all refunds",
        "description": "query multiple previously initiated refunds",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Refunds fetched",
                  "meta": {
                    "page_info": {
                      "total": 43,
                      "current_page": 1,
                      "total_pages": 3,
                      "page_size": 20
                    }
                  },
                  "data": [
                    {
                      "id": 74896,
                      "amount_refunded": 65,
                      "status": "pending-momo",
                      "flw_ref": "flwm3s4m0c1704848686939",
                      "comment": null,
                      "settlement_id": "166255",
                      "meta": "{\"source\":\"ledgerbalance\",\"disburse_ref\":\"CC-REFD-06950087816-flwm3s4m0c1704848686939\",\"disburse_status\":\"pending\"}",
                      "created_at": "2024-01-10T06:44:47.000Z",
                      "account_id": 118468,
                      "transaction_id": 4091194
                    },
                    {
                      "id": 73519,
                      "amount_refunded": 1,
                      "status": "completed",
                      "flw_ref": "flwm3s4m0c1695302554064",
                      "comment": null,
                      "settlement_id": "168094",
                      "meta": "{\"source\":\"ledgerbalance\",\"uniquereference\":\"71167325151\"}",
                      "created_at": "2023-09-21T13:35:25.000Z",
                      "account_id": 118468,
                      "transaction_id": 3864163
                    },
                    {
                      "id": 38780,
                      "amount_refunded": 50,
                      "status": "pending-momo",
                      "flw_ref": "8839095070",
                      "comment": null,
                      "settlement_id": "139635",
                      "meta": "{\"source\":\"ledgerbalance\",\"disburse_ref\":\"CC-REFD-46453110252-8839095070\",\"disburse_status\":\"pending\",\"linking_ref\":\"04501342812\",\"disburse_message\":\"Transaction is currently being processed\",\"retries\":1}",
                      "created_at": "2021-05-05T08:08:30.000Z",
                      "account_id": 118468,
                      "transaction_id": 1859723
                    },
                    {
                      "id": 33525,
                      "amount_refunded": 1.5,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-75206649deb1b7af698f9a29cec240c8",
                      "comment": null,
                      "settlement_id": "85715",
                      "meta": "{\"source\":\"ledgerbalance\",\"uniquereference\":\"26398102614\"}",
                      "created_at": "2020-12-18T07:55:02.000Z",
                      "account_id": 118468,
                      "transaction_id": 1534034
                    },
                    {
                      "id": 30560,
                      "amount_refunded": 100.1,
                      "status": "completed",
                      "flw_ref": "URF_1606308679202_1431535",
                      "comment": null,
                      "settlement_id": "99889",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-11-25T12:57:34.000Z",
                      "account_id": 118468,
                      "transaction_id": 1535022
                    },
                    {
                      "id": 30554,
                      "amount_refunded": 108.88,
                      "status": "completed",
                      "flw_ref": "URF_1606298854488_2884535",
                      "comment": null,
                      "settlement_id": "99889",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-11-25T10:52:31.000Z",
                      "account_id": 118468,
                      "transaction_id": 1534630
                    },
                    {
                      "id": 27192,
                      "amount_refunded": 300,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-4ac895b4019c8a54afc1c36cc980d9ea",
                      "comment": null,
                      "settlement_id": "96835",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-11-06T13:05:09.000Z",
                      "account_id": 118468,
                      "transaction_id": 1491829
                    },
                    {
                      "id": 27191,
                      "amount_refunded": 550,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-4ac895b4019c8a54afc1c36cc980d9ea",
                      "comment": null,
                      "settlement_id": "96835",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-11-06T12:58:27.000Z",
                      "account_id": 118468,
                      "transaction_id": 1491829
                    },
                    {
                      "id": 22477,
                      "amount_refunded": 50.5,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-8a5d114729346f35936b31fc2138f67a",
                      "comment": null,
                      "settlement_id": "NEW",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-18T09:48:31.000Z",
                      "account_id": 118468,
                      "transaction_id": 1383224
                    },
                    {
                      "id": 22476,
                      "amount_refunded": 50.5,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-e921120fea7e41a9c3a5e7b13c24bce0",
                      "comment": null,
                      "settlement_id": "NEW",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-18T09:45:58.000Z",
                      "account_id": 118468,
                      "transaction_id": 1383243
                    },
                    {
                      "id": 22475,
                      "amount_refunded": 50.5,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-df92e94fbfbeac900f4b2d1578cbe2cf",
                      "comment": null,
                      "settlement_id": "NEW",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-18T09:36:00.000Z",
                      "account_id": 118468,
                      "transaction_id": 1383232
                    },
                    {
                      "id": 22196,
                      "amount_refunded": 15,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-f0f41624da81fa16ef071adb4c3f08a2",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-15T10:11:51.000Z",
                      "account_id": 118468,
                      "transaction_id": 1376285
                    },
                    {
                      "id": 22125,
                      "amount_refunded": 10.41,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-abca43511bc4fc590d4a644d10e4fe59",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-14T10:30:33.000Z",
                      "account_id": 118468,
                      "transaction_id": 1370066
                    },
                    {
                      "id": 22124,
                      "amount_refunded": 10.41,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-15e3663270fd2845799fe5f2a952aff8",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-14T10:30:00.000Z",
                      "account_id": 118468,
                      "transaction_id": 1373663
                    },
                    {
                      "id": 22120,
                      "amount_refunded": 15,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-8c3983d8329652a04fb7ad631c21d46e",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-12T06:58:31.000Z",
                      "account_id": 118468,
                      "transaction_id": 1370207
                    },
                    {
                      "id": 22119,
                      "amount_refunded": 5.4,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-502848fb78cd6a62982c21d180455fd3",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-12T06:58:10.000Z",
                      "account_id": 118468,
                      "transaction_id": 1370205
                    },
                    {
                      "id": 22118,
                      "amount_refunded": 10.51,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-0f80dc40666acd5ecb3fd5f988b4d799",
                      "comment": null,
                      "settlement_id": "80500",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-12T06:57:16.000Z",
                      "account_id": 118468,
                      "transaction_id": 1370173
                    },
                    {
                      "id": 22112,
                      "amount_refunded": 1000,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-74a00017664618fac3e57a3facedff17",
                      "comment": null,
                      "settlement_id": "81755",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-11T11:02:04.000Z",
                      "account_id": 118468,
                      "transaction_id": 1348523
                    },
                    {
                      "id": 22111,
                      "amount_refunded": 10,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-28129ccecd00759404cf6e8c595865c6",
                      "comment": null,
                      "settlement_id": "81755",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-11T10:57:37.000Z",
                      "account_id": 118468,
                      "transaction_id": 1348538
                    },
                    {
                      "id": 22110,
                      "amount_refunded": 10,
                      "status": "completed",
                      "flw_ref": "FLW-MOCK-d8022fa28761ba2d6194ec2af9071483",
                      "comment": null,
                      "settlement_id": "81755",
                      "meta": "{\"source\":\"ledgerbalance\"}",
                      "created_at": "2020-09-11T10:57:30.000Z",
                      "account_id": 118468,
                      "transaction_id": 1359774
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/fee": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Get Transactions Fees (Collections)",
        "description": "Get transaction fee expected to be paid for a particular transaction",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "100"
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NGN"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Charged fee",
                  "data": {
                    "charge_amount": 100,
                    "fee": 1.4,
                    "merchant_fee": 0,
                    "flutterwave_fee": 1.4,
                    "stamp_duty_fee": 0,
                    "currency": "NGN"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/:id/resend-hook": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Resend Failed WebHooks",
        "description": "Resend transaction webhook",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "hook sent successfully",
                  "data": "hook sent"
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transactions/:id/events": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "View Transaction Timeline",
        "description": "Get transaction events",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transaction events fetched",
                  "data": [
                    {
                      "note": "Loaded modal https://raveappv2.herokuapp.com/pay/akhlm",
                      "actor": "h0vkard@flw.ext",
                      "object": "modal",
                      "action": "loaded",
                      "context": "web",
                      "created_at": "2019-12-13T22:09:57.997Z"
                    },
                    {
                      "note": "Switched to Pay with Bank Option",
                      "actor": "h0vkard@flw.ext",
                      "object": "modal",
                      "action": "switched",
                      "context": "web",
                      "created_at": "2019-12-13T22:09:58.001Z"
                    },
                    {
                      "note": "Pay button clicked",
                      "actor": "h0vkard@flw.ext",
                      "object": "MODAL",
                      "action": "click",
                      "context": "web",
                      "created_at": "2019-12-13T22:09:56.903Z"
                    },
                    {
                      "note": "IP Resolved 197.210.29.248",
                      "actor": "h0vkard@flw.ext",
                      "object": "IP",
                      "action": "request",
                      "context": "web",
                      "created_at": "2019-12-13T22:09:59.595Z"
                    },
                    {
                      "note": "Switched to Pay with Card Option",
                      "actor": "h0vkard@flw.ext",
                      "object": "modal",
                      "action": "switched",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:00.314Z"
                    },
                    {
                      "note": "Entering Card Number",
                      "actor": "h0vkard@flw.ext",
                      "object": "Card Number",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:03.505Z"
                    },
                    {
                      "note": "Stopped entering Card Number",
                      "actor": "h0vkard@flw.ext",
                      "object": "Card Number",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:04.522Z"
                    },
                    {
                      "note": "Entering Expiry",
                      "actor": "h0vkard@flw.ext",
                      "object": "Expiry",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:04.523Z"
                    },
                    {
                      "note": "Entering CVV",
                      "actor": "h0vkard@flw.ext",
                      "object": "CVV",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:06.595Z"
                    },
                    {
                      "note": "Stopped entering Expiry",
                      "actor": "h0vkard@flw.ext",
                      "object": "Expiry",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:06.593Z"
                    },
                    {
                      "note": "Stopped entering CVV",
                      "actor": "h0vkard@flw.ext",
                      "object": "CVV",
                      "action": "typing",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:12.412Z"
                    },
                    {
                      "note": "Attempting card charge request",
                      "actor": "h0vkard@flw.ext",
                      "object": "CREDIT_CARD",
                      "action": "charge",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:12.530Z"
                    },
                    {
                      "note": "Submitted Payment Details",
                      "actor": "h0vkard@flw.ext",
                      "object": "payment details:credit_card",
                      "action": "submitted",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:12.529Z"
                    },
                    {
                      "note": "card charge request successful: request for PIN",
                      "actor": "h0vkard@flw.ext",
                      "object": "CREDIT_CARD",
                      "action": "charge",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:14.097Z"
                    },
                    {
                      "note": "Attempting card charge request",
                      "actor": "h0vkard@flw.ext",
                      "object": "CREDIT_CARD",
                      "action": "charge",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:19.209Z"
                    },
                    {
                      "note": "Card charge taking too long. Polling for response",
                      "actor": "h0vkard@flw.ext",
                      "object": "LONG_REQUEST",
                      "action": "charge",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:23.880Z"
                    },
                    {
                      "note": "card charge request successful: request for OTP",
                      "actor": "h0vkard@flw.ext",
                      "object": "CREDIT_CARD",
                      "action": "charge",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:25.263Z"
                    },
                    {
                      "note": "Attempting to validate card charge",
                      "actor": "h0vkard@flw.ext",
                      "object": "CARD_CHARGE",
                      "action": "validate",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:31.630Z"
                    },
                    {
                      "note": "Validate card charge request complete",
                      "actor": "h0vkard@flw.ext",
                      "object": "CARD_CHARGE",
                      "action": "validate",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:33.146Z"
                    },
                    {
                      "note": "Transaction Completed!",
                      "actor": "h0vkard@flw.ext",
                      "object": "TRANSACTION",
                      "action": "completion",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:33.151Z"
                    },
                    {
                      "note": "Validate card charge successful",
                      "actor": "h0vkard@flw.ext",
                      "object": "CARD_CHARGE",
                      "action": "validate",
                      "context": "web",
                      "created_at": "2019-12-13T22:10:33.147Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transfers": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Initiate a Transfer",
        "description": "Initiate a new transfer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_bank": "044",
                  "account_number": "0690000040",
                  "amount": 500,
                  "narration": "Akhlm Pstmn Trnsfr xx007",
                  "currency": "NGN",
                  "reference": "akhlm-pstmnpyt-rfxx078_PMCKDU_1",
                  "callback_url": "https://www.flutterwave.com/ng/",
                  "debit_currency": "NGN"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer Queued Successfully",
                  "data": {
                    "id": 621922,
                    "account_number": "0690000040",
                    "bank_code": "044",
                    "full_name": "Alexis Sanchez",
                    "created_at": "2024-03-18T08:58:30.000Z",
                    "currency": "NGN",
                    "debit_currency": "NGN",
                    "amount": 500,
                    "fee": 10.75,
                    "status": "NEW",
                    "reference": "akhlm-pstmnpyt-rfxx078_PMCKDU_1",
                    "meta": null,
                    "narration": "Akhlm Pstmn Trnsfr xx007",
                    "complete_message": "",
                    "requires_approval": 0,
                    "is_approved": 1,
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Fetch all Transfers",
        "parameters": [
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfers fetched",
                  "meta": {
                    "page_info": {
                      "total": 688,
                      "current_page": 1,
                      "total_pages": 69
                    }
                  },
                  "data": [
                    {
                      "id": 623010,
                      "account_number": "0690000040",
                      "bank_code": "044",
                      "full_name": "Alexis Sanchez",
                      "created_at": "2024-03-26T15:02:58.000Z",
                      "currency": "NGN",
                      "debit_currency": "NGN",
                      "amount": 500,
                      "fee": 10.75,
                      "status": "SUCCESSFUL",
                      "reference": "akhlm-pstmnpyt-rfxx078_PMCKDU_1",
                      "meta": null,
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "Successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 623008,
                      "account_number": "45101820",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB john doe",
                      "created_at": "2024-03-26T14:59:15.000Z",
                      "currency": "NGN",
                      "debit_currency": "NGN",
                      "amount": 100,
                      "fee": 0,
                      "status": "SUCCESSFUL",
                      "reference": "c9a2ad440fb7fd86",
                      "meta": {
                        "AccountId": 2467637,
                        "merchant_id": "234000002467637"
                      },
                      "narration": "Test balance funding",
                      "approver": null,
                      "complete_message": "Transfer was successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 623007,
                      "account_number": "45101820",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB john doe",
                      "created_at": "2024-03-26T14:56:56.000Z",
                      "currency": "NGN",
                      "debit_currency": "NGN",
                      "amount": 500,
                      "fee": 0,
                      "status": "SUCCESSFUL",
                      "reference": "akhlm-pstmnpyt-rfxx07000789076778_PMCKDU_1",
                      "meta": {
                        "AccountId": 2467637,
                        "merchant_id": "234000002467637"
                      },
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "Successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 623006,
                      "account_number": "45101820",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB john doe",
                      "created_at": "2024-03-26T14:56:12.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 0,
                      "status": "SUCCESSFUL",
                      "reference": "akhlm-pstmnpyt-rfxx070007890778_PMCKDU_1",
                      "meta": {
                        "AccountId": 2467637,
                        "merchant_id": "234000002467637"
                      },
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "Successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 623004,
                      "account_number": "39435360",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB Jane Doe",
                      "created_at": "2024-03-26T14:54:19.000Z",
                      "currency": "NGN",
                      "debit_currency": "NGN",
                      "amount": 100,
                      "fee": 0,
                      "status": "SUCCESSFUL",
                      "reference": "edaa15e4c07699ca",
                      "meta": {
                        "AccountId": 2224817,
                        "merchant_id": "234000002224817"
                      },
                      "narration": "Test balance funding",
                      "approver": null,
                      "complete_message": "Transfer was successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 622988,
                      "account_number": "0690000040",
                      "bank_code": "044",
                      "full_name": "Alexis Sanchez",
                      "created_at": "2024-03-26T13:49:40.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 10.75,
                      "status": "SUCCESSFUL",
                      "reference": "akhlm-pstmnpyt-rfxx0700078908_PMCKDU_1",
                      "meta": null,
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "Successful",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 622987,
                      "account_number": "27518899",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB Ayomide DeveloperZ ",
                      "created_at": "2024-03-26T13:40:02.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 0,
                      "status": "FAILED",
                      "reference": "akhlm-pstmnpyt-rfxx070007898_PMCK_ST_FDU_1",
                      "meta": {
                        "AccountId": 1714750,
                        "merchant_id": "234000001714750"
                      },
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "DISBURSE FAILED: Transfer failed. Please contact support",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 622986,
                      "account_number": "27518899",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB Ayomide DeveloperZ ",
                      "created_at": "2024-03-26T13:38:57.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 0,
                      "status": "FAILED",
                      "reference": "akhlm-pstmnpyt-rfxx0700078_PMCK_ST_FDU_1",
                      "meta": {
                        "AccountId": 1714750,
                        "merchant_id": "234000001714750"
                      },
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "DISBURSE FAILED: Transfer failed. Please contact support",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 622984,
                      "account_number": "45077501",
                      "bank_code": "wallet",
                      "full_name": "PAYOUTSUB Example User",
                      "created_at": "2024-03-26T13:00:24.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 0,
                      "status": "FAILED",
                      "reference": "akhlm-pstmnpyt-rfxx070008_PMCK_ST_FDU_1",
                      "meta": {
                        "AccountId": 2466747,
                        "merchant_id": "234000002466747"
                      },
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "DISBURSE FAILED: Transfer failed. Please contact support",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "wallet"
                    },
                    {
                      "id": 622983,
                      "account_number": "6222125542",
                      "bank_code": "232",
                      "full_name": "N/A",
                      "created_at": "2024-03-26T12:54:59.000Z",
                      "currency": "NGN",
                      "debit_currency": "USD",
                      "amount": 500,
                      "fee": 10.75,
                      "status": "FAILED",
                      "reference": "akhlm-pstmnpyt-rfxx078_PMCK_ST_FDU_1",
                      "meta": null,
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "approver": null,
                      "complete_message": "Account resolve failed",
                      "requires_approval": 0,
                      "is_approved": 1,
                      "bank_name": "N/A"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transfers/:id/retries": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Retry a transfer",
        "description": "Retry a previously failed transfer",
        "requestBody": {
          "content": {}
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer retry attempt queued.",
                  "data": {
                    "id": 621930,
                    "account_number": "0690000040",
                    "bank_code": "044",
                    "full_name": "Alexis Sanchez",
                    "created_at": "2024-03-18T09:38:09.000Z",
                    "currency": "NGN",
                    "debit_currency": "NGN",
                    "amount": 500,
                    "fee": 10.75,
                    "status": "NEW",
                    "reference": "akhlm-pstmnpyt-rfxx078_PMCK_ST_FDU_1_RETRY_1",
                    "meta": null,
                    "narration": "Akhlm Pstmn Trnsfr xx007",
                    "complete_message": "",
                    "requires_approval": 0,
                    "is_approved": 1,
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Fetch a Transfer Retry",
        "description": "Fetch the details of a transfer retry",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer retry attempts retrieved.",
                  "data": [
                    {
                      "id": 621925,
                      "account_number": "0690000099",
                      "bank_code": "044",
                      "bank_name": "N/A",
                      "full_name": "N/A",
                      "currency": "NGN",
                      "debit_currency": "NGN",
                      "amount": 500,
                      "fee": 10.75,
                      "status": "FAILED",
                      "reference": "akhlm-pstmnpyt-rfxx678_PMCKDU_1",
                      "narration": "Akhlm Pstmn Trnsfr xx007",
                      "complete_message": "Account resolve failed",
                      "meta": null,
                      "requires_approval": 0,
                      "is_approved": 1,
                      "created_at": "2024-03-18T09:02:14.000Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-transfers/": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Create a Bulk Transfer",
        "description": "Create a bulk transfer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "title": "Test_ZAR_Bulk_Transfers_1",
                  "bulk_data": [
                    {
                      "bank_code": "FNB",
                      "account_number": "0031625807099",
                      "amount": 1900,
                      "currency": "ZAR",
                      "narration": "Test transfer to Lisa",
                      "reference": "bulk_Transfers_0019_PMCK",
                      "meta": [
                        {
                          "first_name": "Lisa",
                          "last_name": "Wayne",
                          "email": "test@test.com",
                          "mobile_number": "+23457558595",
                          "recipient_address": "234 Kings road, Cape Town"
                        }
                      ]
                    },
                    {
                      "bank_code": "FNB",
                      "account_number": "0031625807099",
                      "amount": 3200,
                      "currency": "ZAR",
                      "narration": "Test transfer to Daemon",
                      "reference": "bulk_Transfers_0020_PMCK",
                      "meta": [
                        {
                          "first_name": "Daemon",
                          "last_name": "Philips",
                          "email": "test@test.com",
                          "mobile_number": "+23457558595",
                          "recipient_address": "234 Kings road, Cape Town"
                        }
                      ]
                    },
                    {
                      "bank_code": "FNB",
                      "account_number": "0031625807099",
                      "amount": 6950,
                      "currency": "ZAR",
                      "narration": "Test transfer to John",
                      "reference": "bulk_Transfers_0021_PMCK",
                      "meta": [
                        {
                          "first_name": "John",
                          "last_name": "Kolapo",
                          "email": "test@test.com",
                          "mobile_number": "+23457558595",
                          "recipient_address": "234 Kings road, Cape Town"
                        }
                      ]
                    },
                    {
                      "bank_code": "FNB",
                      "account_number": "0031625807099",
                      "amount": 1500,
                      "currency": "ZAR",
                      "narration": "Test transfer to Kara",
                      "reference": "bulk_Transfers_0022_PMCK",
                      "meta": [
                        {
                          "first_name": "Kara",
                          "last_name": "Johnson",
                          "email": "test@test.com",
                          "mobile_number": "+23457558595",
                          "recipient_address": "234 Kings road, Cape Town"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk transfer queued",
                  "data": {
                    "id": 2013,
                    "created_at": "2020-01-20T16:36:29.000Z",
                    "approver": "N/A"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transfers/fee": {
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Get Transfer Fee",
        "description": "Fetch the Fees for the transfer being made",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NGN"
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "10000"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer fee fetched",
                  "data": [
                    {
                      "fee_type": "value",
                      "currency": "NGN",
                      "fee": 26.875
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transfers/:id": {
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Fetch a Transfer",
        "description": "Fetch the details of a transfer",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer fetched",
                  "data": {
                    "id": 621922,
                    "account_number": "0690000040",
                    "bank_code": "044",
                    "full_name": "Alexis Sanchez",
                    "created_at": "2024-03-18T08:58:30.000Z",
                    "currency": "NGN",
                    "debit_currency": "NGN",
                    "amount": 500,
                    "fee": 10.75,
                    "status": "SUCCESSFUL",
                    "reference": "akhlm-pstmnpyt-rfxx078_PMCKDU_1",
                    "meta": null,
                    "narration": "Akhlm Pstmn Trnsfr xx007",
                    "approver": null,
                    "complete_message": "Successful",
                    "requires_approval": 0,
                    "is_approved": 1,
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/transfers/rates": {
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Get Transfer Rates",
        "description": "Fetch the transfer rate for international transfers",
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "5000"
          },
          {
            "name": "destination_currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "USD"
          },
          {
            "name": "source_currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NGN"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Transfer amount fetched",
                  "data": {
                    "rate": 1219.32,
                    "source": {
                      "currency": "NGN",
                      "amount": 6096600
                    },
                    "destination": {
                      "currency": "USD",
                      "amount": 5000
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/beneficiaries": {
      "post": {
        "tags": [
          "Beneficiaries"
        ],
        "summary": "Create a Transfer Beneficiary",
        "description": "Create a transfer beneficiary",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_number": "0690000034",
                  "account_bank": "044",
                  "beneficiary_name": "Flutterwave Developers"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Beneficiary created",
                  "data": {
                    "id": 3644,
                    "account_number": "0690000034",
                    "bank_code": "044",
                    "full_name": "Ade Bond",
                    "created_at": "2020-01-16T18:01:28.000Z",
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Beneficiaries"
        ],
        "summary": "List all Transfer Beneficiaries",
        "description": "Get all beneficiaries saves for transfer",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout beneficiaries fetched",
                  "meta": {
                    "page_info": {
                      "total": 9,
                      "current_page": 1,
                      "total_pages": 1
                    }
                  },
                  "data": [
                    {
                      "id": 3768,
                      "account_number": "0690000040",
                      "bank_code": "044",
                      "full_name": "Alexis Sanchez",
                      "meta": null,
                      "created_at": "2020-01-20T16:09:24.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 3690,
                      "account_number": "0690000039",
                      "bank_code": "044",
                      "full_name": "Dotun Ajib",
                      "meta": null,
                      "created_at": "2020-01-19T22:36:06.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 3644,
                      "account_number": "0690000034",
                      "bank_code": "044",
                      "full_name": "Ade Bond",
                      "meta": null,
                      "created_at": "2020-01-16T18:01:28.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 3608,
                      "account_number": "0690000044",
                      "bank_code": "044",
                      "full_name": "Mercedes Daniel",
                      "meta": null,
                      "created_at": "2020-01-15T11:58:02.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 3565,
                      "account_number": "0690000038",
                      "bank_code": "044",
                      "full_name": "John Sunday",
                      "meta": null,
                      "created_at": "2020-01-14T05:53:34.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 3104,
                      "account_number": "2540782773934",
                      "bank_code": "000",
                      "full_name": "Kwame Adew",
                      "meta": null,
                      "created_at": "2019-12-05T23:49:31.000Z",
                      "bank_name": "FA-BANK"
                    },
                    {
                      "id": 3093,
                      "account_number": "0690000041",
                      "bank_code": "044",
                      "full_name": "Alexis Rogers",
                      "meta": null,
                      "created_at": "2019-12-05T21:29:57.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 2923,
                      "account_number": "0690000032",
                      "bank_code": "044",
                      "full_name": "Pastor Bright",
                      "meta": null,
                      "created_at": "2019-11-28T08:15:29.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    },
                    {
                      "id": 2857,
                      "account_number": "0690000031",
                      "bank_code": "044",
                      "full_name": "Forrest Green",
                      "meta": null,
                      "created_at": "2019-11-20T10:33:20.000Z",
                      "bank_name": "ACCESS BANK NIGERIA"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/beneficiaries/:id": {
      "get": {
        "tags": [
          "Beneficiaries"
        ],
        "summary": "Fetch a Transfer Beneficiary",
        "description": "Fetch the details of a single beneficiary",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout beneficiary fetched",
                  "data": {
                    "id": 2923,
                    "account_number": "0690000032",
                    "bank_code": "044",
                    "full_name": "Pastor Bright",
                    "meta": null,
                    "created_at": "2019-11-28T08:15:29.000Z",
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Beneficiaries"
        ],
        "summary": "Delete a Transfer Beneficiary",
        "description": "Delete a transfer beneficiary",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Beneficiary deleted",
                  "data": "Deleted"
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards": {
      "post": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Create a Virtual Card",
        "description": "Create a new virtual card",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "currency": "USD",
                  "amount": 5,
                  "debit_currency": "NGN",
                  "billing_name": "Flutterwave Developers",
                  "billing_address": "333, Fremont Street",
                  "billing_city": "San Francisco",
                  "billing_state": "CA",
                  "billing_postal_code": "94105",
                  "billing_country": "US"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Card created successfully",
                  "data": {
                    "id": "43ec6e92-9eb7-48ad-91c8-7bee425a33cf",
                    "account_id": 65637,
                    "amount": "20,000.00",
                    "currency": "NGN",
                    "card_hash": "43ec6e92-9eb7-48ad-91c8-7bee425a33cf",
                    "card_pan": "5366130699778900",
                    "masked_pan": "536613*******8900",
                    "city": "Lekki",
                    "state": "Lagos",
                    "address_1": "19, Olubunmi Rotimi",
                    "address_2": null,
                    "zip_code": "23401",
                    "cvv": "134",
                    "expiration": "2023-01",
                    "send_to": null,
                    "bin_check_name": null,
                    "card_type": "mastercard",
                    "name_on_card": "Jermaine Graham",
                    "created_at": "2020-01-17T18:33:29.0130255+00:00",
                    "is_active": true,
                    "callback_url": null
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Get all Virtual Cards",
        "description": "Fetch the details of all virtual cards",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Cards fetched successfully",
                  "data": [
                    {
                      "id": "43ec6e92-9eb7-48ad-91c8-7bee425a33cf",
                      "account_id": 65637,
                      "amount": "20,000.00",
                      "currency": "NGN",
                      "card_hash": "43ec6e92-9eb7-48ad-91c8-7bee425a33cf",
                      "card_pan": "5366130699778900",
                      "masked_pan": "536613*******8900",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "134",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "Jermaine Graham",
                      "created_at": "2020-01-17T18:33:29.013Z",
                      "is_active": true,
                      "callback_url": "https://your-callback-url.com/"
                    },
                    {
                      "id": "7dc7b98c-7f6d-48f3-9b31-859a145c8085",
                      "account_id": 65637,
                      "amount": "20,000.00",
                      "currency": "NGN",
                      "card_hash": "7dc7b98c-7f6d-48f3-9b31-859a145c8085",
                      "card_pan": "5366130719043293",
                      "masked_pan": "536613*******3293",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "267",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "Jermaine Graham",
                      "created_at": "2020-01-17T18:31:48.97Z",
                      "is_active": true,
                      "callback_url": "https://your-callback-url.com/"
                    },
                    {
                      "id": "acdbb983-09e2-463f-970a-409833dd40c3",
                      "account_id": 65637,
                      "amount": "45,000.00",
                      "currency": "NGN",
                      "card_hash": "acdbb983-09e2-463f-970a-409833dd40c3",
                      "card_pan": "5366138839204877",
                      "masked_pan": "536613*******4877",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "266",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "Aubrey Lamar",
                      "created_at": "2020-01-17T18:29:22.583Z",
                      "is_active": true,
                      "callback_url": null
                    },
                    {
                      "id": "9891e1ad-a24c-4e9b-a844-9ee990823312",
                      "account_id": 65637,
                      "amount": "50,000.00",
                      "currency": "NGN",
                      "card_hash": "9891e1ad-a24c-4e9b-a844-9ee990823312",
                      "card_pan": "5366130206773766",
                      "masked_pan": "536613*******3766",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "391",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "Aubrey Marshall",
                      "created_at": "2020-01-17T18:21:56.483Z",
                      "is_active": true,
                      "callback_url": null
                    },
                    {
                      "id": "cfe5e068-3fbc-4a5b-a843-9393fe8592de",
                      "account_id": 65637,
                      "amount": "50,000.00",
                      "currency": "NGN",
                      "card_hash": "cfe5e068-3fbc-4a5b-a843-9393fe8592de",
                      "card_pan": "5366133796787097",
                      "masked_pan": "536613*******7097",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "464",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "selma",
                      "created_at": "2020-01-14T05:24:48.747Z",
                      "is_active": true,
                      "callback_url": null
                    },
                    {
                      "id": "4edc6b82-5d3f-433f-848a-e980a72e63b0",
                      "account_id": 65637,
                      "amount": "45,000.00",
                      "currency": "NGN",
                      "card_hash": "4edc6b82-5d3f-433f-848a-e980a72e63b0",
                      "card_pan": "5366132470988252",
                      "masked_pan": "536613*******8252",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "967",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "Jessica selma",
                      "created_at": "2020-01-14T05:24:18.373Z",
                      "is_active": true,
                      "callback_url": null
                    },
                    {
                      "id": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "account_id": 65637,
                      "amount": "895,000.00",
                      "currency": "NGN",
                      "card_hash": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "card_pan": "5366132231776517",
                      "masked_pan": "536613*******6517",
                      "city": "Lekki",
                      "state": "Lagos",
                      "address_1": "19, Olubunmi Rotimi",
                      "address_2": null,
                      "zip_code": "23401",
                      "cvv": "949",
                      "expiration": "2023-01",
                      "send_to": null,
                      "bin_check_name": null,
                      "card_type": "mastercard",
                      "name_on_card": "selma FLW",
                      "created_at": "2020-01-12T17:46:21.967Z",
                      "is_active": true,
                      "callback_url": null
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id": {
      "get": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Get a Virtual Card",
        "description": "Fetch the details of a single virtual card",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Card fetched successfully",
                  "data": {
                    "id": "7dc7b98c-7f6d-48f3-9b31-859a145c8085",
                    "account_id": 65637,
                    "amount": "20,000.00",
                    "currency": "NGN",
                    "card_hash": "7dc7b98c-7f6d-48f3-9b31-859a145c8085",
                    "card_pan": "5366130719043293",
                    "masked_pan": "536613*******3293",
                    "city": "Lekki",
                    "state": "Lagos",
                    "address_1": "19, Olubunmi Rotimi",
                    "address_2": null,
                    "zip_code": "23401",
                    "cvv": "267",
                    "expiration": "2023-01",
                    "send_to": null,
                    "bin_check_name": null,
                    "card_type": "mastercard",
                    "name_on_card": "Jermaine Graham",
                    "created_at": "2020-01-17T18:31:48.97Z",
                    "is_active": true,
                    "callback_url": "https://your-callback-url.com/"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id/fund": {
      "post": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Fund a Virtual Card",
        "description": "Fund a virtual card",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "debit_currency": "USD",
                  "amount": "5"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Card funded successfully",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id/withdraw": {
      "post": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Withdraw from a virtual Card",
        "description": "Withdraw funds from a virtual card",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "amount": 500000
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "error",
                  "message": "Card not found. Please check and try again",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id/status/:status_action": {
      "put": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Block/Unblock a Virtual Card",
        "description": "Block/Unblock a virtual card",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "error",
                  "message": "Card has been blocked previously",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id/terminate": {
      "put": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Terminate a Virtual Card",
        "description": "Terminate an existing virtual card",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "error",
                  "message": "Unable to retrieve the requested card.",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-cards/:id/transactions": {
      "get": {
        "tags": [
          "Virtual Cards"
        ],
        "summary": "Fetch a Virtual Card's Transactions",
        "description": "Get transactions done with on a virtual card",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "index",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Card transactions fetched successfully",
                  "data": [
                    {
                      "id": 39250,
                      "amount": 25000,
                      "fee": 0,
                      "product": "Card Transactions",
                      "gateway_reference_details": "Card Withdrawal ",
                      "reference": "CF-BARTER-20200113051758201204",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Withdrawal",
                      "indicator": "D",
                      "created_at": "2020-01-13T05:17:58.777Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39248,
                      "amount": 25000,
                      "fee": 0,
                      "product": "Card Transactions",
                      "gateway_reference_details": "Card Withdrawal ",
                      "reference": "CF-BARTER-20200113051659648286",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Withdrawal",
                      "indicator": "D",
                      "created_at": "2020-01-13T05:16:59.197Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39246,
                      "amount": 50000,
                      "fee": 0,
                      "product": "Card Funding",
                      "gateway_reference_details": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "reference": "CF-BARTER-20200113042055432113",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Funding",
                      "indicator": "C",
                      "created_at": "2020-01-13T04:20:55.597Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39244,
                      "amount": 200000,
                      "fee": 0,
                      "product": "Card Funding",
                      "gateway_reference_details": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "reference": "CF-BARTER-20200113041736563749",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Funding",
                      "indicator": "C",
                      "created_at": "2020-01-13T04:17:36.257Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39242,
                      "amount": 100000,
                      "fee": 0,
                      "product": "Card Funding",
                      "gateway_reference_details": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "reference": "CF-BARTER-20200113041558850052",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Funding",
                      "indicator": "C",
                      "created_at": "2020-01-13T04:15:58.107Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39240,
                      "amount": 100000,
                      "fee": 0,
                      "product": "Card Funding",
                      "gateway_reference_details": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "reference": "CF-BARTER-20200113041420718064",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Funding",
                      "indicator": "C",
                      "created_at": "2020-01-13T04:14:20.273Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39227,
                      "amount": 50000,
                      "fee": 0,
                      "product": "Card Funding",
                      "gateway_reference_details": "38c9201a-fcb2-48fd-875e-6494ed79a6bb",
                      "reference": "CF-BARTER-20200112054622949312",
                      "response_code": 5,
                      "gateway_reference": "536613*******6517",
                      "amount_confirmed": 0,
                      "narration": "Card Funding",
                      "indicator": "C",
                      "created_at": "2020-01-12T17:46:22.543Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39226,
                      "amount": 250,
                      "fee": 0,
                      "product": "Card Issuance Fee",
                      "gateway_reference_details": "Card Issuance fee",
                      "reference": "CF-BARTER-20200112054621157627",
                      "response_code": 5,
                      "gateway_reference": "selma FLW",
                      "amount_confirmed": 0,
                      "narration": "Card Issuance Fee",
                      "indicator": "D",
                      "created_at": "2020-01-12T17:46:21.84Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    },
                    {
                      "id": 39225,
                      "amount": 50000,
                      "fee": 0,
                      "product": "Card Funding Debit",
                      "gateway_reference_details": "Card Funding Transfers",
                      "reference": "CF-BARTER-20200112054618252652",
                      "response_code": 5,
                      "gateway_reference": "selma FLW",
                      "amount_confirmed": 0,
                      "narration": null,
                      "indicator": "D",
                      "created_at": "2020-01-12T17:46:18.95Z",
                      "status": "Successful",
                      "response_message": "Transaction was Successful",
                      "currency": "NGN"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-account-numbers": {
      "post": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Create a Virtual Account Number",
        "description": "Create a virtual account number",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "email": "testtest@gmail.com",
                  "amount": 100,
                  "tx_ref": "Sample_tx_ref-001",
                  "phonenumber": "08100000000",
                  "firstname": "Flutterwave",
                  "lastname": "Developers",
                  "narration": "Add_the_name_of_account_here",
                  "is_permanent": true,
                  "bvn": "12345678901"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Virtual account created",
                  "data": {
                    "response_code": "02",
                    "response_message": "Transaction in progress",
                    "flw_ref": "MockFLWRef-1711620308271",
                    "order_ref": "URF_1711620308080_5006035",
                    "account_number": "0067100155",
                    "account_status": "active",
                    "frequency": 1,
                    "bank_name": "Mock Bank",
                    "created_at": 1711620308271,
                    "expiry_date": 1711620308271,
                    "note": "Mock note",
                    "amount": "100.00"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-virtual-account-numbers": {
      "post": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Create Bulk Virtual Account Numbers",
        "description": "Create bulk virtual account numbers",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "accounts": 3,
                  "email": "user@gmail.com",
                  "is_permanent": true,
                  "tx_ref": "Sample_tx_ref"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk virtual accounts creation queued",
                  "data": {
                    "batch_id": "-RND_2641579516055928",
                    "response_code": "02",
                    "response_message": "Request added to Queue"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/virtual-account-numbers/:order_ref": {
      "get": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Fetch a Virtual Account Number",
        "description": "Fetch a virtual account number details using order reference order ref",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Virtual nuban fetched",
                  "data": {
                    "response_code": "02",
                    "response_message": "Transaction in progress",
                    "flw_ref": "FLW-9b04c88aaf2244379f256691836fd9c9",
                    "order_ref": "URF_1579513580629_5981535",
                    "account_number": "7826463244",
                    "frequency": "5",
                    "bank_name": "WEMA BANK",
                    "created_at": "2020-01-20 09:46:23",
                    "expiry_date": "2020-01-25 23:59:59",
                    "note": "Please make a bank transfer to Earth Gang",
                    "amount": 50700
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Update BVN",
        "description": "Update the BVN of previously created virtual accounts",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "bvn": "12345678901"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Delete a Virtual Account Number",
        "description": "Delete a virtual account",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "status": "inactive"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-virtual-account-numbers/:batch_id": {
      "get": {
        "tags": [
          "Virtual Account Numbers"
        ],
        "summary": "Fetch Bulk Virtual Account Details",
        "description": "Get virtual account details for generated bulk accounts",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk virtual accounts fetched",
                  "data": [
                    {
                      "response_code": "02",
                      "response_message": "Transaction in progress",
                      "flw_ref": "FLW-f2be3dfeb4fb4f1eb95c236b3129ef0c",
                      "order_ref": "URF_1579516057896_3120635",
                      "account_number": "7827737349",
                      "frequency": "N/A",
                      "bank_name": "WEMA BANK",
                      "created_at": "2020-01-20 10:27:38",
                      "expiry_date": "N/A",
                      "note": "Please make a bank transfer to Earth Gang",
                      "amount": null
                    },
                    {
                      "response_code": "02",
                      "response_message": "Transaction in progress",
                      "flw_ref": "FLW-6117c6e877e34f7e80b76268ce73bb69",
                      "order_ref": "URF_1579516058932_17235",
                      "account_number": "7827554918",
                      "frequency": "N/A",
                      "bank_name": "WEMA BANK",
                      "created_at": "2020-01-20 10:27:39",
                      "expiry_date": "N/A",
                      "note": "Please make a bank transfer to Earth Gang",
                      "amount": null
                    },
                    {
                      "response_code": "02",
                      "response_message": "Transaction in progress",
                      "flw_ref": "FLW-590fb41034b24dcd9f822f2c02c3cf98",
                      "order_ref": "URF_1579516059900_4435935",
                      "account_number": "7827619600",
                      "frequency": "N/A",
                      "bank_name": "WEMA BANK",
                      "created_at": "2020-01-20 10:27:40",
                      "expiry_date": "N/A",
                      "note": "Please make a bank transfer to Earth Gang",
                      "amount": null
                    },
                    {
                      "response_code": "02",
                      "response_message": "Transaction in progress",
                      "flw_ref": "FLW-8e3fb79bb27040d69da1dbe467da8e7c",
                      "order_ref": "URF_1579516060920_1225335",
                      "account_number": "7827266267",
                      "frequency": "N/A",
                      "bank_name": "WEMA BANK",
                      "created_at": "2020-01-20 10:27:41",
                      "expiry_date": "N/A",
                      "note": "Please make a bank transfer to Earth Gang",
                      "amount": null
                    },
                    {
                      "response_code": "02",
                      "response_message": "Transaction in progress",
                      "flw_ref": "FLW-1a5264671801416ba09211d0142f0bd1",
                      "order_ref": "URF_1579516061920_4339335",
                      "account_number": "7827342397",
                      "frequency": "N/A",
                      "bank_name": "WEMA BANK",
                      "created_at": "2020-01-20 10:27:42",
                      "expiry_date": "N/A",
                      "note": "Please make a bank transfer to Earth Gang",
                      "amount": null
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/subaccounts": {
      "post": {
        "tags": [
          "Collection Subaccounts"
        ],
        "summary": "Create a collection subaccount",
        "description": "Create a collection subaccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_bank": "044",
                  "account_number": "0690000034",
                  "business_name": "Example Business",
                  "business_email": "user@gmail.com",
                  "business_contact": "Example User",
                  "business_contact_mobile": "09080000000",
                  "business_mobile": "08100000000",
                  "country": "NG",
                  "split_type": "flat",
                  "split_value": "1000"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccount created",
                  "data": {
                    "id": 2181,
                    "account_number": "0690000037",
                    "account_bank": "044",
                    "full_name": "Ibra Mili",
                    "created_at": "2020-01-20T06:47:56.000Z",
                    "meta": [
                      {
                        "meta_name": "mem_adr",
                        "meta_value": "0x16241F327213"
                      }
                    ],
                    "split_type": "percentage",
                    "split_value": 0.5,
                    "subaccount_id": "RS_9BD2ACE480785E759A16FDE1874A6657",
                    "bank_name": "ACCESS BANK NIGERIA"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Collection Subaccounts"
        ],
        "summary": "Fetch all subaccounts",
        "description": "Fetch all collection subaccount",
        "parameters": [
          {
            "name": "account_bank",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bank_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccounts fetched",
                  "meta": {
                    "page_info": {
                      "total": 8,
                      "current_page": 1,
                      "total_pages": 1
                    }
                  },
                  "data": [
                    {
                      "id": 2181,
                      "account_number": "0690000037",
                      "account_bank": "044",
                      "business_name": "Eternal Blue",
                      "full_name": "Ibra Mili",
                      "created_at": "2020-01-20T06:47:56.000Z",
                      "meta": [
                        {
                          "meta_name": "mem_adr",
                          "meta_value": "0x16241F327213"
                        }
                      ],
                      "account_id": 88747,
                      "split_ratio": 1,
                      "split_type": "percentage",
                      "split_value": 0.5,
                      "subaccount_id": "RS_9BD2ACE480785E759A16FDE1874A6657",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 2180,
                      "account_number": "0690000035",
                      "account_bank": "044",
                      "business_name": "Eternal Blue",
                      "full_name": "Peter Crouch",
                      "created_at": "2020-01-20T06:44:58.000Z",
                      "meta": [
                        {
                          "meta_name": "mem_adr",
                          "meta_value": "0x16241F327213"
                        }
                      ],
                      "account_id": 88746,
                      "split_ratio": 1,
                      "split_type": "flat",
                      "split_value": 0,
                      "subaccount_id": "RS_5096825149E9FDDC65864F79B815AB45",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 2164,
                      "account_number": "0690000043",
                      "account_bank": "044",
                      "business_name": "JK Services",
                      "full_name": "Roberta Weber",
                      "created_at": "2020-01-17T16:25:36.000Z",
                      "meta": [
                        {}
                      ],
                      "account_id": 88496,
                      "split_ratio": 1,
                      "split_type": "flat",
                      "split_value": 0,
                      "subaccount_id": "RS_A560B61FF493A3720913B0487030D2A5",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 2063,
                      "account_number": "0690000039",
                      "account_bank": "044",
                      "business_name": "Sharp Guy",
                      "full_name": "Dotun Ajib",
                      "created_at": "2020-01-02T21:54:35.000Z",
                      "meta": [
                        {
                          "swift_code": ""
                        }
                      ],
                      "account_id": 86548,
                      "split_ratio": 1,
                      "split_type": "percentage",
                      "split_value": 0.6,
                      "subaccount_id": "RS_2A9D2F79274AD40924983F5BA6975336",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 1962,
                      "account_number": "0690000042",
                      "account_bank": "044",
                      "business_name": "Sam Son",
                      "full_name": "Forrest Terry",
                      "created_at": "2019-12-09T13:27:04.000Z",
                      "meta": [
                        {
                          "swift_code": ""
                        }
                      ],
                      "account_id": 84353,
                      "split_ratio": 1,
                      "split_type": "percentage",
                      "split_value": 0.02,
                      "subaccount_id": "RS_008F29575D91B6E80BB31F5B374CBF4E",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 1961,
                      "account_number": "0690000033",
                      "account_bank": "044",
                      "business_name": "Zen Daya",
                      "full_name": "Bale Gary",
                      "created_at": "2019-12-09T13:19:41.000Z",
                      "meta": [
                        {
                          "swift_code": ""
                        }
                      ],
                      "account_id": 84351,
                      "split_ratio": 1,
                      "split_type": "percentage",
                      "split_value": 0.05,
                      "subaccount_id": "RS_DE6A6DDCB8C0708D7D39B7DFEC0AC8B7",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 1960,
                      "account_number": "0690000031",
                      "account_bank": "044",
                      "business_name": "Zen Daya",
                      "full_name": "Forrest Green",
                      "created_at": "2019-12-09T13:18:14.000Z",
                      "meta": [
                        {
                          "swift_code": ""
                        }
                      ],
                      "account_id": 84349,
                      "split_ratio": 1,
                      "split_type": "percentage",
                      "split_value": 0.05,
                      "subaccount_id": "RS_7F017022CF4E8A7F0BD5BBD86BD442B0",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    },
                    {
                      "id": 1663,
                      "account_number": "0690000032",
                      "account_bank": "044",
                      "business_name": "Monkey Tail",
                      "full_name": "Pastor Bright",
                      "created_at": "2019-09-25T13:44:23.000Z",
                      "meta": [
                        {
                          "swift_code": ""
                        }
                      ],
                      "account_id": 75465,
                      "split_ratio": 1,
                      "split_type": "flat",
                      "split_value": 100,
                      "subaccount_id": "RS_19D8078A8CB10757BA7ACA8FB695D17C",
                      "bank_name": "ACCESS BANK NIGERIA",
                      "country": "NG"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/subaccounts/:id": {
      "get": {
        "tags": [
          "Collection Subaccounts"
        ],
        "summary": "Fetch a Subaccount",
        "description": "Fetch the details of a single collection subaccount",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccount fetched",
                  "data": {
                    "id": 2063,
                    "account_number": "0690000039",
                    "account_bank": "044",
                    "business_name": "Sharp Guy",
                    "full_name": "Dotun Ajib",
                    "created_at": "2020-01-02T21:54:35.000Z",
                    "meta": [
                      {
                        "swift_code": ""
                      }
                    ],
                    "account_id": 86548,
                    "split_ratio": 1,
                    "split_type": "percentage",
                    "split_value": 0.6,
                    "subaccount_id": "RS_2A9D2F79274AD40924983F5BA6975336",
                    "bank_name": "ACCESS BANK NIGERIA",
                    "country": "NG"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Collection Subaccounts"
        ],
        "summary": "Update a subaccount",
        "description": "Update a collection subaccount details",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "business_name": "Example Business",
                  "business_email": "business@gmail.com",
                  "account_bank": "044",
                  "account_number": "0690000034",
                  "split_type": "flat",
                  "split_value": "200"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccount edited",
                  "data": {
                    "id": 2165,
                    "account_number": "0690000040",
                    "account_bank": "044",
                    "business_name": "Mad O!",
                    "full_name": "Alexis Rogers",
                    "created_at": "2020-01-17T16:28:26.000Z",
                    "meta": [
                      {
                        "meta_name": "MarketplaceID",
                        "meta_value": "ggs-920900"
                      }
                    ],
                    "account_id": 88497,
                    "split_ratio": 1,
                    "split_type": "flat",
                    "split_value": "200",
                    "subaccount_id": "RS_884E7E4BD793ADA77F491CF4AD3DE19E",
                    "bank_name": "ACCESS BANK NIGERIA",
                    "country": "NG"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Collection Subaccounts"
        ],
        "summary": "Delete a subaccount",
        "description": "Delete a collection subaccount",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccount deleted",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payout-subaccounts": {
      "post": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Create a Payout Subaccount",
        "description": "Create a payout subaccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_name": "john doe",
                  "email": "johndoe@gmail.com",
                  "mobilenumber": "09010000000",
                  "country": "NG"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout subaccount created",
                  "data": {
                    "id": 4190,
                    "account_reference": "PSA7472870CFA3073543",
                    "account_name": "Example User",
                    "barter_id": "234000002466747",
                    "email": "user@gmail.com",
                    "mobilenumber": "09010000000",
                    "country": "US",
                    "nuban": "6222125542",
                    "bank_name": "Sterling Bank",
                    "bank_code": "232",
                    "status": "ACTIVE",
                    "created_at": "2024-03-24T09:38:03.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "List all Payout Subaccounts",
        "description": "Fetch the details of all previously created payout subaccounts",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout subaccounts fetched",
                  "data": [
                    {
                      "id": 2625,
                      "account_reference": "678RRDDDFFF567700000",
                      "account_name": "Dekunle Odus",
                      "barter_id": "234000002004539",
                      "email": "dev@flutterwavego.com",
                      "mobilenumber": "08060399351",
                      "country": "NG",
                      "nuban": "6222060346",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2023-05-17T10:30:00.000Z"
                    },
                    {
                      "id": 736,
                      "account_reference": "PSA0993DB6C214118068",
                      "account_name": "Ayomide DeveloperZ ",
                      "barter_id": "234000001714750",
                      "email": "ayomide+123@flutterwavego.com",
                      "mobilenumber": "09012903324",
                      "country": "US",
                      "nuban": "6222134233",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2022-03-15T11:35:18.000Z"
                    },
                    {
                      "id": 700,
                      "account_reference": "PSA15FAF664D63870782",
                      "account_name": "Aramide Smith",
                      "barter_id": "234000001708295",
                      "email": "arasmith676@yahoo.com",
                      "mobilenumber": "+1409340265",
                      "country": "NG",
                      "nuban": "6222126187",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2022-03-04T19:57:50.000Z"
                    },
                    {
                      "id": 1338,
                      "account_reference": "PSA473B98B92E2246208",
                      "account_name": "Cornelius Ashley-Osuzoka",
                      "barter_id": "234000001795142",
                      "email": "cornelius+123@flutterwavego.com",
                      "mobilenumber": "08109328188",
                      "country": "NG",
                      "nuban": "1352675881",
                      "bank_name": "HighStreet MFB bank",
                      "bank_code": "090175",
                      "status": "ACTIVE",
                      "created_at": "2022-07-21T14:04:06.000Z"
                    },
                    {
                      "id": 4190,
                      "account_reference": "PSA7472870CFA3073543",
                      "account_name": "Example User",
                      "barter_id": "234000002466747",
                      "email": "user@gmail.com",
                      "mobilenumber": "09010000000",
                      "country": "US",
                      "nuban": "6222125542",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2024-03-24T09:38:03.000Z"
                    },
                    {
                      "id": 1753,
                      "account_reference": "PSA88B1F0A78C0262783",
                      "account_name": "PHP Person",
                      "barter_id": "234000001862258",
                      "email": "cornelius@flutterwavego.com",
                      "mobilenumber": "+2348065007910",
                      "country": "NG",
                      "nuban": "1352702389",
                      "bank_name": "Test Bank",
                      "bank_code": "090175",
                      "status": "ACTIVE",
                      "created_at": "2022-11-07T14:11:02.000Z"
                    },
                    {
                      "id": 1750,
                      "account_reference": "PSAA888D98D4E7757810",
                      "account_name": "Jake Teddy",
                      "barter_id": "234000001860681",
                      "email": "jteddy@gmail.com",
                      "mobilenumber": "+2348065007000",
                      "country": "NG",
                      "nuban": "1352701877",
                      "bank_name": "Test Bank",
                      "bank_code": "090175",
                      "status": "ACTIVE",
                      "created_at": "2022-11-04T16:02:37.000Z"
                    },
                    {
                      "id": 701,
                      "account_reference": "PSAC33BFC23033921446",
                      "account_name": "Ayomide Jimi-Oni ",
                      "barter_id": "234000001708296",
                      "email": "ayomide@flutterwavego.com",
                      "mobilenumber": "09012903324",
                      "country": "NG",
                      "nuban": "6222126197",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2022-03-04T19:58:41.000Z"
                    },
                    {
                      "id": 3800,
                      "account_reference": "PSAD0EFA5A9212120652",
                      "account_name": "USD_Wallet",
                      "barter_id": "234000002403717",
                      "email": "tgchatikobo@gmail.com",
                      "mobilenumber": "0614762097",
                      "country": "NG",
                      "nuban": "6222110118",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2023-12-06T11:28:51.000Z"
                    },
                    {
                      "id": 1372,
                      "account_reference": "PSAE670D94E621190755",
                      "account_name": "Cornelius Ashley-Osuzoka",
                      "barter_id": "234000001798672",
                      "email": "cornelius+1234@flutterwavego.com",
                      "mobilenumber": "08109328188",
                      "country": "NG",
                      "nuban": "1352677207",
                      "bank_name": "HighStreet MFB bank",
                      "bank_code": "090175",
                      "status": "ACTIVE",
                      "created_at": "2022-07-26T13:13:10.000Z"
                    },
                    {
                      "id": 699,
                      "account_reference": "PSAFF2118D1A33844332",
                      "account_name": "Flutterwave Developers",
                      "barter_id": "234000001708294",
                      "email": "developers@flutterwavego.com",
                      "mobilenumber": "010101010",
                      "country": "NG",
                      "nuban": "6222126177",
                      "bank_name": "Sterling Bank",
                      "bank_code": "232",
                      "status": "ACTIVE",
                      "created_at": "2022-03-04T19:57:24.000Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payout-subaccounts/:account_reference": {
      "get": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Get a Payout Subaccount",
        "description": "Fetch a payout subaccount details",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "include_limits",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "1"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout subaccount fetched",
                  "data": {
                    "id": 699,
                    "account_reference": "PSAFF2118D1A33844332",
                    "account_name": "Flutterwave Developers",
                    "barter_id": "234000001708294",
                    "email": "developers@flutterwavego.com",
                    "mobilenumber": "010101010",
                    "country": "NG",
                    "nuban": "6222126177",
                    "bank_name": "Sterling Bank",
                    "bank_code": "232",
                    "status": "ACTIVE",
                    "created_at": "2022-03-04T19:57:24.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Update a Payout Subaccount",
        "description": "Update the details of a payout subaccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_name": "Another Example",
                  "email": "developers@flutterwavego.com",
                  "mobilenumber": "234000001708294",
                  "country": "US"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payout subaccount updated",
                  "data": {
                    "id": 699,
                    "account_reference": "PSAFF2118D1A33844332",
                    "account_name": "Another Example",
                    "barter_id": "234000001708294",
                    "email": "developers@flutterwavego.com",
                    "mobilenumber": "234000001708294",
                    "country": "US",
                    "nuban": "6222126177",
                    "bank_name": "Sterling Bank",
                    "bank_code": "232",
                    "status": "ACTIVE",
                    "created_at": "2022-03-04T19:57:24.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payout-subaccounts/:account_reference/transactions": {
      "get": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Fetch Transactions",
        "description": "Fetch the transactions of a payout subaccount",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "2020-03-21"
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "2024-03-25"
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NGN"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Wallet statement retrieved",
                  "data": {
                    "page_info": {
                      "total": 1,
                      "current_page": 1,
                      "total_pages": 1
                    },
                    "transactions": [
                      {
                        "type": "C",
                        "amount": 100,
                        "currency": "NGN",
                        "balance_before": 0,
                        "balance_after": 100,
                        "reference": "FLWRVCNF623008",
                        "date": "2024-03-26T14:59:35+00:00",
                        "remarks": "Test balance funding",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 100,
                        "statement_type": "available"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payout-subaccounts/:account_reference/balances": {
      "get": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Fetch Available  Balance",
        "description": "Fetch the available balance of a payout subaccount",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subaccount balance fetched",
                  "data": {
                    "currency": "NGN",
                    "available_balance": 100,
                    "ledger_balance": 0
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payout-subaccounts/:account_reference/static-account": {
      "get": {
        "tags": [
          "Payout Subaccounts"
        ],
        "summary": "Fetch Static Virtual Accounts",
        "description": "Generate static account details (virtual accounts) for payout subaccount funding",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NGN"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "SERVICE-RESPONSE",
                  "data": {
                    "static_account": "6222126177",
                    "bank_name": "Sterling Bank",
                    "bank_code": "232",
                    "currency": "NGN"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/subscriptions": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get all Subscriptions",
        "description": "Fetch the details of all subscriptions",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transaction_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "plan",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscribed_from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscribed_to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "next_due_from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "next_due_to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Plan subscriptions fetched",
                  "meta": {
                    "page_info": {
                      "total": 2,
                      "current_page": 1,
                      "total_pages": 1
                    }
                  },
                  "data": [
                    {
                      "id": 4147,
                      "amount": 2000,
                      "customer": {
                        "id": 247546,
                        "customer_email": "h0vkard@flw.ext"
                      },
                      "plan": 3657,
                      "status": "cancelled",
                      "created_at": "2019-12-31T17:00:55.000Z"
                    },
                    {
                      "id": 4146,
                      "amount": 2000,
                      "customer": {
                        "id": 247490,
                        "customer_email": "h0vkard@flw.ext"
                      },
                      "plan": 3656,
                      "status": "cancelled",
                      "created_at": "2019-12-31T14:44:20.000Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/subscriptions/:id/activate": {
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Activate a Subscription",
        "description": "Activate a previously created subscription",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subscription activated",
                  "data": {
                    "id": 4147,
                    "amount": 2000,
                    "customer": {
                      "id": 247546,
                      "customer_email": "h0vkard@flw.ext"
                    },
                    "plan": 3657,
                    "status": "active",
                    "created_at": "2019-12-31T17:00:55.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/subscriptions/:id/cancel": {
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Deactivate a Subscription",
        "description": "Deactivate a subscription",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": ""
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Subscription cancelled",
                  "data": {
                    "id": 4147,
                    "amount": 2000,
                    "customer": {
                      "id": 247546,
                      "customer_email": "h0vkard@flw.ext"
                    },
                    "plan": 3657,
                    "status": "cancelled",
                    "created_at": "2019-12-31T17:00:55.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payment-plans": {
      "post": {
        "tags": [
          "Payment Plans"
        ],
        "summary": "Create a Payment Plan",
        "description": "Create a payment plan",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "amount": 5000,
                  "name": "the akhlm postman plan 2",
                  "interval": "monthly",
                  "duration": 48
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payment plan created",
                  "data": {
                    "id": 3807,
                    "name": "the akhlm postman plan 2",
                    "amount": 5000,
                    "interval": "monthly",
                    "duration": 48,
                    "status": "active",
                    "currency": "NGN",
                    "plan_token": "rpp_12d2ef3d5ac1c13b9d30",
                    "created_at": "2020-01-16T18:08:19.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Payment Plans"
        ],
        "summary": "Get all Payment Plans",
        "description": "Fetch the details of all previously created payment plans",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payment plans fetched",
                  "meta": {
                    "page_info": {
                      "total": 11,
                      "current_page": 1,
                      "total_pages": 2
                    }
                  },
                  "data": [
                    {
                      "id": 3809,
                      "name": "akhlm postman updated",
                      "amount": 0,
                      "interval": "daily",
                      "duration": 0,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_59072efa415936a5cfbf",
                      "created_at": "2020-01-16T18:10:32.000Z"
                    },
                    {
                      "id": 3808,
                      "name": "N/A",
                      "amount": 5000,
                      "interval": "daily",
                      "duration": 0,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_e8b0c18d665d849f033b",
                      "created_at": "2020-01-16T18:10:22.000Z"
                    },
                    {
                      "id": 3807,
                      "name": "akhlm postman update",
                      "amount": 5000,
                      "interval": "monthly",
                      "duration": 48,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_12d2ef3d5ac1c13b9d30",
                      "created_at": "2020-01-16T18:08:19.000Z"
                    },
                    {
                      "id": 3806,
                      "name": "the akhlm postman plan",
                      "amount": 5000,
                      "interval": "weekly",
                      "duration": 52,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_25f3bbeae9333211dd35",
                      "created_at": "2020-01-16T18:05:01.000Z"
                    },
                    {
                      "id": 3772,
                      "name": "The selma Postman Plan 2",
                      "amount": 5000,
                      "interval": "weekly",
                      "duration": 52,
                      "status": "cancelled",
                      "currency": "NGN",
                      "plan_token": "rpp_d2f295acd1970438f822",
                      "created_at": "2020-01-14T05:43:48.000Z"
                    },
                    {
                      "id": 3771,
                      "name": "The selma Postman Plan",
                      "amount": 5000,
                      "interval": "monthly",
                      "duration": 12,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_3e0968c64209b7a0f25c",
                      "created_at": "2020-01-14T05:42:57.000Z"
                    },
                    {
                      "id": 3700,
                      "name": "The selma Plan",
                      "amount": 2000,
                      "interval": "monthly",
                      "duration": 12,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_93fef9f31f7b6abb5882",
                      "created_at": "2020-01-10T13:29:46.000Z"
                    },
                    {
                      "id": 3699,
                      "name": "N/A",
                      "amount": 0,
                      "interval": "daily",
                      "duration": 0,
                      "status": "cancelled",
                      "currency": "NGN",
                      "plan_token": "rpp_93d443ad355b5efb4fe3",
                      "created_at": "2020-01-10T13:28:47.000Z"
                    },
                    {
                      "id": 3698,
                      "name": "The selma Editted",
                      "amount": 0,
                      "interval": "daily",
                      "duration": 0,
                      "status": "cancelled",
                      "currency": "NGN",
                      "plan_token": "rpp_f1ef76170b1a7bc1110b",
                      "created_at": "2020-01-10T13:28:13.000Z"
                    },
                    {
                      "id": 3657,
                      "name": "akhlm-stag",
                      "amount": 2000,
                      "interval": "hourly",
                      "duration": 4,
                      "status": "active",
                      "currency": "NGN",
                      "plan_token": "rpp_fed796f8be1f5469a41f",
                      "created_at": "2019-12-31T16:51:28.000Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payment-plans/:id": {
      "get": {
        "tags": [
          "Payment Plans"
        ],
        "summary": "Get a Payment Plan",
        "description": "Fetch the details of a single payment plan",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payment plan fetched",
                  "data": {
                    "id": 63468,
                    "name": "Sample Plan",
                    "amount": 1000,
                    "interval": "monthly",
                    "duration": 12,
                    "status": "active",
                    "currency": "NGN",
                    "plan_token": "rpp_0ec8c0e2acb9e4304b94",
                    "created_at": "2024-03-08T06:59:41.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Payment Plans"
        ],
        "summary": "Update a Payment Plan",
        "description": "Update a payment plan",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "name": "Another Plan",
                  "status": "active"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payment plan updated",
                  "data": {
                    "id": 3807,
                    "name": "akhlm postman update",
                    "plan_token": "rpp_12d2ef3d5ac1c13b9d30",
                    "status": "active",
                    "currency": "NGN",
                    "amount": 5000,
                    "duration": 48,
                    "interval": "monthly",
                    "created_at": "2020-01-16T18:08:19.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/payment-plans/:id/cancel": {
      "put": {
        "tags": [
          "Payment Plans"
        ],
        "summary": "Cancel a Payment Plan",
        "description": "Cancel a payment plan",
        "requestBody": {
          "content": {}
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Payment plan cancelled",
                  "data": {
                    "id": 3807,
                    "name": "the akhlm postman plan 2",
                    "plan_token": "rpp_12d2ef3d5ac1c13b9d30",
                    "status": "cancelled",
                    "currency": "NGN",
                    "amount": 5000,
                    "duration": 48,
                    "interval": "monthly",
                    "created_at": "2020-01-16T18:08:19.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/top-bill-categories": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get Supported Bill Categories",
        "description": "Query supported bill categories by country",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NG"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Categories fetched successfully",
                  "data": [
                    {
                      "id": 1,
                      "name": "Airtime",
                      "code": "AIRTIME",
                      "description": "Airtime",
                      "country_code": "NG"
                    },
                    {
                      "id": 2,
                      "name": "Mobile Data Service",
                      "code": "MOBILEDATA",
                      "description": "Mobile Data Service",
                      "country_code": "NG"
                    },
                    {
                      "id": 3,
                      "name": "Cable Bill Payment",
                      "code": "CABLEBILLS",
                      "description": "Cable Bill Payment",
                      "country_code": "NG"
                    },
                    {
                      "id": 4,
                      "name": "Internet Service",
                      "code": "INTSERVICE",
                      "description": "Internet Service",
                      "country_code": "NG"
                    },
                    {
                      "id": 5,
                      "name": "Utility Bills",
                      "code": "UTILITYBILLS",
                      "description": "Utility Bills",
                      "country_code": "NG"
                    },
                    {
                      "id": 6,
                      "name": "Tax Payment",
                      "code": "TAX",
                      "description": "Tax Payment",
                      "country_code": "NG"
                    },
                    {
                      "id": 7,
                      "name": "Donations",
                      "code": "DONATIONS",
                      "description": "Donations",
                      "country_code": "NG"
                    },
                    {
                      "id": 8,
                      "name": "Transport and Logistics",
                      "code": "TRANSLOG",
                      "description": "Transport and Logistics",
                      "country_code": "NG"
                    },
                    {
                      "id": 9,
                      "name": "Dealer Payments",
                      "code": "DEALPAY",
                      "description": "Dealer Payments",
                      "country_code": "NG"
                    },
                    {
                      "id": 10,
                      "name": "Airtime",
                      "code": "AIRTIME",
                      "description": "Airtime",
                      "country_code": "GH"
                    },
                    {
                      "id": 11,
                      "name": "Mobile Money",
                      "code": "MOBILEMONEY",
                      "description": "Mobile Money",
                      "country_code": "GH"
                    },
                    {
                      "id": 12,
                      "name": "Airtime",
                      "code": "AIRTIME",
                      "description": "Airtime",
                      "country_code": "KE"
                    },
                    {
                      "id": 13,
                      "name": "Cable Bill Payment",
                      "code": "CABLEBILLS",
                      "description": "Cable Bill Payment",
                      "country_code": "KE"
                    },
                    {
                      "id": 14,
                      "name": "Utility Bills",
                      "code": "UTILITYBILLS",
                      "description": "Utility Bills",
                      "country_code": "KE"
                    },
                    {
                      "id": 15,
                      "name": "Mobile Money",
                      "code": "MOBILEMONEY",
                      "description": "Mobile Money",
                      "country_code": "ZM"
                    },
                    {
                      "id": 16,
                      "name": "Airtime",
                      "code": "Airtime",
                      "description": "Airtime",
                      "country_code": "ZM"
                    },
                    {
                      "id": 17,
                      "name": "Religious Institutions",
                      "code": "RELINST",
                      "description": "Religious Institutions",
                      "country_code": "NG"
                    },
                    {
                      "id": 18,
                      "name": "Schools & Professional Bodies",
                      "code": "SCHPB",
                      "description": "Schools & Professional Bodies",
                      "country_code": "NG"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bills/:category/billers": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get Biller Details",
        "description": "Query supported billers by country.",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "NG"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Billers fetched successfully",
                  "data": [
                    {
                      "id": 66,
                      "name": "DSTV",
                      "logo": null,
                      "description": "DSTV",
                      "short_name": "DSTV",
                      "biller_code": "BIL119",
                      "country_code": "NG"
                    },
                    {
                      "id": 67,
                      "name": "GOTV",
                      "logo": null,
                      "description": "GOTV",
                      "short_name": "GOTV",
                      "biller_code": "BIL120",
                      "country_code": "NG"
                    },
                    {
                      "id": 68,
                      "name": "DAARSAT Communications",
                      "logo": null,
                      "description": "DAARSAT Communications",
                      "short_name": "DAARSAT Communications",
                      "biller_code": "BIL123",
                      "country_code": "NG"
                    },
                    {
                      "id": 69,
                      "name": "DSTV BOX OFFICE",
                      "logo": null,
                      "description": "DSTV BOX OFFICE",
                      "short_name": "DSTV BOX OFFICE",
                      "biller_code": "BIL125",
                      "country_code": "NG"
                    },
                    {
                      "id": 70,
                      "name": "MyTV",
                      "logo": null,
                      "description": "MyTV",
                      "short_name": "MyTV",
                      "biller_code": "BIL128",
                      "country_code": "NG"
                    },
                    {
                      "id": 71,
                      "name": "HiTV",
                      "logo": null,
                      "description": "HiTV",
                      "short_name": "HiTV",
                      "biller_code": "BIL129",
                      "country_code": "NG"
                    },
                    {
                      "id": 91,
                      "name": "STARTIMES",
                      "logo": null,
                      "description": "STARTIMES",
                      "short_name": "STARTIMES",
                      "biller_code": "BIL123",
                      "country_code": "NG"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/billers/:biller_code/items": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get a Bill Information",
        "description": "Fetch bill details provided by billers.",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bill items fetched successfully",
                  "data": [
                    {
                      "id": 34,
                      "biller_code": "BIL119",
                      "name": "DSTV Payment",
                      "default_commission": 0.1,
                      "date_added": "2020-09-17T15:56:58.057Z",
                      "country": "NG",
                      "is_airtime": false,
                      "biller_name": "DSTV Payment",
                      "item_code": "CB140",
                      "short_name": "DSTV Premium",
                      "fee": 100,
                      "commission_on_fee": true,
                      "reg_expression": "^[0-9]+$",
                      "label_name": "SmartCard Number",
                      "amount": 14600,
                      "is_resolvable": true,
                      "group_name": "DSTV",
                      "category_name": "Cable Bill Payment",
                      "is_data": null,
                      "default_commission_on_amount": null,
                      "commission_on_fee_or_amount": null,
                      "validity_period": null
                    },
                    {
                      "id": 35,
                      "biller_code": "BIL119",
                      "name": "DSTV",
                      "default_commission": 0.1,
                      "date_added": "2020-09-17T15:56:58.057Z",
                      "country": "NG",
                      "is_airtime": false,
                      "biller_name": "DSTV Access",
                      "item_code": "CB141",
                      "short_name": "DSTV Access",
                      "fee": 100,
                      "commission_on_fee": true,
                      "reg_expression": "^[0-9]+$",
                      "label_name": "SmartCard Number",
                      "amount": 1800,
                      "is_resolvable": true,
                      "group_name": "DSTV",
                      "category_name": "Cable Bill Payment",
                      "is_data": null,
                      "default_commission_on_amount": null,
                      "commission_on_fee_or_amount": null,
                      "validity_period": null
                    },
                    {
                      "id": 91,
                      "biller_code": "BIL119",
                      "name": "DSTV",
                      "default_commission": 0.1,
                      "date_added": "2020-09-17T15:56:58.057Z",
                      "country": "NG",
                      "is_airtime": false,
                      "biller_name": "DSTV Premium",
                      "item_code": "CB140",
                      "short_name": "DSTV",
                      "fee": 100,
                      "commission_on_fee": true,
                      "reg_expression": "^[0-9]+$",
                      "label_name": "SmartCard Number",
                      "amount": 14600,
                      "is_resolvable": true,
                      "group_name": "Cable Bill Payment",
                      "category_name": "Cable Bill Payment",
                      "is_data": null,
                      "default_commission_on_amount": null,
                      "commission_on_fee_or_amount": null,
                      "validity_period": null
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bill-items/CB141/validate": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Validate customer details",
        "description": "Validate your customer's information. Supported input include: meter number, smartcard number, internet account number, etc.",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "BIL119"
          },
          {
            "name": "customer",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "0025401100"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Item validated successfully",
                  "data": {
                    "response_code": "00",
                    "address": null,
                    "response_message": "Successful",
                    "name": "Test DSTV Account",
                    "biller_code": "BIL119",
                    "customer": "0025401100",
                    "product_code": "CB141",
                    "email": null,
                    "fee": 0,
                    "maximum": 0,
                    "minimum": 0
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/billers/:biller_code/items/:item_code/payment": {
      "post": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Create a Bill Payment",
        "description": "Initiate a bill payment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "country": "NG",
                  "customer_id": "0025401100",
                  "reference": "d7a004b1-a581-4cd9-89ae-a1f0934019",
                  "amount": 1800,
                  "callback_url": "https://webhook.site/#!/view/df95cc29-1556-4e39-85ff-180fae09f3e8"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bill payment successful",
                  "data": {
                    "phone_number": "0025401100",
                    "amount": 1800,
                    "network": "DSTV Payment",
                    "code": "200",
                    "tx_ref": "CF-FLYAPI-20240324091413750321",
                    "reference": "247837898415",
                    "batch_reference": null,
                    "recharge_token": null,
                    "fee": 100
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bills/summary": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get bill payments summary",
        "description": "Fetch summary report for bill payment",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "2024-03-15"
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "2024-03-25"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bill summary fetched successfully",
                  "data": [
                    {
                      "currency": "NGN",
                      "sum_bills": 1910,
                      "sum_commission": 30,
                      "sum_dstv": 1910,
                      "sum_airtime": 0,
                      "sum_ikedc": 0,
                      "sum_firs": 0,
                      "sum_ekedc": 0,
                      "sum_benindisco": 0,
                      "sum_kadunadisco": 0,
                      "sum_data": 0,
                      "count_dstv": 3,
                      "count_airtime": 0,
                      "count_ikedc": 0,
                      "count_ekedc": 0,
                      "count_benindisco": 0,
                      "count_kadunadisco": 0,
                      "count_firs": 0,
                      "count_data": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bills/:reference": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get a Bill Payment Status",
        "description": "Fetch the status of a bill purchase",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "verbose",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "example": "1"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bill status fetch successful",
                  "data": {
                    "currency": "NGN",
                    "customer_id": "0025401100",
                    "frequency": "One Time",
                    "amount": "1800.00",
                    "fee": 100,
                    "product": "DSTV Payment",
                    "product_name": "DSTV Payment",
                    "commission": 10,
                    "transaction_date": "2024-03-24T09:14:13.373Z",
                    "customer_reference": "d7a004b1-a581-4cd9-89ae-a1f093400",
                    "country": "NG",
                    "flw_ref": "247837898415",
                    "tx_ref": "CF-FLYAPI-20240324091413750321",
                    "batch_id": 3408739,
                    "extra": null,
                    "product_details": "FLY-API-NG-DSTV Payment"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bulk-bills": {
      "post": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Create Bulk Bills Payment",
        "description": "Initiate bulk bills payment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "bulk_reference": "bulkRef0012",
                  "callback_url": "https://www.google.com",
                  "bulk_data": [
                    {
                      "country": "NG",
                      "customer": "+2348029494025",
                      "amount": 100,
                      "recurrence": "WEEKLY",
                      "type": "AIRTIME",
                      "reference": "billRef05"
                    },
                    {
                      "country": "NG",
                      "customer": "+2347063932728",
                      "amount": 100,
                      "recurrence": "WEEKLY",
                      "type": "AIRTIME",
                      "reference": "billRef06"
                    },
                    {
                      "country": "NG",
                      "customer": "+2347013431382",
                      "amount": 100,
                      "recurrence": "WEEKLY",
                      "type": "AIRTIME",
                      "reference": "billRef07"
                    },
                    {
                      "country": "NG",
                      "customer": "+2348134088426",
                      "amount": 100,
                      "recurrence": "WEEKLY",
                      "type": "AIRTIME",
                      "reference": "billRef08"
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bulk bill Payment was queued for processing",
                  "data": {
                    "batch_reference": "CF-BATCH-FLY-API-20200310042210201008"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bills/history": {
      "get": {
        "tags": [
          "Bill Payments"
        ],
        "summary": "Get bill payments history",
        "description": "Fetch detailed bill payment history",
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch_reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bill history fetched successfully",
                  "meta": {
                    "page_info": {
                      "total": 173,
                      "total_pages": 9,
                      "current_page": 1
                    }
                  },
                  "data": [
                    {
                      "id": 5513725,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "10.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "10.00",
                      "transaction_date": "2024-03-24T09:15:57.487Z",
                      "tx_id": 5513725,
                      "customer_reference": "d7a004b1-a581-4cd9-89ae-a1f0934019",
                      "country": "NG",
                      "flw_ref": "247819983666",
                      "tx_ref": "CF-FLYAPI-20240324091557857302",
                      "batch_id": 3408744,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment",
                      "status": "Successful"
                    },
                    {
                      "id": 5513723,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "10.00",
                      "transaction_date": "2024-03-24T09:15:21.373Z",
                      "tx_id": 5513723,
                      "customer_reference": "d7a004b1-a581-4cd9-89ae-a1f093401",
                      "country": "NG",
                      "flw_ref": "247853654882",
                      "tx_ref": "CF-FLYAPI-20240324091521583423",
                      "batch_id": 3408741,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment",
                      "status": "Successful"
                    },
                    {
                      "id": 5513721,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "1800.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "10.00",
                      "transaction_date": "2024-03-24T09:14:13.373Z",
                      "tx_id": 5513721,
                      "customer_reference": "d7a004b1-a581-4cd9-89ae-a1f093400",
                      "country": "NG",
                      "flw_ref": "247837898415",
                      "tx_ref": "CF-FLYAPI-20240324091413750321",
                      "batch_id": 3408739,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment",
                      "status": "Successful"
                    },
                    {
                      "id": 5496445,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-03-12T14:29:03.963Z",
                      "tx_id": 5496445,
                      "customer_reference": "ubdbfdyujufbdbuj4599606",
                      "country": "NG",
                      "flw_ref": "BP17102537459058728",
                      "tx_ref": "CF-FLYAPI-20240312022903413856",
                      "batch_id": 3390053,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Successful"
                    },
                    {
                      "id": 5496443,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-03-12T14:28:25.933Z",
                      "tx_id": 5496443,
                      "customer_reference": "ubdbfdyujufbdbuj459606",
                      "country": "NG",
                      "flw_ref": "BP17102537078371066",
                      "tx_ref": "CF-FLYAPI-20240312022825933153",
                      "batch_id": 3390050,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Successful"
                    },
                    {
                      "id": 5496442,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-03-12T14:28:10.983Z",
                      "tx_id": 5496442,
                      "customer_reference": "ubdbfdyujufbdbuj45966",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240312022808502255",
                      "tx_ref": "RRCF-FLYAPI-20240312022808439291",
                      "batch_id": 3390048,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Reversed"
                    },
                    {
                      "id": 5496441,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-03-12T14:28:08.487Z",
                      "tx_id": 5496441,
                      "customer_reference": "ubdbfdyujufbdbuj45966",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240312022808502255",
                      "tx_ref": "CF-FLYAPI-20240312022808439291",
                      "batch_id": 3390048,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Failed"
                    },
                    {
                      "id": 5455976,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-26T16:01:03.65Z",
                      "tx_id": 5455976,
                      "customer_reference": "ubdbfdyujufbdbuj4596",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240226040101634429",
                      "tx_ref": "RRCF-FLYAPI-20240226040101271434",
                      "batch_id": 3347756,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Reversed"
                    },
                    {
                      "id": 5455975,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-26T16:01:01.547Z",
                      "tx_id": 5455975,
                      "customer_reference": "ubdbfdyujufbdbuj4596",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240226040101634429",
                      "tx_ref": "CF-FLYAPI-20240226040101271434",
                      "batch_id": 3347756,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Failed"
                    },
                    {
                      "id": 5455198,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "1800.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Access",
                      "product_name": "DSTV Access",
                      "commission": "10.00",
                      "transaction_date": "2024-02-25T13:14:48.607Z",
                      "tx_id": 5455198,
                      "customer_reference": "930001343294dd029842029152269594939QLc",
                      "country": "NG",
                      "flw_ref": "247890707841",
                      "tx_ref": "CF-FLYAPI-20240225011448737576",
                      "batch_id": 3346681,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Access",
                      "status": "Successful"
                    },
                    {
                      "id": 5455148,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "1800.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Access",
                      "product_name": "DSTV Access",
                      "commission": "10.00",
                      "transaction_date": "2024-02-25T12:42:20.957Z",
                      "tx_id": 5455148,
                      "customer_reference": "930001343294dd029842029152269594939QLX",
                      "country": "NG",
                      "flw_ref": "247832798014",
                      "tx_ref": "CF-FLYAPI-20240225124220515145",
                      "batch_id": 3346628,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Access",
                      "status": "Successful"
                    },
                    {
                      "id": 5454891,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "10.00",
                      "transaction_date": "2024-02-24T22:56:02.1Z",
                      "tx_id": 5454891,
                      "customer_reference": "93000134832984009929e152269590974093669QLW78779",
                      "country": "NG",
                      "flw_ref": "247889403828",
                      "tx_ref": "CF-FLYAPI-20240224105602334736",
                      "batch_id": 3346218,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment-",
                      "status": "Successful"
                    },
                    {
                      "id": 5454802,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-24T21:36:59.257Z",
                      "tx_id": 5454802,
                      "customer_reference": "ubdbfdyujufbdbuj459",
                      "country": "NG",
                      "flw_ref": "BP17088106212473913",
                      "tx_ref": "CF-FLYAPI-20240224093659138480",
                      "batch_id": 3346113,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Successful"
                    },
                    {
                      "id": 5454799,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "10.00",
                      "transaction_date": "2024-02-24T21:29:48.517Z",
                      "tx_id": 5454799,
                      "customer_reference": "9300013483294009929e152269590974093669QLW78779",
                      "country": "NG",
                      "flw_ref": "247874110665",
                      "tx_ref": "CF-FLYAPI-20240224092948984630",
                      "batch_id": 3346109,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment-",
                      "status": "Successful"
                    },
                    {
                      "id": 5454718,
                      "currency": "NGN",
                      "customer_id": "0025401100",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Cable Bill Payment",
                      "recurring_payment_id": null,
                      "product": "DSTV Payment",
                      "product_name": "DSTV Payment",
                      "commission": "0.00",
                      "transaction_date": "2024-02-24T20:45:34.467Z",
                      "tx_id": 5454718,
                      "customer_reference": "9300013483294009929e15226959974093669QLW78779",
                      "country": "NG",
                      "flw_ref": "247803305223",
                      "tx_ref": "CF-FLYAPI-20240224084534325983",
                      "batch_id": 3346023,
                      "extra": null,
                      "product_details": "FLY-API-NG-DSTV Payment-",
                      "status": "Successful"
                    },
                    {
                      "id": 5454716,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-24T20:40:35.517Z",
                      "tx_id": 5454716,
                      "customer_reference": "ubdbfdyujufbdbuj45",
                      "country": "NG",
                      "flw_ref": "BP17088072372245421",
                      "tx_ref": "CF-FLYAPI-20240224084035883973",
                      "batch_id": 3346020,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Successful"
                    },
                    {
                      "id": 5454715,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-24T20:37:55.987Z",
                      "tx_id": 5454715,
                      "customer_reference": "TREF-1708807072128",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240224083756520515",
                      "tx_ref": "CF-FLYAPI-20240224083755938106",
                      "batch_id": 3346018,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Pending"
                    },
                    {
                      "id": 5454714,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-24T20:36:07.58Z",
                      "tx_id": 5454714,
                      "customer_reference": "TREF-1708806963914",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240224083607814318",
                      "tx_ref": "CF-FLYAPI-20240224083607354390",
                      "batch_id": 3346017,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Pending"
                    },
                    {
                      "id": 5453506,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "50.00",
                      "category": "Internet Service",
                      "recurring_payment_id": null,
                      "product": "MTN Hynet Payment",
                      "product_name": "MTN Hynet Payment",
                      "commission": "0.00",
                      "transaction_date": "2024-02-23T11:38:49.257Z",
                      "tx_id": 5453506,
                      "customer_reference": "TREF-1708688326233",
                      "country": "NG",
                      "flw_ref": "CF-FLY-AIR-PREF-20240223113849392237",
                      "tx_ref": "CF-FLYAPI-20240223113849309445",
                      "batch_id": 3344450,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN Hynet Payment",
                      "status": "Pending"
                    },
                    {
                      "id": 5453105,
                      "currency": "NGN",
                      "customer_id": "07034262571",
                      "frequency": "One Time",
                      "amount": "100.00",
                      "category": "Mobile Data Service",
                      "recurring_payment_id": null,
                      "product": "MTN 50 MB",
                      "product_name": "MTN 50 MB",
                      "commission": "0.00",
                      "transaction_date": "2024-02-22T18:22:37.587Z",
                      "tx_id": 5453105,
                      "customer_reference": "TREF-1708626155290",
                      "country": "NG",
                      "flw_ref": "BP17086261601217338",
                      "tx_ref": "CF-FLYAPI-20240222062237455821",
                      "batch_id": 3343882,
                      "extra": null,
                      "product_details": "FLY-API-NG-MTN 50 MB",
                      "status": "Successful"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/banks/:country": {
      "get": {
        "tags": [
          "Banks"
        ],
        "summary": "Get all Banks",
        "description": "Fetch all banks in specified country",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Banks fetched successfully",
                  "data": [
                    {
                      "id": 132,
                      "code": "560",
                      "name": "Page MFBank"
                    },
                    {
                      "id": 133,
                      "code": "304",
                      "name": "Stanbic Mobile Money"
                    },
                    {
                      "id": 134,
                      "code": "308",
                      "name": "FortisMobile"
                    },
                    {
                      "id": 135,
                      "code": "328",
                      "name": "TagPay"
                    },
                    {
                      "id": 136,
                      "code": "309",
                      "name": "FBNMobile"
                    },
                    {
                      "id": 137,
                      "code": "011",
                      "name": "First Bank of Nigeria"
                    },
                    {
                      "id": 138,
                      "code": "326",
                      "name": "Sterling Mobile"
                    },
                    {
                      "id": 139,
                      "code": "990",
                      "name": "Omoluabi Mortgage Bank"
                    },
                    {
                      "id": 140,
                      "code": "311",
                      "name": "ReadyCash (Parkway)"
                    },
                    {
                      "id": 141,
                      "code": "057",
                      "name": "Zenith Bank"
                    },
                    {
                      "id": 142,
                      "code": "068",
                      "name": "Standard Chartered Bank"
                    },
                    {
                      "id": 143,
                      "code": "306",
                      "name": "eTranzact"
                    },
                    {
                      "id": 144,
                      "code": "070",
                      "name": "Fidelity Bank"
                    },
                    {
                      "id": 145,
                      "code": "023",
                      "name": "CitiBank"
                    },
                    {
                      "id": 146,
                      "code": "215",
                      "name": "Unity Bank"
                    },
                    {
                      "id": 147,
                      "code": "323",
                      "name": "Access Money"
                    },
                    {
                      "id": 148,
                      "code": "302",
                      "name": "Eartholeum"
                    },
                    {
                      "id": 149,
                      "code": "324",
                      "name": "Hedonmark"
                    },
                    {
                      "id": 150,
                      "code": "325",
                      "name": "MoneyBox"
                    },
                    {
                      "id": 151,
                      "code": "301",
                      "name": "JAIZ Bank"
                    },
                    {
                      "id": 152,
                      "code": "050",
                      "name": "Ecobank Plc"
                    },
                    {
                      "id": 153,
                      "code": "307",
                      "name": "EcoMobile"
                    },
                    {
                      "id": 154,
                      "code": "318",
                      "name": "Fidelity Mobile"
                    },
                    {
                      "id": 155,
                      "code": "319",
                      "name": "TeasyMobile"
                    },
                    {
                      "id": 156,
                      "code": "999",
                      "name": "NIP Virtual Bank"
                    },
                    {
                      "id": 157,
                      "code": "320",
                      "name": "VTNetworks"
                    },
                    {
                      "id": 158,
                      "code": "221",
                      "name": "Stanbic IBTC Bank"
                    },
                    {
                      "id": 159,
                      "code": "501",
                      "name": "Fortis Microfinance Bank"
                    },
                    {
                      "id": 160,
                      "code": "329",
                      "name": "PayAttitude Online"
                    },
                    {
                      "id": 161,
                      "code": "322",
                      "name": "ZenithMobile"
                    },
                    {
                      "id": 162,
                      "code": "303",
                      "name": "ChamsMobile"
                    },
                    {
                      "id": 163,
                      "code": "403",
                      "name": "SafeTrust Mortgage Bank"
                    },
                    {
                      "id": 164,
                      "code": "551",
                      "name": "Covenant Microfinance Bank"
                    },
                    {
                      "id": 165,
                      "code": "415",
                      "name": "Imperial Homes Mortgage Bank"
                    },
                    {
                      "id": 166,
                      "code": "552",
                      "name": "NPF MicroFinance Bank"
                    },
                    {
                      "id": 167,
                      "code": "526",
                      "name": "Parralex"
                    },
                    {
                      "id": 168,
                      "code": "035",
                      "name": "Wema Bank"
                    },
                    {
                      "id": 169,
                      "code": "084",
                      "name": "Enterprise Bank"
                    },
                    {
                      "id": 170,
                      "code": "063",
                      "name": "Diamond Bank"
                    },
                    {
                      "id": 171,
                      "code": "305",
                      "name": "Paycom"
                    },
                    {
                      "id": 172,
                      "code": "100",
                      "name": "SunTrust Bank"
                    },
                    {
                      "id": 173,
                      "code": "317",
                      "name": "Cellulant"
                    },
                    {
                      "id": 174,
                      "code": "401",
                      "name": "ASO Savings and & Loans"
                    },
                    {
                      "id": 175,
                      "code": "030",
                      "name": "Heritage"
                    },
                    {
                      "id": 176,
                      "code": "402",
                      "name": "Jubilee Life Mortgage Bank"
                    },
                    {
                      "id": 177,
                      "code": "058",
                      "name": "GTBank Plc"
                    },
                    {
                      "id": 178,
                      "code": "032",
                      "name": "Union Bank"
                    },
                    {
                      "id": 179,
                      "code": "232",
                      "name": "Sterling Bank"
                    },
                    {
                      "id": 180,
                      "code": "076",
                      "name": "Polaris Bank"
                    },
                    {
                      "id": 181,
                      "code": "082",
                      "name": "Keystone Bank"
                    },
                    {
                      "id": 182,
                      "code": "327",
                      "name": "Pagatech"
                    },
                    {
                      "id": 183,
                      "code": "559",
                      "name": "Coronation Merchant Bank"
                    },
                    {
                      "id": 184,
                      "code": "601",
                      "name": "FSDH"
                    },
                    {
                      "id": 185,
                      "code": "313",
                      "name": "Mkudi"
                    },
                    {
                      "id": 186,
                      "code": "214",
                      "name": "First City Monument Bank"
                    },
                    {
                      "id": 187,
                      "code": "314",
                      "name": "FET"
                    },
                    {
                      "id": 188,
                      "code": "523",
                      "name": "Trustbond"
                    },
                    {
                      "id": 189,
                      "code": "315",
                      "name": "GTMobile"
                    },
                    {
                      "id": 190,
                      "code": "033",
                      "name": "United Bank for Africa"
                    },
                    {
                      "id": 191,
                      "code": "044",
                      "name": "Access Bank"
                    },
                    {
                      "id": 567,
                      "code": "90115",
                      "name": "TCF MFB"
                    },
                    {
                      "id": 1413,
                      "code": "090175",
                      "name": "Test bank"
                    },
                    {
                      "id": 1731,
                      "code": "103",
                      "name": "Globus Bank"
                    },
                    {
                      "id": 1800,
                      "code": "000019",
                      "name": "Enterprise Bank"
                    },
                    {
                      "id": 1801,
                      "code": "000025",
                      "name": "Titan Trust Bank"
                    },
                    {
                      "id": 1802,
                      "code": "000026",
                      "name": "Taj Bank Limited"
                    },
                    {
                      "id": 1803,
                      "code": "000028",
                      "name": "Central Bank Of Nigeria"
                    },
                    {
                      "id": 1804,
                      "code": "000029",
                      "name": "Lotus Bank"
                    },
                    {
                      "id": 1805,
                      "code": "000030",
                      "name": "Parallex Bank"
                    },
                    {
                      "id": 1806,
                      "code": "000031",
                      "name": "PremiumTrust Bank"
                    },
                    {
                      "id": 1807,
                      "code": "000033",
                      "name": "ENaira"
                    },
                    {
                      "id": 1808,
                      "code": "000034",
                      "name": "SIGNATURE BANK"
                    },
                    {
                      "id": 1809,
                      "code": "000036",
                      "name": "Optimus Bank"
                    },
                    {
                      "id": 1810,
                      "code": "050001",
                      "name": "County Finance Ltd"
                    },
                    {
                      "id": 1811,
                      "code": "050002",
                      "name": "Fewchore Finance Company Limited"
                    },
                    {
                      "id": 1812,
                      "code": "050003",
                      "name": "Sagegrey Finance Limited"
                    },
                    {
                      "id": 1813,
                      "code": "050004",
                      "name": "Newedge Finance Ltd"
                    },
                    {
                      "id": 1814,
                      "code": "050005",
                      "name": "Aaa Finance"
                    },
                    {
                      "id": 1815,
                      "code": "050006",
                      "name": "Branch International Financial Services"
                    },
                    {
                      "id": 1816,
                      "code": "050007",
                      "name": "Tekla Finance Ltd"
                    },
                    {
                      "id": 1817,
                      "code": "050008",
                      "name": "SIMPLE FINANCE LIMITED"
                    },
                    {
                      "id": 1818,
                      "code": "050009",
                      "name": "FAST CREDIT"
                    },
                    {
                      "id": 1819,
                      "code": "050010",
                      "name": "FUNDQUEST FINANCIAL SERVICES LTD"
                    },
                    {
                      "id": 1820,
                      "code": "050012",
                      "name": "Enco Finance"
                    },
                    {
                      "id": 1821,
                      "code": "050013",
                      "name": "Dignity Finance"
                    },
                    {
                      "id": 1822,
                      "code": "050014",
                      "name": "TRINITY FINANCIAL SERVICES LIMITED"
                    },
                    {
                      "id": 1823,
                      "code": "060001",
                      "name": "Coronation Merchant Bank"
                    },
                    {
                      "id": 1824,
                      "code": "060002",
                      "name": "FBNQUEST Merchant Bank"
                    },
                    {
                      "id": 1825,
                      "code": "060003",
                      "name": "Nova Merchant Bank"
                    },
                    {
                      "id": 1826,
                      "code": "060004",
                      "name": "Greenwich Merchant Bank"
                    },
                    {
                      "id": 1827,
                      "code": "070001",
                      "name": "NPF MicroFinance Bank"
                    },
                    {
                      "id": 1828,
                      "code": "070002",
                      "name": "Fortis Microfinance Bank"
                    },
                    {
                      "id": 1829,
                      "code": "070006",
                      "name": "Covenant Microfinance Bank"
                    },
                    {
                      "id": 1830,
                      "code": "070007",
                      "name": "Omoluabi savings and loans"
                    },
                    {
                      "id": 1831,
                      "code": "070008",
                      "name": "Page Financials"
                    },
                    {
                      "id": 1832,
                      "code": "070009",
                      "name": "Gateway Mortgage Bank"
                    },
                    {
                      "id": 1833,
                      "code": "070010",
                      "name": "Abbey Mortgage Bank"
                    },
                    {
                      "id": 1834,
                      "code": "070011",
                      "name": "Refuge Mortgage Bank"
                    },
                    {
                      "id": 1835,
                      "code": "070012",
                      "name": "Lagos Building Investment Company"
                    },
                    {
                      "id": 1836,
                      "code": "070013",
                      "name": "Platinum Mortgage Bank"
                    },
                    {
                      "id": 1837,
                      "code": "070014",
                      "name": "First Generation Mortgage Bank"
                    },
                    {
                      "id": 1838,
                      "code": "070015",
                      "name": "Brent Mortgage Bank"
                    },
                    {
                      "id": 1839,
                      "code": "070016",
                      "name": "Infinity Trust Mortgage Bank"
                    },
                    {
                      "id": 1840,
                      "code": "070017",
                      "name": "Haggai Mortgage Bank Limited"
                    },
                    {
                      "id": 1841,
                      "code": "070019",
                      "name": "Mayfresh Mortgage Bank"
                    },
                    {
                      "id": 1842,
                      "code": "070021",
                      "name": "Coop Mortgage Bank"
                    },
                    {
                      "id": 1843,
                      "code": "070022",
                      "name": "Stb Mortgage Bank"
                    },
                    {
                      "id": 1844,
                      "code": "070023",
                      "name": "Delta Trust Mortgage Bank"
                    },
                    {
                      "id": 1845,
                      "code": "070024",
                      "name": "Homebase Mortgage"
                    },
                    {
                      "id": 1846,
                      "code": "070025",
                      "name": "Akwa Savings & Loans Limited"
                    },
                    {
                      "id": 1847,
                      "code": "070026",
                      "name": "Fha Mortgage Bank Ltd"
                    },
                    {
                      "id": 1848,
                      "code": "080002",
                      "name": "Tajwallet"
                    },
                    {
                      "id": 1849,
                      "code": "090001",
                      "name": "ASOSavings & Loans"
                    },
                    {
                      "id": 1850,
                      "code": "090003",
                      "name": "Jubilee-Life Mortgage  Bank"
                    },
                    {
                      "id": 1851,
                      "code": "090004",
                      "name": "Parralex Microfinance bank"
                    },
                    {
                      "id": 1852,
                      "code": "090005",
                      "name": "Trustbond Mortgage Bank"
                    },
                    {
                      "id": 1853,
                      "code": "090006",
                      "name": "SafeTrust "
                    },
                    {
                      "id": 1854,
                      "code": "090097",
                      "name": "Ekondo MFB"
                    },
                    {
                      "id": 1855,
                      "code": "090107",
                      "name": "FBN Mortgages Limited"
                    },
                    {
                      "id": 1856,
                      "code": "090108",
                      "name": "New Prudential Bank"
                    },
                    {
                      "id": 1857,
                      "code": "090110",
                      "name": "VFD Micro Finance Bank"
                    },
                    {
                      "id": 1858,
                      "code": "090112",
                      "name": "Seed Capital Microfinance Bank"
                    },
                    {
                      "id": 1859,
                      "code": "090113",
                      "name": "Microvis Microfinance Bank"
                    },
                    {
                      "id": 1860,
                      "code": "090114",
                      "name": "Empire trust MFB"
                    },
                    {
                      "id": 1861,
                      "code": "090115",
                      "name": "TCF MFB"
                    },
                    {
                      "id": 1862,
                      "code": "090116",
                      "name": "AMML MFB"
                    },
                    {
                      "id": 1863,
                      "code": "090117",
                      "name": "Boctrust Microfinance Bank"
                    },
                    {
                      "id": 1864,
                      "code": "090118",
                      "name": "IBILE Microfinance Bank"
                    },
                    {
                      "id": 1865,
                      "code": "090119",
                      "name": "Ohafia Microfinance Bank"
                    },
                    {
                      "id": 1866,
                      "code": "090120",
                      "name": "Wetland Microfinance Bank"
                    },
                    {
                      "id": 1867,
                      "code": "090121",
                      "name": "Hasal Microfinance Bank"
                    },
                    {
                      "id": 1868,
                      "code": "090122",
                      "name": "Gowans Microfinance Bank"
                    },
                    {
                      "id": 1869,
                      "code": "090123",
                      "name": "Verite Microfinance Bank"
                    },
                    {
                      "id": 1870,
                      "code": "090124",
                      "name": "Xslnce Microfinance Bank"
                    },
                    {
                      "id": 1871,
                      "code": "090125",
                      "name": "Regent Microfinance Bank"
                    },
                    {
                      "id": 1872,
                      "code": "090126",
                      "name": "Fidfund Microfinance Bank"
                    },
                    {
                      "id": 1873,
                      "code": "090127",
                      "name": "BC Kash Microfinance Bank"
                    },
                    {
                      "id": 1874,
                      "code": "090128",
                      "name": "Ndiorah Microfinance Bank"
                    },
                    {
                      "id": 1875,
                      "code": "090129",
                      "name": "Money Trust Microfinance Bank"
                    },
                    {
                      "id": 1876,
                      "code": "090130",
                      "name": "Consumer Microfinance Bank"
                    },
                    {
                      "id": 1877,
                      "code": "090131",
                      "name": "Allworkers Microfinance Bank"
                    },
                    {
                      "id": 1878,
                      "code": "090132",
                      "name": "Richway Microfinance Bank"
                    },
                    {
                      "id": 1879,
                      "code": "090133",
                      "name": " AL-Barakah Microfinance Bank"
                    },
                    {
                      "id": 1880,
                      "code": "090134",
                      "name": "Accion Microfinance Bank"
                    },
                    {
                      "id": 1881,
                      "code": "090135",
                      "name": "Personal Trust Microfinance Bank"
                    },
                    {
                      "id": 1882,
                      "code": "090136",
                      "name": "Baobab Microfinance Bank"
                    },
                    {
                      "id": 1883,
                      "code": "090137",
                      "name": "PecanTrust Microfinance Bank"
                    },
                    {
                      "id": 1884,
                      "code": "090138",
                      "name": "Royal Exchange Microfinance Bank"
                    },
                    {
                      "id": 1885,
                      "code": "090139",
                      "name": "Visa Microfinance Bank"
                    },
                    {
                      "id": 1886,
                      "code": "090140",
                      "name": "Sagamu Microfinance Bank"
                    },
                    {
                      "id": 1887,
                      "code": "090141",
                      "name": "Chikum Microfinance Bank"
                    },
                    {
                      "id": 1888,
                      "code": "090142",
                      "name": "Yes Microfinance Bank"
                    },
                    {
                      "id": 1889,
                      "code": "090143",
                      "name": "Apeks Microfinance Bank"
                    },
                    {
                      "id": 1890,
                      "code": "090144",
                      "name": "CIT Microfinance Bank"
                    },
                    {
                      "id": 1891,
                      "code": "090145",
                      "name": "Fullrange Microfinance Bank"
                    },
                    {
                      "id": 1892,
                      "code": "090146",
                      "name": "Trident Microfinance Bank"
                    },
                    {
                      "id": 1893,
                      "code": "090147",
                      "name": "Hackman Microfinance Bank"
                    },
                    {
                      "id": 1894,
                      "code": "090148",
                      "name": "Bowen Microfinance Bank"
                    },
                    {
                      "id": 1895,
                      "code": "090149",
                      "name": "IRL Microfinance Bank"
                    },
                    {
                      "id": 1896,
                      "code": "090150",
                      "name": "Virtue Microfinance Bank"
                    },
                    {
                      "id": 1897,
                      "code": "090151",
                      "name": "Mutual Trust Microfinance Bank"
                    },
                    {
                      "id": 1898,
                      "code": "090152",
                      "name": "Nagarta Microfinance Bank"
                    },
                    {
                      "id": 1899,
                      "code": "090153",
                      "name": "FFS Microfinance Bank"
                    },
                    {
                      "id": 1900,
                      "code": "090154",
                      "name": "CEMCS Microfinance Bank"
                    },
                    {
                      "id": 1901,
                      "code": "090155",
                      "name": "La  Fayette Microfinance Bank"
                    },
                    {
                      "id": 1902,
                      "code": "090156",
                      "name": "e-Barcs Microfinance Bank"
                    },
                    {
                      "id": 1903,
                      "code": "090157",
                      "name": "Infinity Microfinance Bank"
                    },
                    {
                      "id": 1904,
                      "code": "090158",
                      "name": "Futo Microfinance Bank"
                    },
                    {
                      "id": 1905,
                      "code": "090159",
                      "name": "Credit Afrique Microfinance Bank"
                    },
                    {
                      "id": 1906,
                      "code": "090160",
                      "name": "Addosser Microfinance Bank"
                    },
                    {
                      "id": 1907,
                      "code": "090161",
                      "name": "Okpoga Microfinance Bank"
                    },
                    {
                      "id": 1908,
                      "code": "090162",
                      "name": "Stanford Microfinance Bak"
                    },
                    {
                      "id": 1909,
                      "code": "090163",
                      "name": "First Multiple Microfinance Bank"
                    },
                    {
                      "id": 1910,
                      "code": "090164",
                      "name": "First Royal Microfinance Bank"
                    },
                    {
                      "id": 1911,
                      "code": "090165",
                      "name": "Petra Microfinance Bank"
                    },
                    {
                      "id": 1912,
                      "code": "090166",
                      "name": "Eso-E Microfinance Bank"
                    },
                    {
                      "id": 1913,
                      "code": "090167",
                      "name": "Daylight Microfinance Bank"
                    },
                    {
                      "id": 1914,
                      "code": "090168",
                      "name": "Gashua Microfinance Bank"
                    },
                    {
                      "id": 1915,
                      "code": "090169",
                      "name": "Alpha Kapital Microfinance Bank"
                    },
                    {
                      "id": 1916,
                      "code": "090170",
                      "name": "Rahama Microfinance Bank"
                    },
                    {
                      "id": 1917,
                      "code": "090171",
                      "name": "Mainstreet Microfinance Bank"
                    },
                    {
                      "id": 1918,
                      "code": "090172",
                      "name": "Astrapolaris Microfinance Bank"
                    },
                    {
                      "id": 1919,
                      "code": "090173",
                      "name": "Reliance Microfinance Bank"
                    },
                    {
                      "id": 1920,
                      "code": "090174",
                      "name": "Malachy Microfinance Bank"
                    },
                    {
                      "id": 1921,
                      "code": "090176",
                      "name": "Bosak Microfinance Bank"
                    },
                    {
                      "id": 1922,
                      "code": "090177",
                      "name": "Lapo Microfinance Bank"
                    },
                    {
                      "id": 1923,
                      "code": "090178",
                      "name": "GreenBank Microfinance Bank"
                    },
                    {
                      "id": 1924,
                      "code": "090179",
                      "name": "FAST Microfinance Bank"
                    },
                    {
                      "id": 1925,
                      "code": "090180",
                      "name": "AMJU Unique Microfinance Bank"
                    },
                    {
                      "id": 1926,
                      "code": "090181",
                      "name": "Balogun Fulani  Microfinance Bank"
                    },
                    {
                      "id": 1927,
                      "code": "090182",
                      "name": "Standard Microfinance Bank"
                    },
                    {
                      "id": 1928,
                      "code": "090186",
                      "name": "Girei Microfinance Bank"
                    },
                    {
                      "id": 1929,
                      "code": "090188",
                      "name": "Baines Credit Microfinance Bank"
                    },
                    {
                      "id": 1930,
                      "code": "090189",
                      "name": "Esan Microfinance Bank"
                    },
                    {
                      "id": 1931,
                      "code": "090190",
                      "name": "Mutual Benefits Microfinance Bank"
                    },
                    {
                      "id": 1932,
                      "code": "090191",
                      "name": "KCMB Microfinance Bank"
                    },
                    {
                      "id": 1933,
                      "code": "090192",
                      "name": "Midland Microfinance Bank"
                    },
                    {
                      "id": 1934,
                      "code": "090193",
                      "name": "Unical Microfinance Bank"
                    },
                    {
                      "id": 1935,
                      "code": "090194",
                      "name": "NIRSAL Microfinance Bank"
                    },
                    {
                      "id": 1936,
                      "code": "090195",
                      "name": "Grooming Microfinance Bank"
                    },
                    {
                      "id": 1937,
                      "code": "090196",
                      "name": "Pennywise Microfinance Bank"
                    },
                    {
                      "id": 1938,
                      "code": "090197",
                      "name": "ABU Microfinance Bank"
                    },
                    {
                      "id": 1939,
                      "code": "090198",
                      "name": "RenMoney Microfinance Bank"
                    },
                    {
                      "id": 1940,
                      "code": "090201",
                      "name": "Xpress Payments"
                    },
                    {
                      "id": 1941,
                      "code": "090202",
                      "name": "Accelerex Network"
                    },
                    {
                      "id": 1942,
                      "code": "090205",
                      "name": "New Dawn Microfinance Bank"
                    },
                    {
                      "id": 1943,
                      "code": "090211",
                      "name": "Itex Integrated Services Limited"
                    },
                    {
                      "id": 1944,
                      "code": "090251",
                      "name": "UNN MFB"
                    },
                    {
                      "id": 1945,
                      "code": "090252",
                      "name": "Yobe Microfinance Bank"
                    },
                    {
                      "id": 1946,
                      "code": "090254",
                      "name": "Coalcamp Microfinance Bank"
                    },
                    {
                      "id": 1947,
                      "code": "090258",
                      "name": "Imo State Microfinance Bank"
                    },
                    {
                      "id": 1948,
                      "code": "090259",
                      "name": "Alekun Microfinance Bank"
                    },
                    {
                      "id": 1949,
                      "code": "090260",
                      "name": "Above Only Microfinance Bank"
                    },
                    {
                      "id": 1950,
                      "code": "090261",
                      "name": "Quickfund Microfinance Bank"
                    },
                    {
                      "id": 1951,
                      "code": "090262",
                      "name": "Stellas Microfinance Bank"
                    },
                    {
                      "id": 1952,
                      "code": "090263",
                      "name": "Navy Microfinance Bank"
                    },
                    {
                      "id": 1953,
                      "code": "090264",
                      "name": "Auchi Microfinance Bank"
                    },
                    {
                      "id": 1954,
                      "code": "090265",
                      "name": "Lovonus Microfinance Bank"
                    },
                    {
                      "id": 1955,
                      "code": "090266",
                      "name": "Uniben Microfinance Bank"
                    },
                    {
                      "id": 1956,
                      "code": "090267",
                      "name": "Kuda"
                    },
                    {
                      "id": 1957,
                      "code": "090268",
                      "name": "Adeyemi College Staff Microfinance Bank"
                    },
                    {
                      "id": 1958,
                      "code": "090269",
                      "name": "Greenville Microfinance Bank"
                    },
                    {
                      "id": 1959,
                      "code": "090270",
                      "name": "AB Microfinance Bank"
                    },
                    {
                      "id": 1960,
                      "code": "090271",
                      "name": "Lavender Microfinance Bank"
                    },
                    {
                      "id": 1961,
                      "code": "090272",
                      "name": "Olabisi Onabanjo University Microfinance Bank"
                    },
                    {
                      "id": 1962,
                      "code": "090273",
                      "name": "Emeralds Microfinance Bank"
                    },
                    {
                      "id": 1963,
                      "code": "090274",
                      "name": "Prestige Microfinance Bank"
                    },
                    {
                      "id": 1964,
                      "code": "090275",
                      "name": "Meridian Microfinance Bank"
                    },
                    {
                      "id": 1965,
                      "code": "090276",
                      "name": "Trustfund Microfinance Bank"
                    },
                    {
                      "id": 1966,
                      "code": "090277",
                      "name": "Al-Hayat Microfinance Bank"
                    },
                    {
                      "id": 1967,
                      "code": "090278",
                      "name": "Glory Microfinance Bank "
                    },
                    {
                      "id": 1968,
                      "code": "090279",
                      "name": "Ikire Microfinance Bank"
                    },
                    {
                      "id": 1969,
                      "code": "090280",
                      "name": "Megapraise Microfinance Bank"
                    },
                    {
                      "id": 1970,
                      "code": "090281",
                      "name": "Mint-Finex MICROFINANCE BANK"
                    },
                    {
                      "id": 1971,
                      "code": "090282",
                      "name": "Arise Microfinance Bank"
                    },
                    {
                      "id": 1972,
                      "code": "090283",
                      "name": "Thrive Microfinance Bank"
                    },
                    {
                      "id": 1973,
                      "code": "090285",
                      "name": "First Option Microfinance Bank"
                    },
                    {
                      "id": 1974,
                      "code": "090286",
                      "name": "Safe Haven MFB"
                    },
                    {
                      "id": 1975,
                      "code": "090287",
                      "name": "Assets Matrix Microfinance Bank"
                    },
                    {
                      "id": 1976,
                      "code": "090289",
                      "name": "Pillar Microfinance Bank"
                    },
                    {
                      "id": 1977,
                      "code": "090290",
                      "name": "Fct Microfinance Bank"
                    },
                    {
                      "id": 1978,
                      "code": "090291",
                      "name": "Halacredit Microfinance Bank"
                    },
                    {
                      "id": 1979,
                      "code": "090292",
                      "name": "Afekhafe Microfinance Bank"
                    },
                    {
                      "id": 1980,
                      "code": "090293",
                      "name": "Brethren Microfinance Bank"
                    },
                    {
                      "id": 1981,
                      "code": "090294",
                      "name": "Eagle Flight Microfinance Bank"
                    },
                    {
                      "id": 1982,
                      "code": "090295",
                      "name": "Omiye Microfinance Bank"
                    },
                    {
                      "id": 1983,
                      "code": "090296",
                      "name": "Polyuwanna Microfinance Bank"
                    },
                    {
                      "id": 1984,
                      "code": "090297",
                      "name": "Alert Microfinance Bank"
                    },
                    {
                      "id": 1985,
                      "code": "090298",
                      "name": "Federalpoly Nasarawamfb"
                    },
                    {
                      "id": 1986,
                      "code": "090299",
                      "name": "Kontagora Microfinance Bank"
                    },
                    {
                      "id": 1987,
                      "code": "090302",
                      "name": "Sunbeam Microfinance Bank"
                    },
                    {
                      "id": 1988,
                      "code": "090303",
                      "name": "Purplemoney Microfinance Bank"
                    },
                    {
                      "id": 1989,
                      "code": "090304",
                      "name": "Evangel Microfinance Bank"
                    },
                    {
                      "id": 1990,
                      "code": "090305",
                      "name": "Sulsap Microfinance Bank"
                    },
                    {
                      "id": 1991,
                      "code": "090307",
                      "name": "Aramoko Microfinance Bank"
                    },
                    {
                      "id": 1992,
                      "code": "090308",
                      "name": "Brightway Microfinance Bank"
                    },
                    {
                      "id": 1993,
                      "code": "090310",
                      "name": "Edfin Microfinance Bank"
                    },
                    {
                      "id": 1994,
                      "code": "090315",
                      "name": "U And C Microfinance Bank"
                    },
                    {
                      "id": 1995,
                      "code": "090316",
                      "name": "Bayero Microfinance Bank"
                    },
                    {
                      "id": 1996,
                      "code": "090317",
                      "name": "PatrickGold Microfinance Bank"
                    },
                    {
                      "id": 1997,
                      "code": "090318",
                      "name": "Federal University Dutse  Microfinance Bank"
                    },
                    {
                      "id": 1998,
                      "code": "090319",
                      "name": "Bonghe Microfinance Bank"
                    },
                    {
                      "id": 1999,
                      "code": "090320",
                      "name": "Kadpoly Microfinance Bank"
                    },
                    {
                      "id": 2000,
                      "code": "090321",
                      "name": "Mayfair  Microfinance Bank"
                    },
                    {
                      "id": 2001,
                      "code": "090322",
                      "name": "Rephidim Microfinance Bank"
                    },
                    {
                      "id": 2002,
                      "code": "090323",
                      "name": "Mainland Microfinance Bank"
                    },
                    {
                      "id": 2003,
                      "code": "090324",
                      "name": "Ikenne Microfinance Bank"
                    },
                    {
                      "id": 2004,
                      "code": "090325",
                      "name": "Sparkle"
                    },
                    {
                      "id": 2005,
                      "code": "090326",
                      "name": "Balogun Gambari Microfinance Bank"
                    },
                    {
                      "id": 2006,
                      "code": "090327",
                      "name": "Trust Microfinance Bank"
                    },
                    {
                      "id": 2007,
                      "code": "090328",
                      "name": "Eyowo MFB"
                    },
                    {
                      "id": 2008,
                      "code": "090329",
                      "name": "Neptune Microfinance Bank"
                    },
                    {
                      "id": 2009,
                      "code": "090330",
                      "name": "Fame Microfinance Bank"
                    },
                    {
                      "id": 2010,
                      "code": "090331",
                      "name": "Unaab Microfinance Bank"
                    },
                    {
                      "id": 2011,
                      "code": "090332",
                      "name": "Evergreen Microfinance Bank"
                    },
                    {
                      "id": 2012,
                      "code": "090333",
                      "name": "Oche Microfinance Bank"
                    },
                    {
                      "id": 2013,
                      "code": "090335",
                      "name": "Grant MF Bank"
                    },
                    {
                      "id": 2014,
                      "code": "090336",
                      "name": "Bipc Microfinance Bank"
                    },
                    {
                      "id": 2015,
                      "code": "090337",
                      "name": "Iyeru Okin Microfinance Bank Ltd"
                    },
                    {
                      "id": 2016,
                      "code": "090338",
                      "name": "Uniuyo Microfinance Bank"
                    },
                    {
                      "id": 2017,
                      "code": "090340",
                      "name": "Stockcorp  Microfinance Bank"
                    },
                    {
                      "id": 2018,
                      "code": "090341",
                      "name": "Unilorin Microfinance Bank"
                    },
                    {
                      "id": 2019,
                      "code": "090343",
                      "name": "Citizen Trust Microfinance Bank Ltd"
                    },
                    {
                      "id": 2020,
                      "code": "090345",
                      "name": "Oau Microfinance Bank Ltd"
                    },
                    {
                      "id": 2021,
                      "code": "090349",
                      "name": "Nasarawa Microfinance Bank"
                    },
                    {
                      "id": 2022,
                      "code": "090350",
                      "name": "Illorin Microfinance Bank"
                    },
                    {
                      "id": 2023,
                      "code": "090352",
                      "name": "Jessefield Microfinance Bank"
                    },
                    {
                      "id": 2024,
                      "code": "090353",
                      "name": "Isuofia Microfinance Bank"
                    },
                    {
                      "id": 2025,
                      "code": "090360",
                      "name": "Cashconnect   Microfinance Bank"
                    },
                    {
                      "id": 2026,
                      "code": "090362",
                      "name": "Molusi Microfinance Bank"
                    },
                    {
                      "id": 2027,
                      "code": "090363",
                      "name": "Headway Microfinance Bank"
                    },
                    {
                      "id": 2028,
                      "code": "090364",
                      "name": "Nuture Microfinance Bank"
                    },
                    {
                      "id": 2029,
                      "code": "090365",
                      "name": "Corestep Microfinance Bank"
                    },
                    {
                      "id": 2030,
                      "code": "090366",
                      "name": "Firmus MFB"
                    },
                    {
                      "id": 2031,
                      "code": "090369",
                      "name": "Seedvest Microfinance Bank"
                    },
                    {
                      "id": 2032,
                      "code": "090370",
                      "name": "Ilasan Microfinance Bank"
                    },
                    {
                      "id": 2033,
                      "code": "090371",
                      "name": "Agosasa Microfinance Bank"
                    },
                    {
                      "id": 2034,
                      "code": "090372",
                      "name": "Legend Microfinance Bank"
                    },
                    {
                      "id": 2035,
                      "code": "090373",
                      "name": "Tf Microfinance Bank"
                    },
                    {
                      "id": 2036,
                      "code": "090374",
                      "name": "Coastline Microfinance Bank"
                    },
                    {
                      "id": 2037,
                      "code": "090376",
                      "name": "Apple  Microfinance Bank"
                    },
                    {
                      "id": 2038,
                      "code": "090377",
                      "name": "Isaleoyo Microfinance Bank"
                    },
                    {
                      "id": 2039,
                      "code": "090378",
                      "name": "New Golden Pastures Microfinance Bank"
                    },
                    {
                      "id": 2040,
                      "code": "090379",
                      "name": "Peniel Micorfinance Bank Ltd"
                    },
                    {
                      "id": 2041,
                      "code": "090380",
                      "name": "Kredi Money Microfinance Bank"
                    },
                    {
                      "id": 2042,
                      "code": "090383",
                      "name": "Manny Microfinance bank"
                    },
                    {
                      "id": 2043,
                      "code": "090385",
                      "name": "Gti  Microfinance Bank"
                    },
                    {
                      "id": 2044,
                      "code": "090386",
                      "name": "Interland Microfinance Bank"
                    },
                    {
                      "id": 2045,
                      "code": "090389",
                      "name": "Ek-Reliable Microfinance Bank"
                    },
                    {
                      "id": 2046,
                      "code": "090390",
                      "name": "Parkway Mf Bank"
                    },
                    {
                      "id": 2047,
                      "code": "090391",
                      "name": "Davodani  Microfinance Bank"
                    },
                    {
                      "id": 2048,
                      "code": "090392",
                      "name": "Mozfin Microfinance Bank"
                    },
                    {
                      "id": 2049,
                      "code": "090393",
                      "name": "BRIDGEWAY MICROFINANCE BANK"
                    },
                    {
                      "id": 2050,
                      "code": "090394",
                      "name": "Amac Microfinance Bank"
                    },
                    {
                      "id": 2051,
                      "code": "090395",
                      "name": "Borgu Microfinance Bank"
                    },
                    {
                      "id": 2052,
                      "code": "090396",
                      "name": "Oscotech Microfinance Bank"
                    },
                    {
                      "id": 2053,
                      "code": "090397",
                      "name": "Chanelle Bank"
                    },
                    {
                      "id": 2054,
                      "code": "090398",
                      "name": "Federal Polytechnic Nekede Microfinance Bank"
                    },
                    {
                      "id": 2055,
                      "code": "090399",
                      "name": "Nwannegadi Microfinance Bank"
                    },
                    {
                      "id": 2056,
                      "code": "090400",
                      "name": "Finca Microfinance Bank"
                    },
                    {
                      "id": 2057,
                      "code": "090401",
                      "name": "Shepherd Trust Microfinance Bank"
                    },
                    {
                      "id": 2058,
                      "code": "090402",
                      "name": "Peace Microfinance Bank"
                    },
                    {
                      "id": 2059,
                      "code": "090403",
                      "name": "Uda Microfinance Bank"
                    },
                    {
                      "id": 2060,
                      "code": "090404",
                      "name": "Olowolagba Microfinance Bank"
                    },
                    {
                      "id": 2061,
                      "code": "090405",
                      "name": "Moniepoint Microfinance Bank"
                    },
                    {
                      "id": 2062,
                      "code": "090406",
                      "name": "Business Support Microfinance Bank"
                    },
                    {
                      "id": 2063,
                      "code": "090408",
                      "name": "Gmb Microfinance Bank"
                    },
                    {
                      "id": 2064,
                      "code": "090409",
                      "name": "Fcmb Microfinance Bank"
                    },
                    {
                      "id": 2065,
                      "code": "090410",
                      "name": "Maritime Microfinance Bank"
                    },
                    {
                      "id": 2066,
                      "code": "090411",
                      "name": "Giginya Microfinance Bank"
                    },
                    {
                      "id": 2067,
                      "code": "090412",
                      "name": "Preeminent Microfinance Bank"
                    },
                    {
                      "id": 2068,
                      "code": "090413",
                      "name": "Benysta Microfinance Bank"
                    },
                    {
                      "id": 2069,
                      "code": "090414",
                      "name": "Crutech  Microfinance Bank"
                    },
                    {
                      "id": 2070,
                      "code": "090415",
                      "name": "Calabar Microfinance Bank"
                    },
                    {
                      "id": 2071,
                      "code": "090416",
                      "name": "Chibueze Microfinance Bank"
                    },
                    {
                      "id": 2072,
                      "code": "090417",
                      "name": "Imowo Microfinance Bank"
                    },
                    {
                      "id": 2073,
                      "code": "090418",
                      "name": "Highland Microfinance Bank"
                    },
                    {
                      "id": 2074,
                      "code": "090419",
                      "name": "Winview Bank"
                    },
                    {
                      "id": 2075,
                      "code": "090420",
                      "name": "Letshego MFB"
                    },
                    {
                      "id": 2076,
                      "code": "090421",
                      "name": "Izon Microfinance Bank"
                    },
                    {
                      "id": 2077,
                      "code": "090422",
                      "name": "Landgold  Microfinance Bank"
                    },
                    {
                      "id": 2078,
                      "code": "090423",
                      "name": "MAUTECH Microfinance Bank"
                    },
                    {
                      "id": 2079,
                      "code": "090424",
                      "name": "Abucoop  Microfinance Bank"
                    },
                    {
                      "id": 2080,
                      "code": "090425",
                      "name": "Banex Microfinance Bank"
                    },
                    {
                      "id": 2081,
                      "code": "090426",
                      "name": "Tangerine Bank"
                    },
                    {
                      "id": 2082,
                      "code": "090427",
                      "name": "Ebsu Microfinance Bank"
                    },
                    {
                      "id": 2083,
                      "code": "090428",
                      "name": "Ishie  Microfinance Bank"
                    },
                    {
                      "id": 2084,
                      "code": "090429",
                      "name": "Crossriver  Microfinance Bank"
                    },
                    {
                      "id": 2085,
                      "code": "090430",
                      "name": "Ilora Microfinance Bank"
                    },
                    {
                      "id": 2086,
                      "code": "090431",
                      "name": "Bluewhales  Microfinance Bank"
                    },
                    {
                      "id": 2087,
                      "code": "090432",
                      "name": "Memphis Microfinance Bank"
                    },
                    {
                      "id": 2088,
                      "code": "090433",
                      "name": "Rigo Microfinance Bank"
                    },
                    {
                      "id": 2089,
                      "code": "090434",
                      "name": "Insight Microfinance Bank"
                    },
                    {
                      "id": 2090,
                      "code": "090435",
                      "name": "Links Microfinance Bank"
                    },
                    {
                      "id": 2091,
                      "code": "090436",
                      "name": "Spectrum Microfinance Bank"
                    },
                    {
                      "id": 2092,
                      "code": "090437",
                      "name": "Oakland Microfinance Bank"
                    },
                    {
                      "id": 2093,
                      "code": "090438",
                      "name": "Futminna Microfinance Bank"
                    },
                    {
                      "id": 2094,
                      "code": "090439",
                      "name": "Ibeto  Microfinance Bank"
                    },
                    {
                      "id": 2095,
                      "code": "090440",
                      "name": "Cherish Microfinance Bank"
                    },
                    {
                      "id": 2096,
                      "code": "090441",
                      "name": "Giwa Microfinance Bank"
                    },
                    {
                      "id": 2097,
                      "code": "090443",
                      "name": "Rima Microfinance Bank"
                    },
                    {
                      "id": 2098,
                      "code": "090444",
                      "name": "Boi Mf Bank"
                    },
                    {
                      "id": 2099,
                      "code": "090445",
                      "name": "Capstone Mf Bank"
                    },
                    {
                      "id": 2100,
                      "code": "090446",
                      "name": "Support Mf Bank"
                    },
                    {
                      "id": 2101,
                      "code": "090448",
                      "name": "Moyofade Mf Bank"
                    },
                    {
                      "id": 2102,
                      "code": "090449",
                      "name": "Sls  Mf Bank"
                    },
                    {
                      "id": 2103,
                      "code": "090450",
                      "name": "Kwasu Mf Bank"
                    },
                    {
                      "id": 2104,
                      "code": "090451",
                      "name": "Atbu  Microfinance Bank"
                    },
                    {
                      "id": 2105,
                      "code": "090452",
                      "name": "Unilag  Microfinance Bank"
                    },
                    {
                      "id": 2106,
                      "code": "090453",
                      "name": "Uzondu Mf Bank"
                    },
                    {
                      "id": 2107,
                      "code": "090454",
                      "name": "Borstal Microfinance Bank"
                    },
                    {
                      "id": 2108,
                      "code": "090455",
                      "name": "MKOBO MICROFINANCE BANK LTD"
                    },
                    {
                      "id": 2109,
                      "code": "090456",
                      "name": "Ospoly Microfinance Bank"
                    },
                    {
                      "id": 2110,
                      "code": "090459",
                      "name": "Nice Microfinance Bank"
                    },
                    {
                      "id": 2111,
                      "code": "090460",
                      "name": "Oluyole Microfinance Bank"
                    },
                    {
                      "id": 2112,
                      "code": "090461",
                      "name": "Uniibadan Microfinance Bank"
                    },
                    {
                      "id": 2113,
                      "code": "090462",
                      "name": "Monarch Microfinance Bank"
                    },
                    {
                      "id": 2114,
                      "code": "090463",
                      "name": "Rehoboth Microfinance Bank"
                    },
                    {
                      "id": 2115,
                      "code": "090464",
                      "name": "Unimaid Microfinance Bank"
                    },
                    {
                      "id": 2116,
                      "code": "090465",
                      "name": "Maintrust Microfinance Bank"
                    },
                    {
                      "id": 2117,
                      "code": "090466",
                      "name": "Yct Microfinance Bank"
                    },
                    {
                      "id": 2118,
                      "code": "090467",
                      "name": "Good Neighbours Microfinance Bank"
                    },
                    {
                      "id": 2119,
                      "code": "090468",
                      "name": "Olofin Owena Microfinance Bank"
                    },
                    {
                      "id": 2120,
                      "code": "090469",
                      "name": "Aniocha Microfinance Bank"
                    },
                    {
                      "id": 2121,
                      "code": "090470",
                      "name": "DOT MICROFINANCE BANK"
                    },
                    {
                      "id": 2122,
                      "code": "090471",
                      "name": "Oluchukwu Microfinance Bank"
                    },
                    {
                      "id": 2123,
                      "code": "090472",
                      "name": "Caretaker Microfinance Bank"
                    },
                    {
                      "id": 2124,
                      "code": "090473",
                      "name": "Assets Microfinance Bank"
                    },
                    {
                      "id": 2125,
                      "code": "090474",
                      "name": "Verdant Microfinance Bank"
                    },
                    {
                      "id": 2126,
                      "code": "090475",
                      "name": "Giant Stride Microfinance Bank"
                    },
                    {
                      "id": 2127,
                      "code": "090476",
                      "name": "Anchorage Microfinance Bank"
                    },
                    {
                      "id": 2128,
                      "code": "090477",
                      "name": "Light Microfinance Bank"
                    },
                    {
                      "id": 2129,
                      "code": "090478",
                      "name": "Avuenegbe Microfinance Bank"
                    },
                    {
                      "id": 2130,
                      "code": "090479",
                      "name": "First Heritage Microfinance Bank"
                    },
                    {
                      "id": 2131,
                      "code": "090480",
                      "name": "Cintrust Microfinance Bank"
                    },
                    {
                      "id": 2132,
                      "code": "090481",
                      "name": "Prisco  Microfinance Bank"
                    },
                    {
                      "id": 2133,
                      "code": "090482",
                      "name": "FEDETH MICROFINANCE BANK"
                    },
                    {
                      "id": 2134,
                      "code": "090483",
                      "name": "Ada Microfinance Bank"
                    },
                    {
                      "id": 2135,
                      "code": "090484",
                      "name": "Garki Microfinance Bank"
                    },
                    {
                      "id": 2136,
                      "code": "090485",
                      "name": "Safegate Microfinance Bank"
                    },
                    {
                      "id": 2137,
                      "code": "090486",
                      "name": "Fortress Microfinance Bank"
                    },
                    {
                      "id": 2138,
                      "code": "090487",
                      "name": "Kingdom College  Microfinance Bank"
                    },
                    {
                      "id": 2139,
                      "code": "090488",
                      "name": "Ibu-Aje Microfinance"
                    },
                    {
                      "id": 2140,
                      "code": "090489",
                      "name": "Alvana Microfinance Bank"
                    },
                    {
                      "id": 2141,
                      "code": "090490",
                      "name": "Chukwunenye  Microfinance Bank"
                    },
                    {
                      "id": 2142,
                      "code": "090491",
                      "name": "Nsuk  Microfinance Bank"
                    },
                    {
                      "id": 2143,
                      "code": "090492",
                      "name": "Oraukwu  Microfinance Bank"
                    },
                    {
                      "id": 2144,
                      "code": "090493",
                      "name": "Iperu Microfinance Bank"
                    },
                    {
                      "id": 2145,
                      "code": "090494",
                      "name": "Boji Boji Microfinance Bank"
                    },
                    {
                      "id": 2146,
                      "code": "090495",
                      "name": "GOODNEWS MFB"
                    },
                    {
                      "id": 2147,
                      "code": "090496",
                      "name": "Radalpha Microfinance Bank"
                    },
                    {
                      "id": 2148,
                      "code": "090497",
                      "name": "Palmcoast Microfinance Bank"
                    },
                    {
                      "id": 2149,
                      "code": "090498",
                      "name": "Catland Microfinance Bank"
                    },
                    {
                      "id": 2150,
                      "code": "090499",
                      "name": "Pristine Divitis Microfinance Bank"
                    },
                    {
                      "id": 2151,
                      "code": "090500",
                      "name": "Gwong Microfinance Bank"
                    },
                    {
                      "id": 2152,
                      "code": "090501",
                      "name": "Boromu Microfinance Bank"
                    },
                    {
                      "id": 2153,
                      "code": "090502",
                      "name": "Shalom Microfinance Bank"
                    },
                    {
                      "id": 2154,
                      "code": "090503",
                      "name": "Projects Microfinance Bank"
                    },
                    {
                      "id": 2155,
                      "code": "090504",
                      "name": "Zikora Microfinance Bank"
                    },
                    {
                      "id": 2156,
                      "code": "090505",
                      "name": "Nigeria Prisonsmicrofinance Bank"
                    },
                    {
                      "id": 2157,
                      "code": "090506",
                      "name": "Solid Allianze Microfinance Bank"
                    },
                    {
                      "id": 2158,
                      "code": "090507",
                      "name": "Fims Microfinance Bank"
                    },
                    {
                      "id": 2159,
                      "code": "090508",
                      "name": "Borno Renaissance Microfinance Bank"
                    },
                    {
                      "id": 2160,
                      "code": "090509",
                      "name": "Capitalmetriq Swift Microfinance Bank"
                    },
                    {
                      "id": 2161,
                      "code": "090510",
                      "name": "Umunnachi Microfinance Bank"
                    },
                    {
                      "id": 2162,
                      "code": "090511",
                      "name": "Cloverleaf  Microfinance Bank"
                    },
                    {
                      "id": 2163,
                      "code": "090512",
                      "name": "Bubayero Microfinance Bank"
                    },
                    {
                      "id": 2164,
                      "code": "090513",
                      "name": "Seap Microfinance Bank"
                    },
                    {
                      "id": 2165,
                      "code": "090514",
                      "name": "Umuchinemere Procredit Microfinance Bank"
                    },
                    {
                      "id": 2166,
                      "code": "090515",
                      "name": "Rima Growth Pathway Microfinance Bank "
                    },
                    {
                      "id": 2167,
                      "code": "090516",
                      "name": "Numo Microfinance Bank"
                    },
                    {
                      "id": 2168,
                      "code": "090517",
                      "name": "Uhuru Microfinance Bank"
                    },
                    {
                      "id": 2169,
                      "code": "090518",
                      "name": "Afemai Microfinance Bank"
                    },
                    {
                      "id": 2170,
                      "code": "090519",
                      "name": "Ibom Fadama Microfinance Bank"
                    },
                    {
                      "id": 2171,
                      "code": "090520",
                      "name": "Ic Globalmicrofinance Bank"
                    },
                    {
                      "id": 2172,
                      "code": "090521",
                      "name": "Foresight Microfinance Bank"
                    },
                    {
                      "id": 2173,
                      "code": "090523",
                      "name": "Chase Microfinance Bank"
                    },
                    {
                      "id": 2174,
                      "code": "090524",
                      "name": "Solidrock Microfinance Bank"
                    },
                    {
                      "id": 2175,
                      "code": "090525",
                      "name": "Triple A Microfinance Bank"
                    },
                    {
                      "id": 2176,
                      "code": "090526",
                      "name": "Crescent Microfinance Bank"
                    },
                    {
                      "id": 2177,
                      "code": "090527",
                      "name": "Ojokoro Microfinance Bank"
                    },
                    {
                      "id": 2178,
                      "code": "090528",
                      "name": "Mgbidi Microfinance Bank"
                    },
                    {
                      "id": 2179,
                      "code": "090529",
                      "name": "Ampersand Microfinance Bank"
                    },
                    {
                      "id": 2180,
                      "code": "090530",
                      "name": "Confidence Microfinance Bank Ltd"
                    },
                    {
                      "id": 2181,
                      "code": "090531",
                      "name": "Aku Microfinance Bank"
                    },
                    {
                      "id": 2182,
                      "code": "090532",
                      "name": "Ibolo Micorfinance Bank Ltd"
                    },
                    {
                      "id": 2183,
                      "code": "090534",
                      "name": "Polyibadan Microfinance Bank"
                    },
                    {
                      "id": 2184,
                      "code": "090535",
                      "name": "Nkpolu-Ust Microfinance"
                    },
                    {
                      "id": 2185,
                      "code": "090536",
                      "name": "Ikoyi-Osun Microfinance Bank"
                    },
                    {
                      "id": 2186,
                      "code": "090537",
                      "name": "Lobrem Microfinance Bank"
                    },
                    {
                      "id": 2187,
                      "code": "090538",
                      "name": "Blue Investments Microfinance Bank"
                    },
                    {
                      "id": 2188,
                      "code": "090539",
                      "name": "Enrich Microfinance Bank"
                    },
                    {
                      "id": 2189,
                      "code": "090540",
                      "name": "Aztec Microfinance Bank"
                    },
                    {
                      "id": 2190,
                      "code": "090541",
                      "name": "Excellent Microfinance Bank"
                    },
                    {
                      "id": 2191,
                      "code": "090542",
                      "name": "Otuo Microfinance Bank Ltd"
                    },
                    {
                      "id": 2192,
                      "code": "090543",
                      "name": "Iwoama Microfinance Bank"
                    },
                    {
                      "id": 2193,
                      "code": "090544",
                      "name": "Aspire Microfinance Bank Ltd"
                    },
                    {
                      "id": 2194,
                      "code": "090545",
                      "name": "Abulesoro Microfinance Bank Ltd"
                    },
                    {
                      "id": 2195,
                      "code": "090546",
                      "name": "Ijebu-Ife Microfinance Bank Ltd"
                    },
                    {
                      "id": 2196,
                      "code": "090547",
                      "name": "Rockshield Microfinance Bank"
                    },
                    {
                      "id": 2197,
                      "code": "090548",
                      "name": "Ally Microfinance Bank"
                    },
                    {
                      "id": 2198,
                      "code": "090549",
                      "name": "Kc Microfinance Bank"
                    },
                    {
                      "id": 2199,
                      "code": "090550",
                      "name": "Green Energy Microfinance Bank Ltd"
                    },
                    {
                      "id": 2200,
                      "code": "090551",
                      "name": "Fairmoney Microfinance Bank Ltd"
                    },
                    {
                      "id": 2201,
                      "code": "090552",
                      "name": "Ekimogun Microfinance Bank"
                    },
                    {
                      "id": 2202,
                      "code": "090553",
                      "name": "Consistent Trust Microfinance Bank Ltd"
                    },
                    {
                      "id": 2203,
                      "code": "090554",
                      "name": "Kayvee Microfinance Bank"
                    },
                    {
                      "id": 2204,
                      "code": "090555",
                      "name": "Bishopgate Microfinance Bank"
                    },
                    {
                      "id": 2205,
                      "code": "090556",
                      "name": "Egwafin Microfinance Bank Ltd"
                    },
                    {
                      "id": 2206,
                      "code": "090557",
                      "name": "Lifegate Microfinance Bank Ltd"
                    },
                    {
                      "id": 2207,
                      "code": "090558",
                      "name": "Shongom Microfinance Bank Ltd"
                    },
                    {
                      "id": 2208,
                      "code": "090559",
                      "name": "Shield Microfinance Bank Ltd"
                    },
                    {
                      "id": 2209,
                      "code": "090560",
                      "name": "TANADI MFB (CRUST)"
                    },
                    {
                      "id": 2210,
                      "code": "090561",
                      "name": "Akuchukwu Microfinance Bank Ltd"
                    },
                    {
                      "id": 2211,
                      "code": "090562",
                      "name": "Cedar Microfinance Bank Ltd"
                    },
                    {
                      "id": 2212,
                      "code": "090563",
                      "name": "Balera Microfinance Bank Ltd"
                    },
                    {
                      "id": 2213,
                      "code": "090564",
                      "name": "Supreme Microfinance Bank Ltd"
                    },
                    {
                      "id": 2214,
                      "code": "090565",
                      "name": "Oke-Aro Oredegbe Microfinance Bank Ltd"
                    },
                    {
                      "id": 2215,
                      "code": "090566",
                      "name": "Okuku Microfinance Bank Ltd"
                    },
                    {
                      "id": 2216,
                      "code": "090567",
                      "name": "Orokam Microfinance Bank Ltd"
                    },
                    {
                      "id": 2217,
                      "code": "090568",
                      "name": "Broadview Microfinance Bank Ltd"
                    },
                    {
                      "id": 2218,
                      "code": "090569",
                      "name": "Qube Microfinance Bank Ltd"
                    },
                    {
                      "id": 2219,
                      "code": "090570",
                      "name": "Iyamoye Microfinance Bank Ltd"
                    },
                    {
                      "id": 2220,
                      "code": "090571",
                      "name": "Ilaro Poly Microfinance Bank Ltd"
                    },
                    {
                      "id": 2221,
                      "code": "090572",
                      "name": "Ewt Microfinance Bank"
                    },
                    {
                      "id": 2222,
                      "code": "090573",
                      "name": "Snow Microfinance Bank"
                    },
                    {
                      "id": 2223,
                      "code": "090574",
                      "name": "GOLDMAN MICROFINANCE BANK"
                    },
                    {
                      "id": 2224,
                      "code": "090575",
                      "name": "Firstmidas Microfinance Bank Ltd"
                    },
                    {
                      "id": 2225,
                      "code": "090576",
                      "name": "Octopus Microfinance Bank Ltd"
                    },
                    {
                      "id": 2226,
                      "code": "090578",
                      "name": "Iwade Microfinance Bank Ltd"
                    },
                    {
                      "id": 2227,
                      "code": "090579",
                      "name": "Gbede Microfinance Bank"
                    },
                    {
                      "id": 2228,
                      "code": "090580",
                      "name": "Otech Microfinance Bank Ltd"
                    },
                    {
                      "id": 2229,
                      "code": "090581",
                      "name": "BANC CORP MICROFINANCE BANK"
                    },
                    {
                      "id": 2230,
                      "code": "090583",
                      "name": "STATESIDE MFB"
                    },
                    {
                      "id": 2231,
                      "code": "090584",
                      "name": "ISLAND MICROFINANCE BANK "
                    },
                    {
                      "id": 2232,
                      "code": "090586",
                      "name": "GOMBE MICROFINANCE BANK LTD"
                    },
                    {
                      "id": 2233,
                      "code": "090587",
                      "name": "Microbiz Microfinance Bank"
                    },
                    {
                      "id": 2234,
                      "code": "090588",
                      "name": "Orisun MFB"
                    },
                    {
                      "id": 2235,
                      "code": "090589",
                      "name": "Mercury MFB"
                    },
                    {
                      "id": 2236,
                      "code": "090590",
                      "name": "WAYA MICROFINANCE BANK LTD"
                    },
                    {
                      "id": 2237,
                      "code": "090591",
                      "name": "Gabsyn Microfinance Bank"
                    },
                    {
                      "id": 2238,
                      "code": "090592",
                      "name": "KANO POLY MFB"
                    },
                    {
                      "id": 2239,
                      "code": "090593",
                      "name": "TASUED MICROFINANCE BANK LTD"
                    },
                    {
                      "id": 2240,
                      "code": "090598",
                      "name": "IBA MFB "
                    },
                    {
                      "id": 2241,
                      "code": "090599",
                      "name": "Greenacres MFB"
                    },
                    {
                      "id": 2242,
                      "code": "090600",
                      "name": "AVE MARIA MICROFINANCE BANK LTD"
                    },
                    {
                      "id": 2243,
                      "code": "090602",
                      "name": "KENECHUKWU MICROFINANCE BANK"
                    },
                    {
                      "id": 2244,
                      "code": "090603 ",
                      "name": "Macrod MFB"
                    },
                    {
                      "id": 2245,
                      "code": "090606",
                      "name": "KKU Microfinance Bank"
                    },
                    {
                      "id": 2246,
                      "code": "090608",
                      "name": "Akpo Microfinance Bank"
                    },
                    {
                      "id": 2247,
                      "code": "090609",
                      "name": "Ummah Microfinance Bank "
                    },
                    {
                      "id": 2248,
                      "code": "090610",
                      "name": "AMOYE MICROFINANCE BANK"
                    },
                    {
                      "id": 2249,
                      "code": "090611",
                      "name": "Creditville Microfinance Bank"
                    },
                    {
                      "id": 2250,
                      "code": "090612",
                      "name": "Medef Microfinance Bank"
                    },
                    {
                      "id": 2251,
                      "code": "090613",
                      "name": "Total Trust Microfinance Bank"
                    },
                    {
                      "id": 2252,
                      "code": "090614",
                      "name": "FLOURISH MFB"
                    },
                    {
                      "id": 2253,
                      "code": "090615",
                      "name": "Beststar Microfinance Bank"
                    },
                    {
                      "id": 2254,
                      "code": "090616",
                      "name": "RAYYAN Microfinance Bank"
                    },
                    {
                      "id": 2255,
                      "code": "090620",
                      "name": "Iyin Ekiti MFB"
                    },
                    {
                      "id": 2256,
                      "code": "090621",
                      "name": "GIDAUNIYAR ALHERI MICROFINANCE BANK"
                    },
                    {
                      "id": 2257,
                      "code": "090623",
                      "name": "Mab Allianz MFB"
                    },
                    {
                      "id": 2258,
                      "code": "100001",
                      "name": "FET"
                    },
                    {
                      "id": 2259,
                      "code": "100003",
                      "name": "Parkway-ReadyCash"
                    },
                    {
                      "id": 2260,
                      "code": "100004",
                      "name": "Opay"
                    },
                    {
                      "id": 2261,
                      "code": "100005",
                      "name": "Cellulant"
                    },
                    {
                      "id": 2262,
                      "code": "100006",
                      "name": "eTranzact"
                    },
                    {
                      "id": 2263,
                      "code": "100007",
                      "name": "Stanbic IBTC @ease wallet"
                    },
                    {
                      "id": 2264,
                      "code": "100008",
                      "name": "Ecobank Xpress Account"
                    },
                    {
                      "id": 2265,
                      "code": "100009",
                      "name": "GTMobile"
                    },
                    {
                      "id": 2266,
                      "code": "100010",
                      "name": "TeasyMobile"
                    },
                    {
                      "id": 2267,
                      "code": "100011",
                      "name": "Mkudi"
                    },
                    {
                      "id": 2268,
                      "code": "100012",
                      "name": "VTNetworks"
                    },
                    {
                      "id": 2269,
                      "code": "100013",
                      "name": "AccessMobile"
                    },
                    {
                      "id": 2270,
                      "code": "100014",
                      "name": "FBNMobile"
                    },
                    {
                      "id": 2271,
                      "code": "100015",
                      "name": "Kegow"
                    },
                    {
                      "id": 2272,
                      "code": "100016",
                      "name": "FortisMobile"
                    },
                    {
                      "id": 2273,
                      "code": "100017",
                      "name": "Hedonmark"
                    },
                    {
                      "id": 2274,
                      "code": "100018",
                      "name": "ZenithMobile"
                    },
                    {
                      "id": 2275,
                      "code": "100019",
                      "name": "Fidelity Mobile"
                    },
                    {
                      "id": 2276,
                      "code": "100020",
                      "name": "MoneyBox"
                    },
                    {
                      "id": 2277,
                      "code": "100021",
                      "name": "Eartholeum"
                    },
                    {
                      "id": 2278,
                      "code": "100022",
                      "name": "GoMoney"
                    },
                    {
                      "id": 2279,
                      "code": "100023",
                      "name": "TagPay"
                    },
                    {
                      "id": 2280,
                      "code": "100024",
                      "name": "Imperial Homes Mortgage Bank"
                    },
                    {
                      "id": 2281,
                      "code": "100025",
                      "name": "Zinternet Nigera Limited"
                    },
                    {
                      "id": 2282,
                      "code": "100026",
                      "name": "One Finance"
                    },
                    {
                      "id": 2283,
                      "code": "100027",
                      "name": "Intellifin"
                    },
                    {
                      "id": 2284,
                      "code": "100028",
                      "name": "AG Mortgage Bank"
                    },
                    {
                      "id": 2285,
                      "code": "100029",
                      "name": "Innovectives Kesh"
                    },
                    {
                      "id": 2286,
                      "code": "100030",
                      "name": "EcoMobile"
                    },
                    {
                      "id": 2287,
                      "code": "100031",
                      "name": "FCMB Easy Account"
                    },
                    {
                      "id": 2288,
                      "code": "100032",
                      "name": "Contec Global Infotech Limited (NowNow)"
                    },
                    {
                      "id": 2289,
                      "code": "100033",
                      "name": "PALMPAY"
                    },
                    {
                      "id": 2290,
                      "code": "100034",
                      "name": "Zwallet"
                    },
                    {
                      "id": 2291,
                      "code": "100035",
                      "name": "M36"
                    },
                    {
                      "id": 2292,
                      "code": "100036",
                      "name": "Kegow(Chamsmobile)"
                    },
                    {
                      "id": 2293,
                      "code": "100039",
                      "name": "Titan-Paystack"
                    },
                    {
                      "id": 2294,
                      "code": "100052",
                      "name": "Beta-Access Yello"
                    },
                    {
                      "id": 2295,
                      "code": "101",
                      "name": "ProvidusBank PLC"
                    },
                    {
                      "id": 2296,
                      "code": "110001",
                      "name": "PayAttitude Online"
                    },
                    {
                      "id": 2297,
                      "code": "110002",
                      "name": "Flutterwave Technology Solutions Limited"
                    },
                    {
                      "id": 2298,
                      "code": "110003",
                      "name": "Interswitch Limited"
                    },
                    {
                      "id": 2299,
                      "code": "110004",
                      "name": "First Apple Limited"
                    },
                    {
                      "id": 2300,
                      "code": "110005",
                      "name": "3Line Card Management Limited"
                    },
                    {
                      "id": 2301,
                      "code": "110006",
                      "name": "Paystack Payments Limited"
                    },
                    {
                      "id": 2302,
                      "code": "110007",
                      "name": "TeamApt"
                    },
                    {
                      "id": 2303,
                      "code": "110008",
                      "name": "Kadick Integration Limited"
                    },
                    {
                      "id": 2304,
                      "code": "110009",
                      "name": "Venture Garden Nigeria Limited"
                    },
                    {
                      "id": 2305,
                      "code": "110010",
                      "name": "Interswitch Financial Inclusion Services (Ifis)"
                    },
                    {
                      "id": 2306,
                      "code": "110011",
                      "name": "Arca Payments"
                    },
                    {
                      "id": 2307,
                      "code": "110012",
                      "name": "Cellulant Pssp"
                    },
                    {
                      "id": 2308,
                      "code": "110013",
                      "name": "Qr Payments"
                    },
                    {
                      "id": 2309,
                      "code": "110014",
                      "name": "Cyberspace Limited"
                    },
                    {
                      "id": 2310,
                      "code": "110015",
                      "name": "Vas2Nets Limited"
                    },
                    {
                      "id": 2311,
                      "code": "110017",
                      "name": "Crowdforce"
                    },
                    {
                      "id": 2312,
                      "code": "110018",
                      "name": "Microsystems Investment And Development Limited"
                    },
                    {
                      "id": 2313,
                      "code": "110019",
                      "name": "Nibssussd Payments"
                    },
                    {
                      "id": 2314,
                      "code": "110021",
                      "name": "Bud Infrastructure Limited"
                    },
                    {
                      "id": 2315,
                      "code": "110022",
                      "name": "Koraypay"
                    },
                    {
                      "id": 2316,
                      "code": "110023",
                      "name": "Capricorn Digital"
                    },
                    {
                      "id": 2317,
                      "code": "110024",
                      "name": "Resident Fintech Limited"
                    },
                    {
                      "id": 2318,
                      "code": "110025",
                      "name": "Netapps Technology Limited"
                    },
                    {
                      "id": 2319,
                      "code": "110026",
                      "name": "Spay Business"
                    },
                    {
                      "id": 2320,
                      "code": "110027",
                      "name": "Yello Digital Financial Services"
                    },
                    {
                      "id": 2321,
                      "code": "110028",
                      "name": "Nomba Financial Services Limited"
                    },
                    {
                      "id": 2322,
                      "code": "110029",
                      "name": "Woven Finance"
                    },
                    {
                      "id": 2323,
                      "code": "110044",
                      "name": "Leadremit Limited"
                    },
                    {
                      "id": 2324,
                      "code": "120001",
                      "name": "9 Payment Service Bank"
                    },
                    {
                      "id": 2325,
                      "code": "120002",
                      "name": "Hopepsb"
                    },
                    {
                      "id": 2326,
                      "code": "120003",
                      "name": "Momo Psb"
                    },
                    {
                      "id": 2327,
                      "code": "120004",
                      "name": "Smartcash Payment Service Bank"
                    },
                    {
                      "id": 2328,
                      "code": "120005",
                      "name": "Money Master Psb"
                    },
                    {
                      "id": 2329,
                      "code": "400001",
                      "name": "FSDH Merchant Bank"
                    },
                    {
                      "id": 2330,
                      "code": "502",
                      "name": "Rand merchant Bank"
                    },
                    {
                      "id": 2331,
                      "code": "608",
                      "name": "FINATRUST MICROFINANCE BANK"
                    },
                    {
                      "id": 2332,
                      "code": "999001",
                      "name": "CBN_TSA"
                    },
                    {
                      "id": 2333,
                      "code": "999999",
                      "name": "NIP Virtual Bank"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/banks/:id/branches": {
      "get": {
        "tags": [
          "Banks"
        ],
        "summary": "Get Bank Branches",
        "description": "Get banks branches",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bank branches fetched successfully",
                  "data": [
                    {
                      "id": 992,
                      "branch_code": "GH190101",
                      "branch_name": "STANBIC BANK GHANA LTD-ACCRA MAIN",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 993,
                      "branch_code": "GH190102",
                      "branch_name": "STANBIC BANK GHANA LTD-AIRPORT CITY",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 994,
                      "branch_code": "GH190103",
                      "branch_name": "STANBIC BANK GHANA LTD-SPINTEX ROAD",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 995,
                      "branch_code": "GH190104",
                      "branch_name": "STANBIC BANK GHANA LTD-ACCRA MALL",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 996,
                      "branch_code": "GH190105",
                      "branch_name": "STANBIC BANK GHANA -NORTH INDUSTIAL AREA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 997,
                      "branch_code": "GH190106",
                      "branch_name": "STANBIC BANK GHANA-TEMA INDUSTRIAL AREA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 998,
                      "branch_code": "GH190107",
                      "branch_name": "STANBIC BANK GHANA LTD-GRAPHIC ROAD",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 999,
                      "branch_code": "GH190108",
                      "branch_name": "STANBIC BANK GHANA LTD-MAKOLA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1000,
                      "branch_code": "GH190109",
                      "branch_name": "STANBIC BANK GHANA LTD-RIND ROAD",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1001,
                      "branch_code": "GH190110",
                      "branch_name": "STANBIC BANK GHANA LTD-ACHIMOTA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1002,
                      "branch_code": "GH190112",
                      "branch_name": "STANBIC BANK GHANA LTD-KASOA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1003,
                      "branch_code": "GH190401",
                      "branch_name": "STANBIC BANK GHANA LTD-TAKORADI",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1004,
                      "branch_code": "GH190402",
                      "branch_name": "STANBIC BANK GHANA LTD-TARKWA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1005,
                      "branch_code": "GH190501",
                      "branch_name": "STANBIC BANK GHANA LTD-HO",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1006,
                      "branch_code": "GH190601",
                      "branch_name": "STANBIC BANK GHANA LTD-HARPER-KUMASI",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1007,
                      "branch_code": "GH190701",
                      "branch_name": "STANBIC BANK GHANA LTD-SUNYANI",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1008,
                      "branch_code": "GH190901",
                      "branch_name": "STANBIC BANK GHANA LTD-BOLGATANGA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1009,
                      "branch_code": "GH191001",
                      "branch_name": "STANBIC BANK GHANA LTD-WA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1010,
                      "branch_code": "GH190113",
                      "branch_name": "STANBIC BANK GH LTD - TEMA FISHING HABOUR",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1011,
                      "branch_code": "GH190111",
                      "branch_name": "STANBIC BANK GHANA LTD-ROMAN RIDGE",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1012,
                      "branch_code": "GH190801",
                      "branch_name": "STANBIC BANK GHANA LTD-TAMALE",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1013,
                      "branch_code": "GH190121",
                      "branch_name": "STANBIC BANK -STANBIC HEIGHTS BRANCH",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1014,
                      "branch_code": "GH190603",
                      "branch_name": "STABIC BANK GHANA LIMITED - ADUM",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    },
                    {
                      "id": 1015,
                      "branch_code": "GH190114",
                      "branch_name": "STANBIC BANK GHANA LTD-MOVENPICK",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1016,
                      "branch_code": "GH190118",
                      "branch_name": "STANBIC BANK - MADINA BRANCH",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    },
                    {
                      "id": 1017,
                      "branch_code": "GH190602",
                      "branch_name": "STANBIC BANK GHANA LTD-SUAME",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    },
                    {
                      "id": 1018,
                      "branch_code": "GH190117",
                      "branch_name": "STANBIC BANK GHANA LTD- ASHIAMAN",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    },
                    {
                      "id": 1019,
                      "branch_code": "GH190125",
                      "branch_name": "STANBIC BANK-JUNCTION MALL BRANCH",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1020,
                      "branch_code": "GH190120",
                      "branch_name": "STANBIC BANK GHANA LTD-LAPAZ",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1021,
                      "branch_code": "GH190116",
                      "branch_name": "STANBIC BANK GHANA LTD-DANSOMAN",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1022,
                      "branch_code": "GH190115",
                      "branch_name": "STANBIC MADINA",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    },
                    {
                      "id": 1023,
                      "branch_code": "GH190130",
                      "branch_name": "STANBIC BANK GHANA LTD - LEGON",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHACXXX",
                      "bank_id": 280
                    },
                    {
                      "id": 1024,
                      "branch_code": "GH190119",
                      "branch_name": "STANBIC BANK - EAST LEGON",
                      "swift_code": "SBICGHAC",
                      "bic": "SBICGHAC",
                      "bank_id": 280
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/balances": {
      "get": {
        "tags": [
          "Misc"
        ],
        "summary": "Get Multiple Wallet Balances",
        "description": "Fetch all wallet balances",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Wallet balances fetched",
                  "data": [
                    {
                      "currency": "NGN",
                      "available_balance": 48717450884.01,
                      "ledger_balance": 2146247957.94
                    },
                    {
                      "currency": "KES",
                      "available_balance": 49984731390.62,
                      "ledger_balance": 45759570.43
                    },
                    {
                      "currency": "GHS",
                      "available_balance": 49999936370.47,
                      "ledger_balance": 2469481.98
                    },
                    {
                      "currency": "USD",
                      "available_balance": 49997158910.89,
                      "ledger_balance": 1586272.03
                    },
                    {
                      "currency": "EUR",
                      "available_balance": 49999786509.4,
                      "ledger_balance": 11027.91
                    },
                    {
                      "currency": "ZAR",
                      "available_balance": 49999996065.13,
                      "ledger_balance": 3775401.97
                    },
                    {
                      "currency": "GBP",
                      "available_balance": 49999995200.9,
                      "ledger_balance": 37132.46
                    },
                    {
                      "currency": "TZS",
                      "available_balance": 50000000424.2,
                      "ledger_balance": 28321.55
                    },
                    {
                      "currency": "UGX",
                      "available_balance": 49961567836.04,
                      "ledger_balance": 43543852.13
                    },
                    {
                      "currency": "RWF",
                      "available_balance": 50000000000,
                      "ledger_balance": 9002717.95
                    },
                    {
                      "currency": "ZMW",
                      "available_balance": 50000000000,
                      "ledger_balance": 1085164.56
                    },
                    {
                      "currency": "INR",
                      "available_balance": 50000000000,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "XOF",
                      "available_balance": 49996967274.81,
                      "ledger_balance": 212904.99
                    },
                    {
                      "currency": "MUR",
                      "available_balance": 50000000000,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "ETB",
                      "available_balance": 50000000000,
                      "ledger_balance": 3367
                    },
                    {
                      "currency": "JPY",
                      "available_balance": 50000000000,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "MAD",
                      "available_balance": 50000000000,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "XAF",
                      "available_balance": 50000005500,
                      "ledger_balance": 3189114.21
                    },
                    {
                      "currency": "AUD",
                      "available_balance": 0,
                      "ledger_balance": 186.33
                    },
                    {
                      "currency": "CAD",
                      "available_balance": 0,
                      "ledger_balance": 468.24
                    },
                    {
                      "currency": "MYR",
                      "available_balance": 0,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "CNY",
                      "available_balance": 0,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "BRL",
                      "available_balance": 0,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "eNGN",
                      "available_balance": 0,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "MWK",
                      "available_balance": 0,
                      "ledger_balance": 0
                    },
                    {
                      "currency": "EGP",
                      "available_balance": 0,
                      "ledger_balance": 0
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/balances/:currency": {
      "get": {
        "tags": [
          "Misc"
        ],
        "summary": "Get a Single Wallet Balance",
        "description": "Fetch balances for specific currency",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "error",
                  "message": "No wallet found for specified currency",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/accounts/resolve": {
      "post": {
        "tags": [
          "Misc"
        ],
        "summary": "Resolve Account Details",
        "description": "Resolve Account Details for Transfers",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "account_number": "0690000000",
                  "account_bank": "044"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Account details fetched",
                  "data": {
                    "account_name": "Forrest Green",
                    "account_number": "0690000031"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/card-bins/:bin": {
      "get": {
        "tags": [
          "Misc"
        ],
        "summary": "Resolve Card Bin",
        "description": "Resolve your customer's bank identification number(BIN)",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "completed",
                  "data": {
                    "issuing_country": " NIGERIA NG",
                    "bin": "539983",
                    "card_type": "MASTERCARD",
                    "issuer_info": "MASTERCARD GUARANTY TRUST BANK Mastercard Naira Debit Card  "
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/wallet/statement": {
      "get": {
        "tags": [
          "Misc"
        ],
        "summary": "Get Balance History",
        "description": "Fetch your wallet's transaction history",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Wallet statement fetched",
                  "data": {
                    "page_info": {
                      "total": 149,
                      "current_page": 1,
                      "total_pages": 8
                    },
                    "transactions": [
                      {
                        "type": "D",
                        "amount": 1,
                        "currency": "NGN",
                        "balance_before": 48717450885.02,
                        "balance_after": 48717450884.02,
                        "reference": "CF-BARTER-20240318102932638417",
                        "date": "2024-03-18T10:29:32+00:00",
                        "remarks": "OTP Saas Validate for Customer FLUTTERWAVE V3",
                        "sent_currency": "",
                        "rate_used": 0,
                        "sent_amount": 0,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 2.5,
                        "currency": "NGN",
                        "balance_before": 48717450887.52,
                        "balance_after": 48717450885.02,
                        "reference": "CF-BARTER-20240318102714796848",
                        "date": "2024-03-18T10:27:14+00:00",
                        "remarks": "OTP Saas for Customer FLUTTERWAVE V3",
                        "sent_currency": "",
                        "rate_used": 0,
                        "sent_amount": 0,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 1,
                        "currency": "NGN",
                        "balance_before": 48717450888.52,
                        "balance_after": 48717450887.52,
                        "reference": "CF-BARTER-20240318102713424760",
                        "date": "2024-03-18T10:27:14+00:00",
                        "remarks": "OTP Saas for Customer FLUTTERWAVE V3",
                        "sent_currency": "",
                        "rate_used": 0,
                        "sent_amount": 0,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 10.75,
                        "currency": "NGN",
                        "balance_before": 48717450899.27,
                        "balance_after": 48717450888.52,
                        "reference": "FLWRVCNF620715",
                        "date": "2024-03-13T13:09:37+00:00",
                        "remarks": "FEE|Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 300,
                        "currency": "NGN",
                        "balance_before": 48717451199.27,
                        "balance_after": 48717450899.27,
                        "reference": "FLWRVCNF620715",
                        "date": "2024-03-13T13:09:37+00:00",
                        "remarks": "Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 10.75,
                        "currency": "NGN",
                        "balance_before": 48717451210.02,
                        "balance_after": 48717451199.27,
                        "reference": "FLWRVCNF620543",
                        "date": "2024-03-12T16:25:36+00:00",
                        "remarks": "FEE|Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 300,
                        "currency": "NGN",
                        "balance_before": 48717451510.02,
                        "balance_after": 48717451210.02,
                        "reference": "FLWRVCNF620543",
                        "date": "2024-03-12T16:25:36+00:00",
                        "remarks": "Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 10.75,
                        "currency": "NGN",
                        "balance_before": 48717451520.77,
                        "balance_after": 48717451510.02,
                        "reference": "FLWRVCNF620542",
                        "date": "2024-03-12T16:25:03+00:00",
                        "remarks": "FEE|Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 300,
                        "currency": "NGN",
                        "balance_before": 48717451820.77,
                        "balance_after": 48717451520.77,
                        "reference": "FLWRVCNF620542",
                        "date": "2024-03-12T16:25:03+00:00",
                        "remarks": "Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 10.75,
                        "currency": "NGN",
                        "balance_before": 48717451831.52,
                        "balance_after": 48717451820.77,
                        "reference": "FLWRVCNF620541",
                        "date": "2024-03-12T16:23:39+00:00",
                        "remarks": "FEE|Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 300,
                        "currency": "NGN",
                        "balance_before": 48717452131.52,
                        "balance_after": 48717451831.52,
                        "reference": "FLWRVCNF620541",
                        "date": "2024-03-12T16:23:39+00:00",
                        "remarks": "Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 10.75,
                        "currency": "NGN",
                        "balance_before": 48717452142.27,
                        "balance_after": 48717452131.52,
                        "reference": "FLWRVCNF620540",
                        "date": "2024-03-12T16:21:09+00:00",
                        "remarks": "FEE|Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 300,
                        "currency": "NGN",
                        "balance_before": 48717452442.27,
                        "balance_after": 48717452142.27,
                        "reference": "FLWRVCNF620540",
                        "date": "2024-03-12T16:21:09+00:00",
                        "remarks": "Ade Bond|0690000034",
                        "sent_currency": "NGN",
                        "rate_used": 0,
                        "sent_amount": 300,
                        "statement_type": "available"
                      },
                      {
                        "type": "C",
                        "amount": 0,
                        "currency": "NGN",
                        "balance_before": 48717452442.27,
                        "balance_after": 48717452442.27,
                        "reference": "471269978971",
                        "date": "2024-03-12T11:39:57+00:00",
                        "remarks": "Commission -+2348098291822",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 0,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 714.29,
                        "currency": "NGN",
                        "balance_before": 48717453156.56,
                        "balance_after": 48717452442.27,
                        "reference": "471269978971",
                        "date": "2024-03-12T11:39:52+00:00",
                        "remarks": "FLY API - NG-AIRTIME-+2348098291822",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 714.2857,
                        "statement_type": "available"
                      },
                      {
                        "type": "C",
                        "amount": 10,
                        "currency": "NGN",
                        "balance_before": 48717453146.56,
                        "balance_after": 48717453156.56,
                        "reference": "153258467557",
                        "date": "2024-03-12T11:39:19+00:00",
                        "remarks": "Commission -0025401100",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 10,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 100,
                        "currency": "NGN",
                        "balance_before": 48717453246.56,
                        "balance_after": 48717453146.56,
                        "reference": "153258467557",
                        "date": "2024-03-12T11:39:15+00:00",
                        "remarks": "FEE|FLY API - NG-DSTV Payment-0025401100",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 14600,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 14600,
                        "currency": "NGN",
                        "balance_before": 48717467846.56,
                        "balance_after": 48717453246.56,
                        "reference": "153258467557",
                        "date": "2024-03-12T11:39:15+00:00",
                        "remarks": "FLY API - NG-DSTV Payment-0025401100",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 14600,
                        "statement_type": "available"
                      },
                      {
                        "type": "C",
                        "amount": 10,
                        "currency": "NGN",
                        "balance_before": 48717467836.56,
                        "balance_after": 48717467846.56,
                        "reference": "222337833252",
                        "date": "2024-03-12T11:19:51+00:00",
                        "remarks": "Commission -0025401100",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 10,
                        "statement_type": "available"
                      },
                      {
                        "type": "D",
                        "amount": 100,
                        "currency": "NGN",
                        "balance_before": 48717467936.56,
                        "balance_after": 48717467836.56,
                        "reference": "222337833252",
                        "date": "2024-03-12T11:19:48+00:00",
                        "remarks": "FEE|FLY API - NG-DSTV Payment-0025401100",
                        "sent_currency": "NGN",
                        "rate_used": 1,
                        "sent_amount": 14600,
                        "statement_type": "available"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bvn/verifications": {
      "post": {
        "tags": [
          "Misc"
        ],
        "summary": "Initiate BVN Consent",
        "description": "Request consent for BVN verification",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "bvn": "22222222280",
                  "firstname": "Nibby",
                  "lastname": "Certifier",
                  "redirect_url": "https://example-url.company.com"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bvn verification initiated",
                  "data": {
                    "url": "https://nibss-bvn-consent-management.dev-flutterwave.com/cms/BvnConsent?session=ZDdiYjVjODMtYWE0My00NjI0LTllMjAtYTQyODBmMzI1NmQ5",
                    "reference": "FLWA968D23A3D2BE31F5D63D0"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/bvn/verifications/:reference": {
      "get": {
        "tags": [
          "Misc"
        ],
        "summary": "Verify BVN Consent",
        "description": "Retrieve BVN Information",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Bvn details fetched",
                  "data": {
                    "first_name": "Nibby",
                    "last_name": "Certifier",
                    "status": "INITIATED",
                    "reference": "FLWA968D23A3D2BE31F5D63D0",
                    "callback_url": null,
                    "bvn_data": null,
                    "created_at": "2024-03-18T10:52:13.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/settlements": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "summary": "Get all Settlements",
        "description": "Get all settlements",
        "parameters": [
          {
            "name": "subaccount_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Settlements fetched",
                  "meta": {
                    "page_info": {
                      "total": 6,
                      "current_page": 1,
                      "total_pages": 1,
                      "page_size": 20
                    }
                  },
                  "data": [
                    {
                      "id": 41748,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2020-01-01T04:00:00.000Z",
                      "due_date": "2020-01-01T04:00:00.000Z",
                      "processed_date": null,
                      "status": "completed",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 122000,
                      "app_fee": 2108,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 0,
                      "stampduty_charge": 0,
                      "net_amount": 119892,
                      "transaction_count": 8,
                      "processor_ref": null,
                      "disburse_ref": "INSTANT_SETTLEMENT",
                      "disburse_message": null,
                      "channel": "web",
                      "destination": "autowallet",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": [
                        908260,
                        908790,
                        908232,
                        908274,
                        909038,
                        908246,
                        908290,
                        908216
                      ],
                      "refund_meta": null,
                      "chargeback_meta": null,
                      "source_bankcode": null,
                      "created_at": "2020-01-02T01:30:00.000Z"
                    },
                    {
                      "id": 41642,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2019-12-31T04:00:00.000Z",
                      "due_date": "2019-12-31T04:00:00.000Z",
                      "processed_date": null,
                      "status": "completed",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 24000,
                      "app_fee": 936,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 0,
                      "stampduty_charge": 0,
                      "net_amount": 23064,
                      "transaction_count": 12,
                      "processor_ref": null,
                      "disburse_ref": "INSTANT_SETTLEMENT",
                      "disburse_message": null,
                      "channel": "web",
                      "destination": "autowallet",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": [
                        908041,
                        908197,
                        908082,
                        908015,
                        908111,
                        908053,
                        908087,
                        908034,
                        908174,
                        908067,
                        907967,
                        908103
                      ],
                      "refund_meta": null,
                      "chargeback_meta": null,
                      "source_bankcode": null,
                      "created_at": "2020-01-01T01:30:00.000Z"
                    },
                    {
                      "id": 41497,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2019-12-30T04:00:00.000Z",
                      "due_date": "2019-12-30T04:00:00.000Z",
                      "processed_date": null,
                      "status": "completed",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 50800,
                      "app_fee": 950,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 0,
                      "stampduty_charge": 0,
                      "net_amount": 49850,
                      "transaction_count": 5,
                      "processor_ref": null,
                      "disburse_ref": "RV3E18675549F6A0",
                      "disburse_message": null,
                      "channel": "web",
                      "destination": "autowallet",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": [
                        906256,
                        906358,
                        906301,
                        906362,
                        906319
                      ],
                      "refund_meta": null,
                      "chargeback_meta": null,
                      "source_bankcode": null,
                      "created_at": "2019-12-31T01:30:00.000Z"
                    },
                    {
                      "id": 41440,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2019-12-30T01:00:00.000Z",
                      "due_date": "2019-12-31T00:00:00.000Z",
                      "processed_date": null,
                      "status": "pending",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 30620,
                      "app_fee": 620,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 20114,
                      "stampduty_charge": 0,
                      "net_amount": 9886,
                      "transaction_count": 3,
                      "processor_ref": null,
                      "disburse_ref": null,
                      "disburse_message": null,
                      "channel": "web",
                      "destination": "account",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": [
                        906262,
                        906336,
                        906339
                      ],
                      "refund_meta": [
                        4169,
                        4848,
                        4852,
                        4855,
                        4868,
                        4869,
                        4870,
                        4989
                      ],
                      "chargeback_meta": [],
                      "source_bankcode": null,
                      "created_at": "2019-12-31T01:00:01.000Z"
                    },
                    {
                      "id": 40018,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2019-11-28T00:00:00.000Z",
                      "due_date": "2019-11-29T00:00:00.000Z",
                      "processed_date": null,
                      "status": "pending",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 9000,
                      "app_fee": 176,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 0,
                      "stampduty_charge": 0,
                      "net_amount": 8824,
                      "transaction_count": 1,
                      "processor_ref": null,
                      "disburse_ref": null,
                      "disburse_message": null,
                      "channel": "web",
                      "destination": "account",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": [
                        854542
                      ],
                      "refund_meta": [],
                      "chargeback_meta": [],
                      "source_bankcode": null,
                      "created_at": "2019-11-29T11:50:38.000Z"
                    },
                    {
                      "id": 38813,
                      "account_id": 73362,
                      "merchant_name": "Earth Gang",
                      "merchant_email": "selma.m0ckaham@flutterwavego.com",
                      "settlement_account": "0031318432",
                      "bank_code": "063",
                      "transaction_date": "2019-10-10T01:00:00.000Z",
                      "due_date": "2019-10-11T19:12:49.000Z",
                      "processed_date": null,
                      "status": "pending",
                      "is_local": true,
                      "currency": "NGN",
                      "gross_amount": 2826.96,
                      "app_fee": 2508.96,
                      "merchant_fee": 0,
                      "chargeback": 0,
                      "refund": 0,
                      "stampduty_charge": 0,
                      "net_amount": 318,
                      "transaction_count": 2,
                      "processor_ref": null,
                      "disburse_ref": null,
                      "disburse_message": null,
                      "channel": null,
                      "destination": "account",
                      "fx_data": null,
                      "flag_message": null,
                      "meta": null,
                      "refund_meta": [],
                      "chargeback_meta": null,
                      "source_bankcode": null,
                      "created_at": "2019-10-11T01:00:01.000Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/settlements/:id": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "summary": "Get a Settlement",
        "description": "Fetch single settlement details",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Settlement fetched",
                  "data": {
                    "id": 41497,
                    "account_id": 73362,
                    "merchant_name": "Earth Gang",
                    "merchant_email": "selma.m0ckaham@flutterwavego.com",
                    "settlement_account": "0031318432",
                    "bank_code": "063",
                    "transaction_date": "2019-12-30T04:00:00.000Z",
                    "due_date": "2019-12-30T04:00:00.000Z",
                    "processed_date": null,
                    "status": "completed",
                    "is_local": 1,
                    "currency": "NGN",
                    "gross_amount": 50800,
                    "app_fee": 950,
                    "merchant_fee": 0,
                    "chargeback": 0,
                    "refund": 0,
                    "stampduty_charge": 0,
                    "net_amount": 49850,
                    "transaction_count": 5,
                    "processor_ref": null,
                    "disburse_ref": "RV3E18675549F6A0",
                    "disburse_message": null,
                    "channel": "web",
                    "destination": "autowallet",
                    "fx_data": null,
                    "flag_message": null,
                    "meta": "[906256,906358,906301,906362,906319]",
                    "refund_meta": null,
                    "chargeback_meta": null,
                    "source_bankcode": null,
                    "created_at": "2019-12-31T01:30:00.000Z",
                    "transactions": [
                      {
                        "customer_email": "h0vkard@flw.ext",
                        "flw_ref": "FLW-MOCK-RECURR-42b3daee9f470127dacd19560533f3a6",
                        "tx_ref": "Rave-Pages017117571060",
                        "id": 984411,
                        "charged_amount": 10140,
                        "app_fee": 190,
                        "merchant_fee": 0,
                        "stampduty_charge": 0,
                        "settlement_amount": 9950,
                        "status": "successful",
                        "payment_entity": "card",
                        "transaction_date": "2019-12-30",
                        "currency": "NGN",
                        "card_locale": "LOCAL",
                        "rrn": "N/A",
                        "subaccount_settlement": 0
                      },
                      {
                        "customer_email": "h0vkard@flw.ext",
                        "flw_ref": "FLW-MOCK-RECURR-c536481525f02f76409892f517a16300",
                        "tx_ref": "Rave-Pages017117571060",
                        "id": 984456,
                        "charged_amount": 10140,
                        "app_fee": 190,
                        "merchant_fee": 0,
                        "stampduty_charge": 0,
                        "settlement_amount": 9950,
                        "status": "successful",
                        "payment_entity": "card",
                        "transaction_date": "2019-12-30",
                        "currency": "NGN",
                        "card_locale": "LOCAL",
                        "rrn": "N/A",
                        "subaccount_settlement": 0
                      },
                      {
                        "customer_email": "h0vkard@flw.ext",
                        "flw_ref": "FLW-MOCK-RECURR-d22d0ec0955047e9648bec46da40c987",
                        "tx_ref": "Rave-Pages017117571060",
                        "id": 984474,
                        "charged_amount": 10190,
                        "app_fee": 190,
                        "merchant_fee": 0,
                        "stampduty_charge": 0,
                        "settlement_amount": 10000,
                        "status": "successful",
                        "payment_entity": "card",
                        "transaction_date": "2019-12-30",
                        "currency": "NGN",
                        "card_locale": "LOCAL",
                        "rrn": "N/A",
                        "subaccount_settlement": 0
                      },
                      {
                        "customer_email": "h0vkard@flw.ext",
                        "flw_ref": "FLW-MOCK-RECURR-e55f863f14a95816e0939e7c4625ee43",
                        "tx_ref": "Rave-Pages017117571060",
                        "id": 984513,
                        "charged_amount": 10190,
                        "app_fee": 190,
                        "merchant_fee": 0,
                        "stampduty_charge": 0,
                        "settlement_amount": 10000,
                        "status": "successful",
                        "payment_entity": "card",
                        "transaction_date": "2019-12-30",
                        "currency": "NGN",
                        "card_locale": "LOCAL",
                        "rrn": "N/A",
                        "subaccount_settlement": 0
                      },
                      {
                        "customer_email": "h0vkard@flw.ext",
                        "flw_ref": "FLW-MOCK-RECURR-6100e5300876cef2270b2e31bc9cc16e",
                        "tx_ref": "Rave-Pages017117571060",
                        "id": 984517,
                        "charged_amount": 10140,
                        "app_fee": 190,
                        "merchant_fee": 0,
                        "stampduty_charge": 0,
                        "settlement_amount": 9950,
                        "status": "successful",
                        "payment_entity": "card",
                        "transaction_date": "2019-12-30",
                        "currency": "NGN",
                        "card_locale": "LOCAL",
                        "rrn": "N/A",
                        "subaccount_settlement": 0
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/otps": {
      "post": {
        "tags": [
          "Otps"
        ],
        "summary": "Create an OTP",
        "description": "Generate a one time password (OTP) for your users",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "length": 7,
                  "customer": {
                    "name": "Example User",
                    "email": "user@gmail.com",
                    "phone": "08130000000"
                  },
                  "sender": "Example Business",
                  "send": true,
                  "medium": [
                    "email",
                    "whatsapp"
                  ],
                  "expiry": 5
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "OTP generated successfully",
                  "data": [
                    {
                      "medium": "email",
                      "reference": "CF-BARTER-20240318102713784653",
                      "otp": "5880211",
                      "expiry": "2024-03-18T10:32:14.1232277+00:00"
                    },
                    {
                      "medium": "whatsapp",
                      "reference": "CF-BARTER-20240318102714764558",
                      "otp": "5880211",
                      "expiry": "2024-03-18T10:32:14.7812808+00:00"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/otps/:reference/validate": {
      "post": {
        "tags": [
          "Otps"
        ],
        "summary": "Validate an OTP",
        "description": "Validate OTPs in your applications",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "otp": "5880211"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Otp Authenticated successfully",
                  "data": null
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/chargebacks": {
      "get": {
        "tags": [
          "Chargebacks"
        ],
        "summary": "Fetch a Chargeback",
        "description": "fetch the details a particular chargeback on your account",
        "parameters": [
          {
            "name": "flw_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "FLW-MOCK-3cc9bbe84a82eb054191d1a1a609909b"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Chargebacks fetched",
                  "meta": {
                    "page_info": {
                      "total": 1,
                      "current_page": 1,
                      "total_pages": 1,
                      "page_size": 20
                    }
                  },
                  "data": [
                    {
                      "id": 1390,
                      "amount": 100,
                      "flw_ref": "URF_1600800139900_3999635",
                      "status": "lost",
                      "stage": "new",
                      "comment": "This is the payment",
                      "meta": {
                        "uploaded_proof": null,
                        "history": [
                          {
                            "initiator": "dispute",
                            "date": "2020-09-22T07:01:28.000Z",
                            "description": "Dispute transaction"
                          },
                          {
                            "action": "initiated",
                            "stage": "new",
                            "date": "2020-09-22T07:05:02.000Z",
                            "description": "Debit and hold chargeback amount",
                            "source": "availablebalance"
                          },
                          {
                            "action": "lost",
                            "stage": "new",
                            "date": "2020-09-23T04:03:05.000Z",
                            "description": "No merchant response"
                          }
                        ]
                      },
                      "due_date": "2020-09-23T15:59:59.000Z",
                      "settlement_id": "N/A",
                      "created_at": "2020-09-22T19:01:28.000Z",
                      "transaction_id": 1554166,
                      "tx_ref": "10"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    },
    "/v3/chargebacks/:id": {
      "put": {
        "tags": [
          "Chargebacks"
        ],
        "summary": "Accept/Decline Chargebacks",
        "description": "decline or accept chargebacks on your account",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "example": {
                  "action": "accept",
                  "comment": "testing...",
                  "prooflink": "https//www.example.com/prooflink"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "example": {
                  "status": "success",
                  "message": "Chargeback accepted",
                  "data": {
                    "id": 1591,
                    "amount": 100,
                    "flw_ref": "FLW-MOCK-3cc9bbe84a82eb054191d1a1a609909b",
                    "status": "accepted",
                    "stage": "new",
                    "comment": "Testing Testing",
                    "due_date": "2024-03-27T15:59:59.000Z",
                    "settlement_id": "N/A",
                    "created_at": "2024-03-26T12:12:12.000Z",
                    "meta": {
                      "uploaded_proof": null,
                      "history": [
                        {
                          "action": "initiated",
                          "stage": "new",
                          "date": "2024-03-26T12:15:06.000Z",
                          "description": "Debit and hold chargeback amount"
                        },
                        {
                          "action": "notification",
                          "date": "2024-03-26T12:15:19.000Z",
                          "description": "Email Notification Sent"
                        },
                        {
                          "action": "accept",
                          "stage": "new",
                          "date": "2024-03-27T10:07:43.000Z",
                          "description": "Merchant accepts claim"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error — a required parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Cardno is required",
                  "data": null
                }
              }
            }
          },
          "401": {
            "description": "Authorization error — secret key missing or incorrect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Authorization required",
                  "data": null
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded — wait and retry, increasing the wait after each retry (exponential backoff).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Too many requests",
                  "data": null
                }
              }
            }
          },
          "500": {
            "description": "Server error — retry after a while or contact support with the error_id.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "error"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "nullable": true,
                      "example": null
                    },
                    "code": {
                      "type": "string",
                      "example": "app_error",
                      "description": "Present on server errors."
                    },
                    "error_id": {
                      "type": "string",
                      "description": "Support reference for server errors."
                    }
                  }
                },
                "example": {
                  "error_id": "ERRNO796977608T1620310828419",
                  "message": "Application error. Please contact support",
                  "code": "app_error"
                }
              }
            }
          }
        }
      }
    }
  }
}