# Fingo Pay > Official Fingo Pay API documentation. Accept M-Pesa payments and automate payouts with our unified payments API. ## Docs - [Get account balance](https://docs.fingopay.io/api-reference/accounts/get-account-balance.md): Retrieve the balance for a specific account using accountNo. Requests without accountNo are invalid and return 400 (including requests with no query parameters or only the legacy account parameter). If both accountNo and legacy account are provided, accountNo takes precedence. - [List accounts](https://docs.fingopay.io/api-reference/accounts/list-accounts.md): List all non-system accounts for the authenticated organization. Optionally filter by account type and/or scope. Use scope=default to return accounts where shortcodeId is absent, and scope=shortcode to return accounts where shortcodeId is present. You can combine type and scope in the same request. - [Fingo Pay API reference](https://docs.fingopay.io/api-reference/introduction.md): Interactive API docs powered by OpenAPI for payments, payouts, balances, and transactions - [Create M-Pesa C2B charge (STK Push)](https://docs.fingopay.io/api-reference/payments/create-m-pesa-c2b-charge-stk-push.md): Initiate an M-Pesa STK Push request to collect payment from a customer. The customer will receive a prompt on their phone to enter their PIN and authorize the payment. Optional fields are advanced; send only required fields unless your integration needs this behavior. - [Request M-Pesa reversal](https://docs.fingopay.io/api-reference/payments/request-m-pesa-reversal.md): Initiate a reversal for a previously completed M-Pesa C2B transaction. The reversal will be processed asynchronously. - [Create M-Pesa B2B transfer](https://docs.fingopay.io/api-reference/payouts/create-m-pesa-b2b-transfer.md): Send funds to another M-Pesa till or paybill number. The transfer will be processed asynchronously. Optional fields are advanced; send only required fields unless your integration needs this behavior. - [Create M-Pesa B2C disbursement](https://docs.fingopay.io/api-reference/payouts/create-m-pesa-b2c-disbursement.md): Send funds directly to a customer's M-Pesa wallet. The disbursement will be processed asynchronously. Optional fields are advanced; send only required fields unless your integration needs this behavior. - [Initiate local bank transfer](https://docs.fingopay.io/api-reference/payouts/initiate-local-bank-transfer.md): Initiate a local bank transfer via PesaLink. This endpoint currently supports paymentChannel=PESALINK only. The sender account is resolved from senderAccountNo and must map to an active payouts account class. - [Get transaction by ID or merchantTransactionId](https://docs.fingopay.io/api-reference/transactions/get-transaction-by-id-or-merchanttransactionid.md): Retrieve a single transaction by either its Fingo transaction ID or your merchant transaction ID. Provide exactly one of the two parameters. - [List transactions](https://docs.fingopay.io/api-reference/transactions/list-transactions.md): List transactions within a date range. Both startDate and endDate are required. Results are returned in descending order by creation time. - [List local bank codes](https://docs.fingopay.io/api-reference/verification/list-local-bank-codes.md): Retrieve the list of supported bank codes for local transfers. Currently only Kenya (KE) is supported. Use bank codes from this endpoint when initiating PesaLink transfers or account name validation. - [Validate account name](https://docs.fingopay.io/api-reference/verification/validate-account-name.md): Validate a bank account, M-Pesa number, or till/paybill before initiating a payout. Returns the registered account holder name and account status. Use this to confirm the recipient identity before sending funds. Currently only Kenya (KE) is supported. - [Authentication & Idempotency](https://docs.fingopay.io/auth.md): Authenticate with API keys and prevent duplicate requests with Idempotency-Key - [Changelog](https://docs.fingopay.io/changelog.md): Release notes for endpoint documentation and API contract updates. - [Data conventions](https://docs.fingopay.io/data-conventions.md): Standard formats for amounts, currencies, phone numbers, timestamps, and metadata - [Enterprise Integration Guide](https://docs.fingopay.io/enterprise/aggregators-large-merchants.md): Dedicated shortcodes, sub-merchants, and advanced routing for aggregators and high-volume merchants. - [Environments](https://docs.fingopay.io/environments.md): Sandbox and production environments are controlled by your API key - [Errors](https://docs.fingopay.io/errors.md): Understand error responses, error types, error codes, and how to handle them in your integration - [Introduction](https://docs.fingopay.io/index.md): Accept M-Pesa payments and automate payouts with Fingo Pay's unified payments API - [Transaction object](https://docs.fingopay.io/models/transaction.md): Canonical transaction fields for C2B charges and B2C payouts - [Webhook Events](https://docs.fingopay.io/models/webhook-events.md): Webhook event payloads for transaction.* events across collections and payouts - [Rate limits](https://docs.fingopay.io/rate-limits.md): Default limits, retry guidance, and how to request higher throughput - [TypeScript SDK](https://docs.fingopay.io/sdks/typescript.md): Developer-friendly & type-safe TypeScript SDK for the Fingo Pay REST API - [Webhooks](https://docs.fingopay.io/webhooks.md): Receive asynchronous events, verify signatures, and handle retries ## OpenAPI Specs - [openapi](https://docs.fingopay.io/api-reference/openapi.json) - [out.openapi](https://docs.fingopay.io/fingo-pay-typescript/.speakeasy/out.openapi.yaml)