# Mamo API Documentation Documentation > Build UAE payments with the Mamo API. Guides and REST reference for payment links, subscriptions, payouts and virtual cards. Test in sandbox. ## Guides: Get started - [Overview](https://docs.mamopay.com/docs/welcome.md): An API for every single payment you can think of. Accept payments, automate bank transfers, issue virtual cards and create recurring payments programmatically. ## Guides: What you can do - [Payments](https://docs.mamopay.com/docs/payments-overview.md): Get paid faster, however you sell. - [Subscriptions](https://docs.mamopay.com/docs/subscriptions-overview.md): Recurring revenue, on autopilot. - [Marketplaces](https://docs.mamopay.com/docs/marketplaces-overview.md): Payments. Commissions. Payouts. All-in-one. - [Platform-led marketplace](https://docs.mamopay.com/docs/platform-led-marketplace.md): Route part of each payment to a seller with payouts_share, and see how fees, timing and liability work. - [Seller-led marketplace](https://docs.mamopay.com/docs/seller-led-marketplace.md): Create payment links for sellers who have their own Mamo accounts, and earn a commission on every payment. - [Payouts](https://docs.mamopay.com/docs/payouts-overview.md): Send bank transfers to third parties worldwide. - [Expenses](https://docs.mamopay.com/docs/expenses-overview.md): Expense management that keeps up with your business. - [Corporate cards](https://docs.mamopay.com/docs/cards-overview.md): Cards for your team's business spend: online, in store, anywhere. - [Partner cards](https://docs.mamopay.com/docs/partner-cards-overview.md): Pay vendors and freelancers, without the back and forth. ## Guides: For developers - [Authentication](https://docs.mamopay.com/docs/authentication.md) - [Sandbox testing](https://docs.mamopay.com/docs/sandbox-testing.md) - [Webhook delivery](https://docs.mamopay.com/docs/webhook-delivery.md) - [Build with AI](https://docs.mamopay.com/docs/build-with-ai.md): Use AI tools to write your integration, or to work with your Mamo account. - [Use with AI coding tools](https://docs.mamopay.com/docs/ai-coding-tools.md): Give Claude, Cursor, Copilot or ChatGPT the Mamo docs so the code they write matches the real API. - [What is Mamo MCP?](https://docs.mamopay.com/docs/what-is-mamo-mcp.md): Connect Claude, ChatGPT, or the Gemini CLI to your Mamo account and ask questions in plain English. - [Connecting your AI platform](https://docs.mamopay.com/docs/connecting-your-ai-platform.md): Plug Claude, ChatGPT, or the Gemini CLI into your Mamo account in a couple of minutes. - [Supported MCP tools](https://docs.mamopay.com/docs/supported-mcp-tools.md): What your AI assistant can actually do once it's connected. - [Card on file](https://docs.mamopay.com/docs/card-on-file.md) - [Inline checkout](https://docs.mamopay.com/docs/inline-checkout.md) ## API Reference: Introduction - [Welcome to Mamo](https://docs.mamopay.com/reference/welcome-to-mamo.md): Everything you need to call the Mamo API. - [Quick start](https://docs.mamopay.com/reference/quick-start.md) ## API Reference: Basics - [Errors](https://docs.mamopay.com/reference/errors.md) - [Failure messages](https://docs.mamopay.com/reference/transaction-failure-messages.md): These are the failure messages of payment: - [Idempotency](https://docs.mamopay.com/reference/idempotency.md) - [Pagination](https://docs.mamopay.com/reference/pagination.md) - [Rate limits](https://docs.mamopay.com/reference/rate-limits.md) - [Versioning](https://docs.mamopay.com/reference/versioning.md) ## API Reference: Business - Business Details - [Fetch business info](https://docs.mamopay.com/reference/get_me.md): Returns the business that owns your API key: its `business_name`, its `business_tag` (the slug used in your payment URLs), its `website`, and its `account_status`. `account_status` is one of: -… - [Fetch account balances](https://docs.mamopay.com/reference/get_finances.md): Returns the balances of your business's Mamo accounts as a `wallets` array. Each wallet has an `id`, a `currency`, a numeric `balance` in that currency, and a `type`. Which wallets appear depends on… ## API Reference: Payments - Payment Links - [Create payment link](https://docs.mamopay.com/reference/post_links.md): Creates a hosted payment link you can send to a customer or embed in your site. A link can take a one-off payment, be reused up to its `capacity`, or bill a customer on a schedule when you attach a… - [List payment links](https://docs.mamopay.com/reference/get_links.md): Lists your business's payment links, newest first, with the same fields as [Fetch payment link info](/reference/get_links-linkid). Results are paginated: 10 links per page by default, up to 1000… - [Update payment link](https://docs.mamopay.com/reference/patch_links-linkid.md): Changes the settings of an existing payment link, such as its title, amount, return URLs, capacity, or the checkout options it offers. Send only the fields you want to change. Payments already made… - [Delete payment link](https://docs.mamopay.com/reference/delete_links-linkid.md): Deletes a payment link and deactivates it, so its `payment_url` stops accepting payments. Payments already made on the link are kept and still appear in [List payments](/reference/get_payments).… - [Fetch payment link info](https://docs.mamopay.com/reference/get_links-linkid.md): Returns one payment link by its ID (`MB-LINK-...`), including its settings, `status`, and `payment_url`. Use it to check a link's current state, for example that it's still `active` and hasn't… - Payments - [List payments](https://docs.mamopay.com/reference/get_payments.md): Lists the payments (charges) made to your business, newest first. Narrow the list with: - `start_date` / `end_date`: only payments created in that date range (inclusive, whole days in Gulf Standard… - [Initiate payment](https://docs.mamopay.com/reference/post_payments.md): Charges a customer without them being present, using a card they saved on an earlier payment (a merchant-initiated transaction, or MIT). The same endpoint also completes Apple Pay and Google Pay… - [Fetch payment info](https://docs.mamopay.com/reference/get_payments-paymentid.md): Returns one payment by its charge ID, with its status, amounts, fees, card details, customer details, and any refunds issued against it. This is the authoritative way to confirm a payment's outcome… - [Refund payment](https://docs.mamopay.com/reference/post_payments-paymentid-refunds.md): Refunds a captured payment, in full or in part. Only a `captured` payment can be refunded. Calling this on a payment that was never captured (for example an `authorized` hold, or a `voided` payment)… - [Capture payment](https://docs.mamopay.com/reference/post_payments-paymentid-captures.md): Captures a payment that is on hold, so the money is actually taken from the customer's card. A payment is put on hold when its payment link was created with `hold_and_charge_later: true`. Capture it… - [Reverse payment](https://docs.mamopay.com/reference/post_payments-paymentid-reverses.md): Releases a payment that is on hold, so the customer is never charged and the held funds go back to their card. Releasing a hold, or letting it expire, charges your account the hold reversal fee for… - Invoices - [Create invoice](https://docs.mamopay.com/reference/post_invoices.md): Creates an invoice and emails it to your customer, with a link to pay it online. Provide the `amount`, the customer's `email`, and a `description`; add the customer's name, address, and tax details… - Wallets - [Create Apple Pay token](https://docs.mamopay.com/reference/post_apple-pay-tokens.md): Exchanges an Apple Pay payment token for a single-use token you can charge. When a customer authorises an Apple Pay payment, Apple returns an encrypted `paymentData` payload. Send that payload here… - [Create Google Pay token](https://docs.mamopay.com/reference/post_google-pay-tokens.md): Exchanges a Google Pay payment token for a single-use token you can charge. When a customer authorises a Google Pay payment, Google returns a `tokenizationData.token` payload. Send that payload here… - Marketplace - [Request seller connection](https://docs.mamopay.com/reference/post_marketplace-connections.md): Asks a seller to connect to your marketplace. The seller is an existing Mamo account, identified by the login email of any of its users. Mamo emails every admin on the seller's account a link to… - [List marketplace connections](https://docs.mamopay.com/reference/get_marketplace-connections.md): Lists your marketplace's seller connections, newest first. Use it to see which sellers have accepted, and to get each seller's `seller.identifier`, which you send as `seller_identifier` to [Create… - [Create marketplace payment link](https://docs.mamopay.com/reference/post_marketplace-links.md): Creates a payment link on a connected seller's account, with your marketplace commission attached. The buyer pays the seller and sees the seller's name. Mamo moves your commission from the seller's… - [The payment object](https://docs.mamopay.com/reference/charge-object.md) - [The payment link object](https://docs.mamopay.com/reference/payment-link-object.md) ## API Reference: Subscriptions - Subscriptions - [Create subscription](https://docs.mamopay.com/reference/post_subscriptions.md): Creates a subscription: the billing schedule a payment link follows. You set how often it bills (`frequency` and `frequency_interval`) and when it stops (`end_date` and/or `payment_quantity`; if you… - [Change customer subscription](https://docs.mamopay.com/reference/patch_subscriptions-subscriptionid-subscribers-subscriberid-change-customer-subscription.md): Moves a subscriber from their current subscription to another one, without asking the customer to enter their card again. Send the target subscription's ID as `target_subscription_id`. Mamo charges… - [Fetch subscription payments](https://docs.mamopay.com/reference/get_subscriptions-subscriptionid-payments.md): Returns every payment made on the subscription's payment link, as an array. The list is not paginated. Each item is a [Payment object](/reference/charge-object), the same shape the Payments APIs… - [Fetch subscribers](https://docs.mamopay.com/reference/get_subscriptions-subscriptionid-subscribers.md): Returns the customers subscribed to a subscription, newest first, as an array. The list is not paginated. Each subscriber has an `id` (`MPB-SUBSCRIBER-...`), a `status` (`Active`, `Paused` or… - [Unsubscribe subscriber](https://docs.mamopay.com/reference/delete_subscriptions-subscriptionid-subscribers-subscriberid.md): Stops billing one customer on a subscription. The subscriber's status becomes `Unsubscribed` and no further charges are made to their card. Other subscribers are not affected. Get the subscriber ID… - [Cancel subscription](https://docs.mamopay.com/reference/delete_subscriptions-subscriptionid.md): Ends a subscription for everyone. It deactivates the subscription's payment link, so no one new can subscribe, and unsubscribes every active subscriber, so no further charges are made. Mamo emails… - [The subscription object](https://docs.mamopay.com/reference/subscription-object.md) ## API Reference: Disputes - Disputes - [List disputes](https://docs.mamopay.com/reference/get_disputes.md): Lists the disputes (chargebacks) raised against your business's payments, newest first by the date each dispute was raised. Each item is the disputed [Payment object](/reference/charge-object) with… - [Fetch dispute](https://docs.mamopay.com/reference/get_disputes-paymentid.md): Returns the dispute on one payment, identified by the payment's charge ID. The response is the disputed [Payment object](/reference/charge-object) with the dispute fields added: `dispute_status`,… ## API Reference: Payouts - Payouts - [Create international payout](https://docs.mamopay.com/reference/post_international-payouts.md): Sends a payout from your AED balance to a recipient's bank account outside the UAE. Create the recipient first with [Create recipient](/reference/post_recipients). The recipient's bank country sets… - [Issue payouts](https://docs.mamopay.com/reference/post_payouts.md): Sends one or more AED payouts to UAE bank accounts in a single request. Put each payout in the `disbursements` array with an `amount` and a `reason`. For each payout, either send raw bank details… - [List payouts](https://docs.mamopay.com/reference/get_payouts.md): Returns every payout your business has issued, local and international, as one array. The list is not paginated, and the order is not guaranteed: sort by `created_at` yourself. Each item has the… - [Fetch payout info](https://docs.mamopay.com/reference/get_payouts-payoutid.md): Returns one payout by its ID (`PYT-...`), with the recipient's name and account, the amount and currency, the `reason`, and the current `status`. `status` is `Processing` until the payout settles,… - Recipients - [Create recipient](https://docs.mamopay.com/reference/post_recipients.md): Creates a recipient: a person or business you can pay out to. Use the returned `id` (`REP-...`) as `recipient_id` when you [create a payout](/reference/post_payouts) or split a payment link with… - [List recipients](https://docs.mamopay.com/reference/get_recipients.md): Lists your business's recipients, newest first. Each item has the same fields as [Fetch recipient](/reference/get_recipients-recipientidentifier), including the `bank` and `address` details. Deleted… - [Update recipient](https://docs.mamopay.com/reference/patch_recipients-recipientidentifier.md): Changes the details of an existing recipient, such as their name, email, address, or bank account. Send only the fields you want to change. Inside `bank` and `address`, only the keys you send are… - [Delete recipient](https://docs.mamopay.com/reference/delete_recipients-recipientidentifier.md): Deletes a recipient. After this, it no longer appears in [List recipients](/reference/get_recipients), and fetching, updating, or deleting it returns `404`. Returns `{"success": true}` when the… - [Fetch recipient](https://docs.mamopay.com/reference/get_recipients-recipientidentifier.md): Returns one recipient by its identifier (`REP-...`), including its `bank` and `address` details. `name` is the recipient's full name for an `individual`, or its `business_name` for a `business`.… - [Fetch recipient balance](https://docs.mamopay.com/reference/get_recipients-recipientidentifier-balances.md): Returns the real-time balance of a recipient's ledger: the money you've routed to them through split payments that hasn't been paid out yet. The response has the ledger's `identifier`, its `balance`,… - [Validate IBAN](https://docs.mamopay.com/reference/get_iban-validate.md): Checks an IBAN and, when it's valid, returns its country, BIC code, and bank name. Use it to verify a recipient's bank details before you [create the recipient](/reference/post_recipients). Spaces… - [The payout object](https://docs.mamopay.com/reference/payout-object.md) ## API Reference: Expenses - Expenses - [List expense categories](https://docs.mamopay.com/reference/listexpensecategories.md): Lists your business's expense categories in alphabetical order. Use a category's `identifier` as `category_identifier` in [Update expense transaction](/reference/updateexpensetransaction). Filter by… - [Search expense transactions](https://docs.mamopay.com/reference/searchexpensetransactions.md): Searches your business's expense transactions: successful card transactions you can attach expense details to. Results are newest first. Send the search in the request body. Use `filters.start_date`… - [Fetch expense transaction details](https://docs.mamopay.com/reference/getexpensetransaction.md): Returns one expense transaction with its amounts, card, merchant, and full expense details: category, description, invoice number, accounting status, accounting fields (vendor, tax rate, payment… - [Update expense transaction](https://docs.mamopay.com/reference/updateexpensetransaction.md): Updates the expense details of a transaction. The `identifier` can be the card transaction ID (`CTX-...`) or its expense ID (`EXP-...`). Send only the fields you want to change. Get valid IDs for… - [List accounting vendors](https://docs.mamopay.com/reference/listaccountingvendors.md): Lists the active vendors synced from your accounting integration, sorted by name. Use a vendor's `id` as `vendor_identifier` in [Update expense transaction](/reference/updateexpensetransaction).… - [List accounting tax rates](https://docs.mamopay.com/reference/listaccountingtaxrates.md): Lists the active tax rates synced from your accounting integration, sorted by name, with each rate's percentage. Use a tax rate's `id` as `tax_rate_identifier` in [Update expense… - [List accounting expense accounts](https://docs.mamopay.com/reference/listaccountingexpenseaccounts.md): Lists the active expense accounts synced from your accounting integration, sorted by name, with each account's `code`. Use an account's `id` as `expense_account_identifier` in [Update expense… - [List accounting payment accounts](https://docs.mamopay.com/reference/listaccountingpaymentaccounts.md): Lists the active payment accounts synced from your accounting integration, sorted by name, with each account's `currency`. Use an account's `id` as `payment_account_identifier` in [Update expense… - [Upload expense receipts](https://docs.mamopay.com/reference/uploadexpensereceipts.md): Uploads receipt files to a transaction's expense. Send them as `multipart/form-data` in the `files` field. The `identifier` can be the card transaction ID (`CTX-...`) or its expense ID (`EXP-...`).… - [Delete expense receipt](https://docs.mamopay.com/reference/deleteexpensereceipt.md): Deletes one receipt from a transaction's expense. The `identifier` can be the card transaction ID (`CTX-...`) or its expense ID (`EXP-...`). `receipt_id` is the receipt's `id` from [Fetch expense… - [Update expense](https://docs.mamopay.com/reference/patch_expenses-expenseid.md): Updates an expense by its ID (`EXP-...`). You can set its `description`, `invoice_number`, `status`, `vat_amount`, category, and accounting fields (tax rate, vendor, payment account, expense… - Transactions - [List card transactions](https://docs.mamopay.com/reference/get_cards-transactions.md): Lists the transactions made with your business's cards, newest first. Each transaction includes its `kind`, `status`, amount and billing amount with currencies, the merchant name, the card used, and… - [Fetch transaction details](https://docs.mamopay.com/reference/get_cards-transactions-transactionid.md): Returns one card transaction by its ID (`CTX-...`), with its `kind`, `status`, amount and billing amount with currencies, the merchant name, the card used, and the linked expense, if any. Returns… - Receipts - [List expense receipts](https://docs.mamopay.com/reference/get_expenses-receipts.md): Lists your business's expenses that have at least one receipt uploaded. Each item gives the `expense_id`, the card `transaction_id` it belongs to, and `receipt_files`: a relative download path for… - [Fetch expense receipt details](https://docs.mamopay.com/reference/get_expenses-receipts-identifier.md): Returns the receipts for one expense by its ID (`EXP-...`): the `expense_id`, the card `transaction_id` it belongs to, and `receipt_files`, a relative download path for each receipt. Returns `404`… - [The transaction object](https://docs.mamopay.com/reference/transaction-object.md) - [The expense object](https://docs.mamopay.com/reference/expense-object.md) ## API Reference: Webhooks - Webhooks - [Create webhook](https://docs.mamopay.com/reference/post_webhooks.md): Registers a URL to receive webhook events, such as payment, subscription, payout, and dispute updates. Pick the events in `enabled_events`; the table on that field lists every event and its payload.… - [List webhooks](https://docs.mamopay.com/reference/get_webhooks.md): Lists every webhook registered on your business, with its `id`, `url`, `enabled_events`, and `auth_header`. The list is not paginated. The `signing_secret` is never included here; it's returned only… - [Update webhook](https://docs.mamopay.com/reference/patch_webhooks-webhookid.md): Changes an existing webhook's `url`, `enabled_events`, or `auth_header`. Send only the fields you want to change. > 🚧 `enabled_events` replaces the list > > The events you send replace the webhook's… - [Delete webhook](https://docs.mamopay.com/reference/delete_webhooks-webhookid.md): Deletes a registered webhook. Mamo stops sending events to its URL. Returns `{"success": true}` when the webhook is deleted. An unknown webhook ID returns `404` with `error_code` `NOT FOUND` (with a… - [Webhook events](https://docs.mamopay.com/reference/webhook-events.md) ## API Reference: Cards - Cards - [Create partner card](https://docs.mamopay.com/reference/createpartnercard.md): Issues a virtual partner card to one of your business's users, with a spending limit you set. Use it to give a partner or supplier a card for a single booking or a fixed budget. Send the card… - [List partner cards](https://docs.mamopay.com/reference/listpartnercards.md): Lists the partner cards issued by your business, newest first, with each card's status, limit (`amount`), spend so far (`total_spend`), and card holder. Results are paginated: 10 cards per page by… - [Fetch partner card details](https://docs.mamopay.com/reference/getpartnercard.md): Returns one partner card by its ID (`CRD-...`), with its status, last 4 digits, expiry date, limit (`amount`), spend so far (`total_spend`), and card holder. Returns `404` if no partner card with… - [Update partner card](https://docs.mamopay.com/reference/updatepartnercard.md): Changes the spending limit of an active partner card. Send the new limit as `amount`. The difference between the old and new limit moves between your Debit card account and the card: raising the… - [Cancel partner card](https://docs.mamopay.com/reference/cancelpartnercard.md): Cancels an active partner card. Any unspent part of the card's limit is returned to your Debit card account, then the card is terminated and can't be used again. Returns `{"success": true}` when the… - [List partner card transactions](https://docs.mamopay.com/reference/listpartnercardtransactions.md): Lists the transactions made with one partner card, newest first. Each transaction includes its `kind`, `status`, amount and billing amount with currencies, the merchant name, and any linked expense.… - [Fetch partner card transaction details](https://docs.mamopay.com/reference/getpartnercardtransaction.md): Returns one transaction made with a partner card, using the card ID and the transaction ID (`CTX-...`). The response includes the transaction's `kind`, `status` (`success`, `reversed`, `declined`,… - [Create virtual corporate card](https://docs.mamopay.com/reference/createvcccard.md): Issues a virtual card (VCC) to one of your business's users, with a spending limit you set. Send the user's `email` and the card's `amount` limit. The user must already exist on your business and… - [Reveal virtual corporate card details](https://docs.mamopay.com/reference/revealvcccard.md): Returns the sensitive details of a virtual card: the card number (`pan`) and `cvv`, along with the card holder name and expiry date. Send the card's `session_id` to authorise the reveal. If the… - [List cards](https://docs.mamopay.com/reference/listcards.md): Lists your business's cards, sorted by card name. Partner and virtual (VCC) cards aren't included; use [List partner cards](/reference/listpartnercards) for those. Narrow the list with: - `search`:… - [Authorize card payment](https://docs.mamopay.com/reference/authorizecardpayment.md): Charges the saved customer card linked to the card's active reroute. Once the charge is captured, Mamo queues a top-up of your Debit card account from your Payments balance for the same amount,… - [Create card reroute](https://docs.mamopay.com/reference/createcardreroute.md): Routes a card's payments to one of your customers' saved cards. Send the saved card's ID as `saved_card_id`; this is the same ID you pass as `card_id` to [Initiate payment](/reference/post_payments).… ## Use cases - [Accept a payment and confirm it with a webhook](https://docs.mamopay.com/recipes/accept-a-payment-and-confirm-it-with-a-webhook.md) - [Add Apple Pay and Google Pay](https://docs.mamopay.com/recipes/add-apple-pay-and-google-pay.md) - [Bill a customer every month](https://docs.mamopay.com/recipes/bill-a-customer-every-month.md) - [Get sandbox access and make your first test payment](https://docs.mamopay.com/recipes/get-sandbox-access-and-make-your-first-test-payment.md) - [Hold a payment, capture it later, and refund](https://docs.mamopay.com/recipes/hold-a-payment-capture-it-later-and-refund.md) - [Run a marketplace: collect, hold, split and pay sellers](https://docs.mamopay.com/recipes/run-a-marketplace-collect-hold-split-and-pay-sellers.md) ## Changelog - [Seller-led marketplace: list connections and create payment links for sellers](https://docs.mamopay.com/changelog/seller-led-marketplace.md) - [Signed webhook deliveries](https://docs.mamopay.com/changelog/signed-webhook-deliveries-mamo-signature.md) - [Idempotency keys on all write endpoints](https://docs.mamopay.com/changelog/idempotency-key-on-all-write-endpoints.md) - [Payout shares on merchant initiated payments](https://docs.mamopay.com/changelog/payout-shares-on-merchant-initiated-payments.md) - [Recipient nationality and date of birth](https://docs.mamopay.com/changelog/recipient-nationality-and-date-of-birth.md) - [Recipient balances](https://docs.mamopay.com/changelog/recipient-balances.md) - [Charge webhook events renamed to payment events](https://docs.mamopay.com/changelog/charge-webhook-events-renamed-to-payment.md) - [Recipients moved to an unscoped path](https://docs.mamopay.com/changelog/recipients-moved-to-an-unscoped-path.md) - ["Transactions" renamed to "Payments"](https://docs.mamopay.com/changelog/transactions-renamed-to-payments.md) - [Renamed charges to payments, disbursements to payouts](https://docs.mamopay.com/changelog/renamed-charges-to-payments-disbursements-to-payouts.md)