Skip to main content

Onward MCP tools reference

Every action your AI assistant can take through the Onward MCP, what it needs, and whether it reads or changes data.

Your assistant picks tools automatically from your request, so you do not need to name them; you can name one when you want to be specific, such as “use list_claims.” Tools marked Write change data; everything else only looks it up. Name a shop in your request, or ask for list_shops when you need a shop ID.


Shops and settings

  • list_shops (Read) — Lists every shop you can access. You can search by shop name or domain and limit the number of results.

  • get_shop_settings (Read) — Shows about 100 shop configuration options across billing, widgets, shipping, returns, claims, and more. Needs shop_id.

  • update_shop_settings (Write) — Changes only the shop settings you provide and leaves other settings unchanged. Needs shop_id and a settings object.


Orders

  • list_orders (Read) — Lists and searches orders by order details, customer details, or tracking numbers. You can filter by date, insurance status (insured or uninsured), refund status (refunded or not_refunded), return status (returned, return_in_progress, or not_returned), editing status (edited or not_edited), protection source (customer, merchant, or merchant_auto), and order type (checkout or recurring).

  • get_order (Read) — Shows an order’s financial and fulfillment status, line items, protection, customer, addresses, shipments, claims, returns, and refunds. Needs id.

  • protect_order (Write · requires Checkout+) — Adds merchant-funded Checkout+ protection to an eligible order that was not protected at checkout. Needs id.

  • get_attach_rate (Read · requires Checkout+) — Shows a shop’s Attach Rate for a date range: the percentage of orders shown the Checkout+ offer at checkout that added protection, with the protected and unprotected order counts behind it. No rate means the range had no eligible orders, which is common for shops that send orders by API. Dates are U.S. Central time and default to the last 30 days. Needs shop_id; start_date and end_date are optional.


Customers

  • list_customers (Read) — Lists and searches customers by name, email, or your shop’s customer ID. You can narrow results by shop and use cursor pagination.

  • get_customer (Read) — Shows a customer’s contact information, fraud and redaction status, default address, orders, CashBack balance, claims, returns, and customer score. Needs id.

  • set_customer_fraudulent (Write) — Flags or unflags a customer as fraudulent, independent of any automated fraud check. A flagged customer cannot submit new return requests. Needs id and fraudulent.


Package protection claims (Checkout+)

These tools require Checkout+ to be enabled on the shop.

  • list_claims (Read) — Lists and searches package protection claims by claim key, order, or customer. You can filter by claim status (in_progress, unqualified, on_hold, pending_merchant_action, resolved, or denied), status reason, cause (stuck_in_transit, damaged, stolen, missing, wrong_item, not_satisfied, returned, chargeback, or late_delivery), and creation date.

  • get_claim (Read) — Shows a package protection claim’s cause, status, amounts, line items, order, customer, and conversation. Needs id.

  • prepare_claim_for_order (Read) — Checks whether a package protection claim can be filed on an order on the customer’s behalf and shows the options for filing one: the order’s claimable items and how many units of each a claim can still cover, the causes available for the order, and your shop’s resolution preferences. It does not create anything. If the order isn’t eligible for a claim, the response lists the reasons. Needs id (the order).

  • submit_claim_for_order (Write) — Files a package protection claim on an order on the customer’s behalf, with the same eligibility checks as a claim filed from the order in the dashboard, and starts claim processing. Needs id (the order), cause and resolution_preference (keys from prepare_claim_for_order), and line_items (each with a quantity); a chargeback claim on an order with no items left to claim can omit line_items and covers every item. cause_details is optional. The claim uses the order’s shipping address and customer details unless you provide others. The customer is emailed a claim confirmation only when send_email_confirmation is set, and never for a chargeback claim. If the order’s tracking is still being refreshed, the claim may be withdrawn shortly afterward when tracking places the order outside the claim window.

  • set_claim_resolution_preference (Write) — Sets how a claim will be resolved once approved: reorder, refund, store_credit, reimbursement (chargeback claims only), or refund_shipping (late-delivery claims only). Only allowed while the claim is in progress or on hold. Needs id and resolution_preference.

  • complete_merchant_claim_resolution (Write) — Records the refund, reorder, or store credit you already issued in your own system for a claim that is pending merchant action, resolves the claim, and notifies the customer. Needs id plus the details for the claim’s status reason: refund_id and refund_amount when awaiting a refund; shop_order_id and shop_order_number when awaiting a reorder; or store_credit_id, initial_value, and balance when awaiting store credit (note is optional).


CashBack rewards

These tools require CashBack to be enabled on the shop.

  • list_rewards (Read) — Lists and searches CashBack rewards by discount code or customer. You can filter by usage status, sort results, and paginate through them.


Subscriptions

These tools require Checkout+ to be enabled on the shop.

  • list_subscriptions (Read) — Lists and searches subscriptions by subscription platform ID or customer email. You can filter by subscription status and paginate through results.

  • toggle_recharge_subscription_insurance (Write) — Enables or disables Checkout+ protection on the next queued charge for a Recharge subscription. Needs id and insurance_enabled.


Returns

These tools require Returns to be enabled on the shop.

  • get_returns_settings (Read) — Shows Returns settings: label and processing fee sponsors, return outcomes (store credit bonus, refunds, and exchanges), contact emails, the return window, restocking fee, return instructions, automation (auto-approve, auto-process, and auto-restock), return shipping, and Shop Now. It also lists the types of Exceptions you can manage and how many your shop has of each. Needs shop_id.

  • update_returns_settings (Write) — Changes only the Returns settings you provide and leaves other settings unchanged. Changes apply to your Return Portal and to how new returns are approved, processed, and charged. Needs shop_id and a settings object.

  • list_return_policies (Read) — Lists your shop’s Exceptions of one type, such as the restocking fee, in the order they are checked. Each Exception overrides that setting’s default for returns or items that match its rules; the first match applies, and the default applies when none match. Onward’s own Exceptions are read-only and are always checked before yours. Each one shows its ID, whether its rules must all match, any match, or none match, and a one-line summary. Needs shop_id and type, a type listed by get_returns_settings.

  • list_return_requests (Read) — Lists and searches return requests by return number, order, or customer. You can filter by processing stage (manual_review, open, or closed), shipping label state (not_dropped, in_transit, delivered, available_for_pickup, return_to_sender, error, cancelled, voided, expired, or manual), return type (refund, store_credit, or exchange), and exchange fulfillment status (fulfilled, partial, or restocked).

  • get_return_request (Read) — Shows a return request’s status, resolution, items, exchange items, shipping, tracking, settlement, amounts, fees, and merchant notes. Needs id.

  • get_return_request_tracking (Read) — Shows return shipping labels, tracking details, return-window deadlines, and tracking events. Needs id.

  • prepare_return_request_for_order (Write) — Starts a return on an order on the customer’s behalf by creating a draft return request. Shows the order’s returnable items, each item’s return reasons and the variants it can be exchanged for, and the resolution preferences offered. The draft is not submitted and the customer is not notified until submit_return_request_for_order completes it. If the order can’t be returned, the response lists the reasons. Needs id (the order).

  • submit_return_request_for_order (Write) — Submits a draft created by prepare_return_request_for_order, applying the same eligibility checks, return policies, and automations as a return the customer submits themselves. Needs id (the draft), line_items (each with a quantity, whether the item has been used, a return reason, and optionally a comment or an exchange variant), and resolution_preference (refund, store_credit, or exchange). The return ships from the order’s shipping address and uses the order’s customer details unless you provide others. When the customer owes nothing, the return is submitted and the customer receives the standard return confirmation email. When the customer owes a payment, such as return fees or a more expensive exchange, the return is not submitted yet: the response shows the amount due and a review link to open in a browser, enter a card, and submit the return.

  • set_return_request_status (Write) — Advances a return request to open, declined, closed, or completed. The result can approve a return, refund or void it, process its resolution, or generate a shipping label. Needs id and status; shipment_provider can be ship_sidekick or manual when approving.

  • set_return_request_resolution (Write) — Sets an open return request’s resolution preference to refund or store_credit, applied when the return is processed. Refund is not available when the return’s order is an exchange or reorder order, and a preference your Returns settings do not allow for that return cannot be set. Needs id and resolution_preference.

  • adjust_return_request_amount (Write) — Overrides the amount paid to the customer for an open return request that already owes the customer money. The new amount must be greater than zero and cannot exceed the original amount owed. Needs id and amount, in the return’s currency.

  • refund_return_request_fees (Write) — Chooses which of an open return request’s fees (label, Onward, credit card processing, and restocking fees) are refunded to the customer when the return is processed. Your shop covers the cost of any fee it refunds. The fees you list replace the current selection, and an empty list clears it. Needs id and fee_line_item_ids, which get_return_request shows.

  • set_return_request_manual_tracking (Write) — Sets the carrier tracking number and an optional tracking URL on an open return request that uses manual shipping instead of a generated label. Needs id and tracking_code; tracking_url is optional.

  • resend_return_request_label_email (Write) — Resends the return approval email, with the shipping label attached, to the customer. The return request must already have a shipping label. Needs id.

  • add_return_request_note (Write) — Adds a merchant note to a return request, attributed to you. Needs id and body.

  • remove_return_request_item (Write) — Permanently removes an item and any exchange item tied to it from an open or requested return. Needs id.

  • set_return_request_item_restock (Write) — Sets whether a return item should be restocked after processing. Needs id and restock.

  • update_exchange_item (Write) — Changes the quantity of a requested exchange item. Setting quantity to 0 removes it. Needs id and quantity.


Order Editing

These tools require Order Editing to be enabled on the shop.

  • get_order_editing_settings (Read) — Shows which changes customers can make to placed orders and the change deadline. Needs shop_id.

  • update_order_editing_settings (Write) — Changes only the Order Editing settings you provide and leaves other settings unchanged. Needs shop_id and a settings object.

  • get_order_edit_history (Read) — Shows the latest-first history of item, address, quantity, discount, commit, finalize, and cancel events for an order. Needs id.


Track

These tools require Track to be enabled on the shop.

  • get_track_settings (Read) — Shows Track notification toggles, enrichment options, and the per-package tracking fee. Needs shop_id.

  • update_track_settings (Write) — Changes only the Track settings you provide and leaves other settings unchanged. Needs shop_id and a settings object.

  • get_order_tracking (Read) — Shows package carriers, tracking numbers and URLs, delivery status, estimated and actual delivery, tracking events, and package line items. Needs id.


Appearance

  • get_appearance_settings (Read) — Shows consumer-facing colors, tagline, translations, and Checkout+ widget configuration such as copy, selectors, and powered-by branding. Needs shop_id.

  • update_appearance_settings (Write) — Changes only the Appearance settings you provide. Values such as translations and subheading_overrides must be JSON-encoded strings. Needs shop_id and a settings object.


Write actions

  • add_return_request_note adds a note to a return request.

  • adjust_return_request_amount changes the amount paid to the customer for an open return request.

  • complete_merchant_claim_resolution resolves a claim that is pending merchant action and notifies the customer.

  • protect_order adds merchant-funded Checkout+ protection to an eligible order.

  • prepare_return_request_for_order starts a draft return request on an order without notifying the customer.

  • refund_return_request_fees changes which fees on an open return request are refunded to the customer when it is processed.

  • remove_return_request_item permanently removes a return item and any exchange item tied to it.

  • resend_return_request_label_email resends the return approval email and shipping label to the customer.

  • set_claim_resolution_preference changes how an in-progress or on-hold claim will be resolved once approved.

  • set_customer_fraudulent flags or unflags a customer as fraudulent, which blocks new return requests.

  • set_return_request_item_restock changes whether a return item should be restocked after processing.

  • set_return_request_manual_tracking sets manual tracking details on an open, manually shipped return request.

  • set_return_request_resolution changes an open return request’s resolution preference to refund or store credit.

  • submit_claim_for_order files a package protection claim on an order and starts claim processing.

  • submit_return_request_for_order submits a draft return request and sends the customer the return confirmation email, or returns a payment link when the customer owes money.

  • toggle_recharge_subscription_insurance enables or disables protection on a Recharge subscription’s next queued charge.

  • update_appearance_settings changes Appearance settings and records the change in the settings audit history.

  • update_exchange_item changes an exchange quantity and can remove the exchange item when the quantity is 0.

  • update_order_editing_settings changes Order Editing settings and records the change in the settings audit history.

  • set_return_request_status can refund, void, process, or generate a shipping label for a return request.

  • update_returns_settings changes Returns settings and records the change in the settings audit history.

  • update_shop_settings changes the shop settings you provide and records the change in the settings audit history.

  • update_track_settings changes Track settings and records the change in the settings audit history.

Did this answer your question?