{"openapi":"3.1.0","info":{"title":"Flutterwave Config (BYOK) API","version":"0.1.0","description":"Flutterwave Config (BYOK) lets an AI assistant read your own Flutterwave Config data through the Flutterwave Config API with a key you supply (secret key (FLWSECK-...) of API version 3). Read-only: 12 tools (list_banks, list_bank_branches, get_transfer_fee, get_transaction_fee, list_payment_plans, get_payment_plan, list_bill_categories, list_billers, list_settlements, get_settlement,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-flutterwave-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-flutterwave-config/docs"},"termsOfService":"https://connectorbay.com/byok-flutterwave-config/terms"},"servers":[{"url":"https://byok-flutterwave-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-flutterwave-config/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_banks":{"post":{"operationId":"list_banks","summary":"List banks and mobile money providers Flutterwave supports in a country, with each bank's id and code. Use for \"Which ba","description":"List banks and mobile money providers Flutterwave supports in a country, with each bank's id and code. Use for \"Which banks does Flutterwave support in Ghana\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter ISO country code, for example NG, GH, KE or ZA.","maxLength":200,"title":"Country","type":"string"},"include_provider_type":{"anyOf":[{"const":"1","type":"string"},{"type":"null"}],"default":null,"description":"Pass 1 to add a field that separates banks from mobile money providers.","title":"Include Provider Type"}},"required":["country"],"title":"list_banksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_bank_branches":{"post":{"operationId":"list_bank_branches","summary":"List the branches of one bank (by Flutterwave bank id) with branch code, branch name, SWIFT code and BIC. Use for \"What ","description":"List the branches of one bank (by Flutterwave bank id) with branch code, branch name, SWIFT code and BIC. Use for \"What branches does bank 280 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Flutterwave bank id from list_banks.","title":"Id","type":"integer"}},"required":["id"],"title":"list_bank_branchesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_transfer_fee":{"post":{"operationId":"get_transfer_fee","summary":"Quote the fee Flutterwave charges for a transfer of an amount in a currency, for account or mobile money transfers. Noth","description":"Quote the fee Flutterwave charges for a transfer of an amount in a currency, for account or mobile money transfers. Nothing is sent. Use for \"What would Flutterwave charge to transfer 10000 NGN to a bank account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount to be transferred, in major currency units.","maximum":1000000000,"minimum":1,"title":"Amount","type":"integer"},"currency":{"description":"Currency of the transfer: NGN, USD, GHS, KES, UGX or RWF.","maxLength":3,"title":"Currency","type":"string"},"type":{"anyOf":[{"enum":["account","mobilemoney"],"type":"string"},{"type":"null"}],"default":null,"description":"Transfer type: account or mobilemoney.","title":"Type"}},"required":["amount","currency"],"title":"get_transfer_feeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_transaction_fee":{"post":{"operationId":"get_transaction_fee","summary":"Quote the fee for charging a customer an amount in a currency, optionally for one payment type. Nothing is charged. Use ","description":"Quote the fee for charging a customer an amount in a currency, optionally for one payment type. Nothing is charged. Use for \"What is the Flutterwave fee on a 10000 NGN card payment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"amount":{"description":"Amount to be charged, in major currency units.","maximum":1000000000,"minimum":1,"title":"Amount","type":"integer"},"currency":{"description":"Currency to charge in, for example NGN.","maxLength":3,"title":"Currency","type":"string"},"payment_type":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Payment type to quote, for example card, account, ussd or mobilemoneyghana.","title":"Payment Type"}},"required":["amount","currency"],"title":"get_transaction_feeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payment_plans":{"post":{"operationId":"list_payment_plans","summary":"List recurring payment plans in your account with amount, interval, duration, status, currency and plan token. Page size","description":"List recurring payment plans in your account with amount, interval, duration, status, currency and plan token. Page size is set by Flutterwave. Use for \"Which Flutterwave payment plans do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"amount":{"anyOf":[{"maximum":1000000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only plans with exactly this amount.","title":"Amount"},"currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans in this currency, for example NGN.","title":"Currency"},"interval":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans with this interval, for example daily, weekly or monthly.","title":"Interval"},"status":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans with this status, for example active.","title":"Status"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date, YYYY-MM-DD.","title":"Date To"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_payment_plansArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_payment_plan":{"post":{"operationId":"get_payment_plan","summary":"Get one payment plan by numeric id with amount, interval, duration, status, currency and plan token. Use for \"What does ","description":"Get one payment plan by numeric id with amount, interval, duration, status, currency and plan token. Use for \"What does payment plan 3807 charge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Payment plan id.","title":"Id","type":"integer"}},"required":["id"],"title":"get_payment_planArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_bill_categories":{"post":{"operationId":"list_bill_categories","summary":"List the bill payment categories (airtime, data, cable, internet and others) Flutterwave offers in a country, with code ","description":"List the bill payment categories (airtime, data, cable, internet and others) Flutterwave offers in a country, with code and description. Use for \"Which bill payment categories can I offer in Nigeria\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Biller country code, for example NG.","title":"Country"}},"title":"list_bill_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_billers":{"post":{"operationId":"list_billers","summary":"List the government agencies and billers you can pay into through Flutterwave bill payments, with their codes. Use for \"","description":"List the government agencies and billers you can pay into through Flutterwave bill payments, with their codes. Use for \"Which billers can I pay through Flutterwave\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_billersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_settlements":{"post":{"operationId":"list_settlements","summary":"List your settlements with date, status, currency, gross, fee, refund, chargeback and net amounts, transaction count and","description":"List your settlements with date, status, currency, gross, fee, refund, chargeback and net amounts, transaction count and disbursement reference. Merchant email and settlement account are not returned. Use for \"What settlements has Flutterwave made to me recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subaccount_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only settlements of this subaccount id.","title":"Subaccount Id"},"disburse_ref":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only settlements with this disbursement reference.","title":"Disburse Ref"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date, YYYY-MM-DD.","title":"Date To"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_settlementsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_settlement":{"post":{"operationId":"get_settlement","summary":"Get one settlement by id with date, status, currency, gross, fee, refund, chargeback and net amounts and disbursement re","description":"Get one settlement by id with date, status, currency, gross, fee, refund, chargeback and net amounts and disbursement reference. Per-transaction customer details are not returned. Use for \"What is in Flutterwave settlement 41497\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Settlement id from list_settlements.","title":"Id","type":"integer"}},"required":["id"],"title":"get_settlementArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_chargebacks":{"post":{"operationId":"list_chargebacks","summary":"List chargebacks with amount, Flutterwave reference, status, stage, due date, settlement id and transaction reference. C","description":"List chargebacks with amount, Flutterwave reference, status, stage, due date, settlement id and transaction reference. Comments and history are not returned. Use for \"Which chargebacks are open on my Flutterwave account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["lost","won","initiated","accepted","declined"],"type":"string"},{"type":"null"}],"default":null,"description":"Only chargebacks with this status.","title":"Status"},"currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Only chargebacks in this ISO 4217 currency.","title":"Currency"},"flw_ref":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Only the chargeback with this Flutterwave reference.","title":"Flw Ref"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date, YYYY-MM-DD.","title":"Date To"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_chargebacksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_wallet_balance":{"post":{"operationId":"get_wallet_balance","summary":"Show the available and ledger balance of your Flutterwave wallet in one currency. Use for \"What is my Flutterwave NGN wa","description":"Show the available and ledger balance of your Flutterwave wallet in one currency. Use for \"What is my Flutterwave NGN wallet balance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"currency":{"description":"ISO 4217 currency code, for example NGN.","maxLength":200,"title":"Currency","type":"string"}},"required":["currency"],"title":"get_wallet_balanceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}