MCP App Store
by KeenEthics
Finance
Airwallex icon

Airwallex

by Airwallex (Singapore) Pte. Ltd.

Overview

Bring Airwallex's global financial infrastructure to ChatGPT. Orchestrate actions across your account in plain language, including the ability to set up invoices from a PO, onboard suppliers from invoices, check current cash position across currencies, and more. Seamlessly build and debug your integration by connecting Airwallex's documentation to ChatGPT, allowing ChatGPT to implement integration best practices.

Tools

activate_card

ChatGPT
Activate a physical card for card payment authorizations. Virtual cards are always activated upon creation. Use this endpoint to activate a physical card created with create_card so it can be used for transactions.

add_billing_invoice_line_items

ChatGPT
Add line items to a draft invoice. Only possible when the invoice status is DRAFT. You can add up to 100 line items at a time. Each line item requires either price_id (an existing Price, typically pri_) or an inline price object. Use price_id only when the user references an existing Price ID. When the user gives a Product ID (prd_) with amount or pricing model, use inline price with product_id inside price — never put a product ID in price_id. EXAMPLES: • Existing price: line_items=[{price_id: "pri_xxx", quantity: 1}] • Inline per-unit price for a product: line_items=[{price: {product_id: "prd_xxx", pricing_model: "PER_UNIT", unit_amount: 25}, quantity: 100}]

create_beneficiary

ChatGPT
Create a new beneficiary (payee) for outbound transfers. A beneficiary holds the banking details of the recipient. You must first call get_beneficiary_schema to discover the required fields for the target country/currency/method combination. Set dry_run=true to validate the payload without creating the beneficiary.

create_billing_coupon

ChatGPT
Create a new coupon template that can be redeemed in purchases. When discount_model is FLAT, provide both amount_off and currency. When discount_model is PERCENTAGE, provide percentage_off (0 to 100). When duration_type is CUSTOM, provide duration with period and period_unit. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents. EXAMPLES: • $10 off first charge: request_id="req_001", name="$10 off", discount_model="FLAT", duration_type="ONCE", amount_off=10.00, currency="USD" • 20% off ongoing: request_id="req_002", name="20% off", discount_model="PERCENTAGE", duration_type="INDEFINITELY", percentage_off=20.0 • 15% for 3 billing cycles: request_id="req_003", name="3-month promo", discount_model="PERCENTAGE", duration_type="CUSTOM", percentage_off=15.0, duration={period: 3, period_unit: "MONTH"} • Redeem-by date: request_id="req_004", name="Q1 promo", discount_model="PERCENTAGE", duration_type="ONCE", percentage_off=15.0, expires_at="2026-03-31T23:59:59Z" • Apply on subscription: create_billing_subscription(..., discounts=[{coupon: {id: "<coupon id>"}, type: "COUPON"}]) • Apply on invoice: create_billing_invoice(..., discounts=[{coupon: {id: "<coupon id>"}, type: "COUPON"}]) • Apply at checkout: create_billing_checkout(..., discounts=[{coupon: {id: "<coupon id>"}, type: "COUPON"}]) • Manage existing: list_billing_coupons; update_billing_coupon to deactivate or change expires_at

create_billing_customer

ChatGPT
Create a billing customer. A Billing Customer is an individual or business who purchases or subscribes to your products or services. Billing Customers are separate from Payment Acceptance customers and store customer data for billing purposes.

create_billing_invoice

ChatGPT
Create a one-off invoice. The invoice is created in DRAFT status. Add line items via the add_billing_invoice_line_items tool, then finalize via the finalize_billing_invoice tool to issue it.

create_billing_meter

ChatGPT
Create a new billing meter. A Meter defines how to aggregate Usage Events over a billing period to determine how much a customer should be billed. Usage Events must use the same event_name. For SUM, MAX, and LAST, set aggregation_property to the event property to aggregate. EXAMPLES: • API call volume: request_id="req_001", name="API calls", event_name="api_call", aggregation_method="COUNT" • Token usage: request_id="req_002", name="Token usage", event_name="llm_call", aggregation_method="SUM", aggregation_property="tokens" • Peak usage: request_id="req_003", name="Peak bandwidth", event_name="bandwidth_usage", aggregation_method="MAX", aggregation_property="gb_transferred" • Metered billing: use returned meter id with create_billing_price (metered=true, meter_id=<meter id>)

create_billing_price

ChatGPT
Create a new price for a billing product. To modify a price, use update_billing_price. Prices belong to a product - use create_billing_product to create a product first. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents. EXAMPLES: • Ecommerce product: pricing_model=PER_UNIT, unit_amount=10.00 • Monthly subscription: pricing_model=FLAT, flat_amount=29.99, recurring={period: 1, period_unit: "MONTH"} • Bi-weekly: pricing_model=PER_UNIT, unit_amount=5.00, recurring={period: 2, period_unit: "WEEK"} • Yearly: pricing_model=FLAT, flat_amount=299.00, recurring={period: 1, period_unit: "YEAR"}

create_billing_product

ChatGPT
Create a new billing product. A Product represents the goods or services you sell. Attach Prices (create_billing_price) for amount, currency, and billing configuration. EXAMPLES: • SaaS plan: request_id="req_001", name="Pro Plan", description="Monthly subscription tier", unit="seat" • Usage SKU: request_id="req_002", name="API usage", unit="call", metadata={"tier": "standard"} • Add pricing: create_billing_price(..., product_id="<product id from response>")

create_billing_subscription

ChatGPT
Create a billing subscription. Requires a Billing Customer (create_billing_customer) and a Price (create_billing_price). Creates a new Subscription for an existing Billing Customer to charge on a recurring basis. EXAMPLES: • Monthly auto-charge: collection_method=AUTO_CHARGE, items=[{price_id: "pri_xxx"}], payment_source_id=ps_xxx • Checkout collection: collection_method=CHARGE_ON_CHECKOUT, items=[{price_id: "pri_xxx"}], linked_payment_account_id=acct_xxx • With trial: collection_method=AUTO_CHARGE, items=[{price_id: "pri_xxx"}], payment_source_id=ps_xxx, trial_ends_at=2025-02-01T00:00:00Z

create_card

ChatGPT
Create a virtual or physical card associated with a cardholder. Requires a cardholder - use create_cardholder to create a cardholder first. Requires authorization controls including a spending limit. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents.

create_cardholder

ChatGPT
Create a new cardholder for issuing. Cardholders are authorized representatives of your business who can be assigned cards. INDIVIDUAL: Associated with a named person. Can hold personalized or non-personalized cards. Requires: individual object with name, date_of_birth, address, and express_consent_obtained. DELEGATE: Acts as an authorized user. Can only hold non-personalized cards (e.g. virtual card for company spending). Only requires: email. Defaults to DELEGATE when cardholder_type is omitted. All cardholder PII (email, name, date_of_birth, addresses, mobile_number) must come from the user. Do not fabricate or use placeholder values. Omit fields the user has not provided. EXAMPLES: • DELEGATE team spender: cardholder_type="DELEGATE", email=<user-provided> • INDIVIDUAL employee: cardholder_type="INDIVIDUAL", email=<user-provided>, individual={<user-provided name, date_of_birth, address>, express_consent_obtained: "yes"} • Physical card delivery: cardholder_type="INDIVIDUAL", email=<user-provided>, individual={<user-provided>}, postal_address=<user-provided> • Then issue card: use returned cardholder_id with create_card

delete_billing_invoice_line_items

ChatGPT
Delete one or more line items from a draft invoice. Only possible when the invoice status is DRAFT. Up to 100 line items can be deleted per call; the bulk operation is atomic — either all deletions succeed or none are applied.

finalize_billing_invoice

ChatGPT
Finalize a draft invoice. Once finalized, the invoice status changes from DRAFT to FINALIZED and it is issued for payment. This action cannot be undone — use void_billing_invoice to cancel a finalized invoice.

get_account_balances

ChatGPT
Retrieve balances for all currencies. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents.

get_account_details

ChatGPT
Retrieve BUSINESS information for the authenticated Airwallex account. Use this tool only to look up business account details: it returns the account's identifiers, status, and metadata, the business details (business name, address, identifiers, operating countries, URLs, state of incorporation), and the associated business persons (name, nationality, roles). It does not return individual-account details.

get_beneficiary_schema

ChatGPT
Get the required and optional fields for creating a beneficiary. Returns the field schema for a given country, currency, entity_type, and transfer method combination. Always call this before create_beneficiary to discover what bank details and other fields are required.

get_fx_rate

ChatGPT
Get a current foreign exchange rate for a currency pair. Provide either buy_amount or sell_amount, but not both. If neither is provided, buy_amount defaults to 100. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents.

list_balance_history

ChatGPT
Get balance history for an account. Each record is a change to the balance. Filter with from_post_at (inclusive) and to_post_at (exclusive). Date-range cap: each call must span at most 7 days (to_post_at − from_post_at ≤ 7 days). Exceeding this returns a 400 error. For multi-week requests, split into consecutive <=7-day windows and make one call per window — e.g. 3 months requires ~13 separate calls of 7 days each. Prefer a clean end like T00:00:00Z over T23:59:59Z. Paginate within a window via page_num or the page_after / page_before cursor.

list_beneficiaries

ChatGPT
List beneficiaries with optional filters. Default page size is 100.

list_billing_coupons

ChatGPT
List billing coupons.

list_billing_customers

ChatGPT
List billing customers.

list_billing_invoice_line_items

ChatGPT
List line items for an invoice.

list_billing_invoices

ChatGPT
List invoices.

list_billing_meters

ChatGPT
List billing meters. A Meter defines how to aggregate Usage Events over a billing period to determine how much a customer should be billed.

list_billing_payment_sources

ChatGPT
List billing payment sources. A Payment Source represents a Billing Customer's saved funding instrument that can be used to pay invoices or drive subscriptions. Payment Sources are an opaque abstraction over the underlying payment provider Payment Method — responses contain only tokenised IDs (id, billing_customer_id, external_id, linked_payment_account_id) plus metadata and timestamps. No card data (PAN, last4, expiry, brand, cardholder name) is exposed by this endpoint.

list_billing_prices

ChatGPT
List billing prices.

list_billing_products

ChatGPT
List billing products.

list_billing_subscription_items

ChatGPT
List subscription items for a given subscription created with create_billing_subscription.

list_billing_transactions

ChatGPT
List billing transactions for a given invoice. Returns payment and refund transactions associated with the specified invoice.

list_cardholders

ChatGPT
List all cardholders with optional filters.

list_cards

ChatGPT
List issued cards with optional filters. Defaults to a 30-day period unless both from_created_at and to_created_at are populated.

list_fx_conversion_amendments

ChatGPT
Retrieve all amendments associated with a conversion ID. Currently only full cancellations are supported, so a conversion will only have up to 1 associated amendment.

list_fx_conversions

ChatGPT
List FX conversions (scheduled, settled, overdue, or cancelled currency conversions). If neither from_created_at nor to_created_at is specified, results for the last 31 days are returned.

list_global_account_transactions

ChatGPT
List inbound transactions (funds received via bank transfer) for a specific Global Account. Date-range cap: each call must span at most 31 days (to_created_at − from_created_at ≤ 31 days). Exceeding this returns 400 time_range_exceed. Note: 31 days is not the same as one calendar month — calendar months have 28–31 days and a T23:59:59Z end will push a 31-day month over the cap. For multi-month requests, split into consecutive <=31-day windows and make one call per window — e.g. a 6-month period requires ~6 separate calls of 31 days each. A Global Account is a multi-currency receiving account that provides local bank details (e.g. IBAN, BSB, routing number) for receiving inbound bank transfers and authorizing direct debit payouts — not the customer's Airwallex account. Use list_global_accounts to find the global_account_id.

list_global_accounts

ChatGPT
List the customer's Global Accounts. A Global Account is a multi-currency receiving account that provides local bank details (e.g. IBAN, BSB, routing number) for receiving inbound bank transfers and authorizing direct debit payouts — not the customer's Airwallex account. To check wallet balances across currencies, use get_account_balances instead.

list_issuing_transactions

ChatGPT
List card transactions associated with an account or for a specific card. IMPORTANT: If the customer uses the Airwallex Spend product and wants to see their card expenses, prefer list_spend_card_expenses over this tool. If you are unsure whether the customer uses the Spend product, ask them before choosing between this tool and list_spend_card_expenses. Each card transaction includes its status, fund direction, merchant details, and aggregated billing amounts. Use lifecycle_id to retrieve all card transactions within a specific lifecycle, or status to filter by transaction status.

list_payment_intents

ChatGPT
List PaymentIntents. If no results are returned, it means no payments have been initiated yet. Should advise the user to create a PaymentIntent first via their application before using this tool. Unless the user has explicitly asked for create payment intent via API, do not suggest for native integration.

list_refunds

ChatGPT
List refunds. Supports filtering by PaymentIntent/PaymentAttempt, status, currency, and a created_at time range.

list_spend_bills

ChatGPT
List spend bills (accounts payable obligations). If from_created_at is not specified, defaults to last 30 days from to_created_at. If to_created_at is not specified, defaults to now. The line_items array is replaced by line_items_count by default.

list_spend_card_expenses

ChatGPT
List expenses related to issued corporate card transactions. IMPORTANT: If the customer uses the Airwallex Spend product, prefer this tool over list_issuing_transactions when they want to see their card expenses. If you are unsure whether the customer uses the Spend product, ask them before choosing between this tool and list_issuing_transactions. The approvers and line_items arrays are replaced by approvers_count and line_items_count by default.

list_spend_vendors

ChatGPT
List spend vendors (accounts payable / purchase order vendor records). If from_created_at is not specified, defaults to last 30 days from to_created_at. If to_created_at is not specified, defaults to now.

list_transfers

ChatGPT
List transfers with optional filters. If neither from_created_at nor to_created_at is given, the last 30 days are returned. Max range is 30 days: (to_created_at - from_created_at) must be at most 30 days, else the API returns 400 time_range_exceed. A full calendar month can exceed it (31-day months, or a T23:59:59Z end). Split longer periods into consecutive <=30-day windows (one call each); don't retry an over-long window.

mark_billing_invoice_as_paid

ChatGPT
Mark a finalized invoice as paid out-of-band. Use this for invoices that the customer has already paid through a channel outside Airwallex (e.g. bank transfer, cash, check). After this call, the invoice's payment_status moves to PAID and paid_out_of_band is set to true. The invoice itself remains FINALIZED.

retrieve_billing_customer

ChatGPT
Retrieve a billing customer by ID.

retrieve_billing_invoice

ChatGPT
Retrieve an invoice by ID.

retrieve_billing_transaction

ChatGPT
Retrieve a billing transaction by ID.

retrieve_card

ChatGPT
Retrieve the full details of a single issued card by ID. Returns all card attributes including status, authorization controls, cardholder association, brand, masked card number, and delivery details.

retrieve_card_limits

ChatGPT
Retrieve the spending limits for an issued card. Returns the remaining vs total spend limits for the card, broken down by interval (per-transaction, daily, weekly, monthly, all-time). To modify limits, use update_card.

retrieve_spend_bill

ChatGPT
Retrieve the details of a single spend bill (accounts payable obligation) by ID.

retrieve_spend_vendor

ChatGPT
Retrieve the details of a single spend vendor (accounts payable / purchase order vendor record) by ID.

search_public_docs

ChatGPT
Retrieve relevant sections from the official Airwallex documentation matching the user's question. NOTE: The required parameters is QUESTION instead of query. USAGE STRATEGY: DO: For API endpoints referenced, always remember to explicitly check how to perform API authentication DO: For SDK methods referenced, always remember to explicitly check how to initialize the SDK QUERY REWRITE: DO: Rewrite the user's text into one natural, concise, straightforward English question before calling, with a clear intent (what is, how to, or why) DO: Keep the substance of the user's query; do not drop topics, identifiers, or constraints they mentioned DON'T: Split by default — use one call unless the query has clearly different topics that one question cannot cover. Do not split related keywords on the same topic, tightly coupled parts, or near-duplicate phrasings of the same intent DO: Rewrite unstructured keyword pastes that are not real questions (no "?", does not start with How/What/...) into natural English questions. When keywords span different topics, rewrite into one question per topic and use multiple calls. Example: "Airwallex.js getting started, installation, hosted payment page, drop-in element, embedded elements, card element list of all payment elements" → "How do I get started with and install Airwallex.js for a hosted payment page or drop-in element?" and "What are all the available embedded payment elements in Airwallex.js, including the card element?". DO: Use separate calls for multi-part asks (two "?", or "... and ..." linking separate questions) — one question per ask. Example: "Does the Create PaymentConsent API support a metadata field? Can metadata be set on a payment consent created via the drop-in element in recurring mode?" → two calls LANGUAGE REQUIREMENT: • DO: Always submit the question parameter in English • DO: If the user asks in another language, translate their question to English before calling this tool • DON'T: Pass non-English text in the question parameter PRIVACY & SECURITY REQUIREMENTS: • DON'T: Include PII (Personally Identifiable Information) in questions • DON'T: Include account IDs, user IDs, email addresses, or customer data • DON'T: Include API keys, tokens, or credentials • DON'T: Include transaction IDs, payment references, or financial data • DO: Use generic examples like 'how to process payments' instead of specific account details • DO: Focus on technical concepts, API endpoints, and implementation patterns • DO: API version information is permitted as an exception (e.g., '2023-09-30')

submit_tool_feedback

ChatGPT
Submit feedback about an MCP tool issue or suggestion. Use this to report problems you encounter while using tools, such as: - A tool not working as expected (bug) - Confusing parameters or description (usability) - A capability you wish existed (missing_feature) - A tool being too slow (performance) - Anything else (other) Proactively report missing, unclear, outdated, or incorrect Airwallex documentation, including when a user complains about or reports an issue with it, using category other; include the page URL or title when available. Do NOT submit duplicate feedback. If you have already reported an issue about a specific tool in this session, do not report the same issue again.

update_billing_coupon

ChatGPT
Update an existing coupon. Before the coupon's first redemption, all fields can be adjusted. After redemption, only non-billing fields (name, description, expires_at, metadata, active) can be updated to maintain contractual integrity. Billing fields (amount_off, currency, discount_model, duration, duration_type, percentage_off) are locked once the coupon has been redeemed. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents.

update_billing_customer

ChatGPT
Update an existing billing customer.

update_billing_invoice

ChatGPT
Update a draft invoice. Only fields provided in the request are updated; omitted fields are left unchanged. Array fields (e.g. discounts) are fully replaced when included. Only invoices in DRAFT status can be updated — finalize, void, or paid invoices reject the request.

update_billing_invoice_line_items

ChatGPT
Update one or more line items on a draft invoice. Only possible when the invoice status is DRAFT. Up to 100 line items can be updated per call; the bulk operation is atomic — either all updates succeed or none are applied. Each item is identified by its line-item id. Provided fields (quantity, metadata, discounts) are applied; omitted fields are left untouched. The discounts array, when provided, fully replaces any existing line-item discounts.

update_billing_meter

ChatGPT
Update an existing billing meter. Only name, description, and metadata can be updated. To change the aggregation_method, aggregation_property, or event_name of a meter, archive it and create a new one.

update_card

ChatGPT
Update an existing issued card. Updates card details by setting the values of the included parameters. Parameters that are not included will be left unchanged. Can update status, nickname, authorization controls, limits, metadata, and more. All amounts are in major currency units (e.g. 10.00 for ten dollars), not in minor units such as cents.

update_cardholder

ChatGPT
Update an existing cardholder. Updates a cardholder by setting the values of the included parameters. Parameters that are not included will be left unchanged. If a composite object (e.g. individual.name) is provided, all of its required child fields must be provided and valid. Updating the cardholder may re-trigger the name screening process.

verify_beneficiary_account

ChatGPT
Submit beneficiary account details to verify the account exists and (where supported) check name matching. Use this before creating a transfer to mitigate fraud and prevent failures. Returns one of: VERIFIED (valid account, name match not guaranteed), INVALID (account does not exist), CANNOT_VERIFY (external restrictions), EXTERNAL_SERVICE_UNAVAILABLE (try again later).

void_billing_invoice

ChatGPT
Void a finalized invoice. Cancels a finalized invoice that should no longer be collected. The invoice's status moves to VOIDED. This action cannot be undone — voided invoices remain on the customer's record but are excluded from collection.

activate_card

Claude

add_billing_invoice_line_items

Claude

create_beneficiary

Claude

create_billing_coupon

Claude

create_billing_customer

Claude

create_billing_invoice

Claude

create_billing_meter

Claude

create_billing_price

Claude

create_billing_product

Claude

create_billing_subscription

Claude

create_card

Claude

create_cardholder

Claude

delete_billing_invoice_line_items

Claude

finalize_billing_invoice

Claude

get_account_balances

Claude

get_account_details

Claude

get_beneficiary_schema

Claude

get_fx_rate

Claude

list_balance_history

Claude

list_beneficiaries

Claude

list_billing_coupons

Claude

list_billing_customers

Claude

list_billing_invoice_line_items

Claude

list_billing_invoices

Claude

list_billing_meters

Claude

list_billing_payment_sources

Claude

list_billing_prices

Claude

list_billing_products

Claude

list_billing_subscription_items

Claude

list_billing_transactions

Claude

list_cardholders

Claude

list_cards

Claude

list_fx_conversion_amendments

Claude

list_fx_conversions

Claude

list_global_account_transactions

Claude

list_global_accounts

Claude

list_issuing_transactions

Claude

list_payment_intents

Claude

list_refunds

Claude

list_spend_bills

Claude

list_spend_card_expenses

Claude

list_spend_vendors

Claude

list_transfers

Claude

mark_billing_invoice_as_paid

Claude

retrieve_billing_customer

Claude

retrieve_billing_invoice

Claude

retrieve_billing_transaction

Claude

retrieve_card

Claude

retrieve_card_limits

Claude

retrieve_spend_bill

Claude

retrieve_spend_vendor

Claude

search_public_docs

Claude

submit_tool_feedback

Claude

update_billing_coupon

Claude

update_billing_customer

Claude

update_billing_invoice

Claude

update_billing_invoice_line_items

Claude

update_billing_meter

Claude

update_card

Claude

update_cardholder

Claude

verify_beneficiary_account

Claude

void_billing_invoice

Claude

Capabilities

Writes

App Stats

128

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily