---
title: Medusa API Integration on Truto
slug: medusa
category: E-Commerce
canonical: "https://truto.one/integrations/detail/medusa/"
---

# Medusa API Integration on Truto



**Category:** E-Commerce  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 380 tools for Medusa that AI agents can call directly.

- **list_all_medusa_api_keys** — List API Keys. Retrieve a list of API keys. The API keys can be filtered by fields such as `id`. The API keys can also be sorted or paginated.
- **create_a_medusa_api_key** — Create Api Key. Create a secret or publishable API key. A secret API key is used for admin authentication. A publishable API key is used by client applications to set the scope of the request.
- **get_single_medusa_api_key_by_id** — Get API Key. Retrieve an API key by its ID. You can expand the API key's relations or select the fields that should be returned using the query parameters.
- **update_a_medusa_api_key_by_id** — Update an API Key. Update an API key's details.
- **delete_a_medusa_api_key_by_id** — Delete an Api Key. Delete a publishable or secret API key.
- **medusa_api_keys_revoke** — Revoke API Key. Revokes an API key. If the API key is a secret, it can't be used for authentication anymore. If it's publishable, it can't be used by client applications.
- **medusa_api_keys_manage_sales_channels** — Manage Sales Channels of a Publishable API Key. Manage the sales channels of a publishable API key, either to associate them or remove them from the API key.
- **list_all_medusa_campaigns** — List Campaigns. Retrieve a list of campaigns. The campaigns can be filtered by fields such as `id`. The campaigns can also be sorted or paginated.
- **create_a_medusa_campaign** — Create Campaign. Create a campaign.
- **get_single_medusa_campaign_by_id** — Get a Campaign. Retrieve a campaign by its ID. You can expand the campaign's relations or select the fields that should be returned using the query parameters.
- **update_a_medusa_campaign_by_id** — Update a Campaign. Update a campaign's details.
- **delete_a_medusa_campaign_by_id** — Delete a Campaign. Delete a campaign by its ID. This doesn't delete promotions that belong to this campaign.
- **medusa_campaigns_manage_promotions** — Manage the Promotions of a Campaign. Manage the promotions of a campaign, either by adding them or removing them from the campaign.
- **list_all_medusa_claims** — List Claims. Retrieve a list of claims. The claims can be filtered by fields such as `id`. The claims can also be sorted or paginated.
- **create_a_medusa_claim** — Create a Claim. Create a claim. The claim is still in the request state, and the changes are only applied on the order once the claim is confirmed.
- **get_single_medusa_claim_by_id** — Get a Claim. Retrieve a claim by its ID. You can expand the claim's relations or select the fields that should be returned using the query parameters.
- **medusa_claims_cancel** — Cancel a Claim. Cancel a claim and its associated return.
- **medusa_claims_add_claim_items** — Add Claim Items to a Claim. Add order items to a claim as claim items. These claim items will have the action `WRITE_OFF_ITEM`.
- **medusa_claims_update_claim_item** — Update a Claim Item. Update an order item in a claim by the ID of the item's `WRITE_OFF_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_remove_claim_item** — Remove a Claim Item from a Claim. Remove an order item from a claim by the ID of the item's `WRITE_OFF_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_add_inbound_items** — Add Inbound Items to a Claim. Add inbound (or return) items to a claim. These inbound items will have a `RETURN_ITEM` action.
- **medusa_claims_update_inbound_item** — Update Inbound Items of a Claim. Update an inbound (or return) item of a claim using the `ID` of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_remove_inbound_item** — Remove an Inbound Item from Claim. Remove an inbound (or return) item from a claim using the `ID` of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_add_inbound_shipping_method** — Add an Inbound Shipping Method to a Claim. Add an inbound (or return) shipping method to a claim. The inbound shipping method will have a `SHIPPING_ADD` action.
- **medusa_claims_update_inbound_shipping_method** — Update Inbound Shipping Method of a Claim. Update the shipping method for returning items in the claim using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_remove_inbound_shipping_method** — Remove Inbound Shipping Method from Claim. Remove the shipping method for returning items in the claim using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_add_outbound_items** — Add Outbound Items to a Claim. Add outbound (or new) items to a claim. These outbound items will have an `ITEM_ADD` action.
- **medusa_claims_update_outbound_item** — Update Outbound Item of a Claim. Update an outbound (or new) item of a claim using the `ID` of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_remove_outbound_item** — Remove an Outbound Item from Claim. Remove an outbound (or new) item from a claim using the `ID` of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_add_outbound_shipping_method** — Add Outbound Shipping Methods to a Claim. Add an outbound shipping method to a claim. The outbound shipping method will have a `SHIPPING_ADD` action.
- **medusa_claims_update_outbound_shipping_method** — Update Outbound Shipping Method of a Claim. Update the shipping method for delivering outbound items in a claim using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_remove_outbound_shipping_method** — Remove Outbound Shipping Method from Claim. Remove the shipping method for delivering outbound items in the claim using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_claims_confirm_request** — Confirm a Claim Request. Confirm a claim request, applying its changes on the associated order.
- **medusa_claims_cancel_request** — Cancel Claim Request. Cancel a requested claim.
- **list_all_medusa_collections** — List Collections. Retrieve a list of collections. The collections can be filtered by fields such as `id`. The collections can also be sorted or paginated.
- **create_a_medusa_collection** — Create Collection. Create a collection.
- **get_single_medusa_collection_by_id** — Get a Collection. Retrieve a collection by its ID. You can expand the collection's relations or select the fields that should be returned using the query parameters.
- **update_a_medusa_collection_by_id** — Update a Collection. Update a collection's details.
- **delete_a_medusa_collection_by_id** — Delete a Collection. Delete a product collection.
- **medusa_collections_manage_products** — Manage Products of a Collection. Manage the products of a collection by adding or removing them from the collection.
- **list_all_medusa_currencies** — List Currencies. Retrieve a list of currencies. The currencies can be filtered by fields such as `id`. The currencies can also be sorted or paginated.
- **get_single_medusa_currency_by_id** — Get a Currency. Retrieve a currency by its code. You can expand the currency's relations or select the fields that should be returned using the query parameters.
- **list_all_medusa_customer_groups** — List Customer Groups. Retrieve a list of customer groups. The customer groups can be filtered by fields such as `id`. The customer groups can also be sorted or paginated.
- **create_a_medusa_customer_group** — Create Customer Group. Create a customer group.
- **get_single_medusa_customer_group_by_id** — Get a Customer Group. Retrieve a customer group by its ID. You can expand the customer group's relations or select the fields that should be returned.
- **update_a_medusa_customer_group_by_id** — Update a Customer Group. Update a customer group's details.
- **delete_a_medusa_customer_group_by_id** — Delete a Customer Group. Delete a customer group. Customers in the group aren't deleted.
- **medusa_customer_groups_manage_customers** — Manage Customers of a Customer Group. Manage the customers of a group to add or remove them from the group.
- **list_all_medusa_customers** — List Customers. Retrieve a list of customers. The customers can be filtered by fields such as `id`. The customers can also be sorted or paginated.
- **create_a_medusa_customer** — Create Customer. Create a customer.
- **get_single_medusa_customer_by_id** — Get a Customer. Retrieve a customer by its ID. You can expand the customer's relations or select the fields that should be returned.
- **update_a_medusa_customer_by_id** — Update a Customer. Update a customer's details.
- **delete_a_medusa_customer_by_id** — Delete a Customer
- **medusa_customers_manage_customer_groups** — Manage Customer Groups of Customer. Manage the customer groups of a customer, adding or removing the customer from those groups.
- **list_all_medusa_customer_addresses** — List Addresses. Retrieve a list of addresses in a customer. The addresses can be filtered by fields like `query`. The addresses can also be paginated.
- **create_a_medusa_customer_address** — Add a Customer Address. Add an address to a customer.
- **get_single_medusa_customer_address_by_id** — List Addresses. Retrieve a list of a customer's addresses. The addresses can be filtered by fields like `company`. The addresses can also be paginated.
- **update_a_medusa_customer_address_by_id** — Update a Customer's Address. Update a customer address's details.
- **delete_a_medusa_customer_address_by_id** — Remove an Address from Customer. Remove a customer's address.
- **list_all_medusa_draft_orders** — List Draft Orders. Retrieve a list of draft orders. The draft orders can be filtered by fields such as `id`. The draft orders can also be sorted or paginated.
- **create_a_medusa_draft_order** — Create Draft Order. Create a draft order. This creates an order with the `is_draft_order` property enabled. You can later convert the draft order to an order.
- **get_single_medusa_draft_order_by_id** — Get a Draft Order. Retrieve a draft order by its ID. You can expand the draft order's relations or select the fields that should be returned using the query parameters.
- **update_a_medusa_draft_order_by_id** — Update a Draft Order. Update a draft order's details. This doesn't include updating the draft order's items, shipping methods, or promotions. To update those, you need to create an edit that you can later request or confirm.
- **delete_a_medusa_draft_order_by_id** — Delete a Draft Order
- **medusa_draft_orders_convert_to_order** — Convert a Draft Order to an Order. Convert a draft order to an order. This will finalize the draft order and create a new order with the same details.
- **medusa_draft_orders_begin_edit** — Create a Draft Order Edit. Create an edit on a draft order. This will allow you to make changes to the draft order's items, shipping methods, or promotions. Once you've made the necessar changes, you can later either request the edit (which requires a confirmation from the customer), or force-confirm the edit.
- **medusa_draft_orders_cancel_edit** — Cancel Edit on Draft Order. Cancel an unconfirmed edit on a draft order.
- **medusa_draft_orders_confirm_edit** — Confirm an Edit on a Draft Order. Confirm an edit on a draft order. This will apply the changes made to the draft order.
- **medusa_draft_orders_add_edit_items** — Add Item to Draft Order Edit. Add an item to a draft order edit.
- **medusa_draft_orders_update_edit_existing_item** — Update Existing Item in Draft Order Edit. Update an existing item in a draft order edit.
- **medusa_draft_orders_update_edit_item** — Update New Item in Draft Order Edit. Update a new item that was added to a draft order edit by the ID of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_draft_orders_remove_edit_item** — Remove Item from Draft Order Edit. Remove an order item from a draft order edit by the ID of the item's `ITEM_ADD` or `ITEM_UPDATE` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_draft_orders_add_edit_promotions** — Add Promotions to Draft Order Edit. Add promotions to a draft order edit.
- **medusa_draft_orders_remove_edit_promotions** — Remove Promotions from Draft Order Edit. Remove specified promotions from a draft order edit.
- **medusa_draft_orders_request_edit** — Request Edit on Draft Order. Change the status of a draft order's edit to be requested. Later, the edit can be confirmed or canceled.
- **medusa_draft_orders_add_edit_shipping_method** — Add Shipping Method to Draft Order Edit. Add a shipping method to a draft order edit.
- **medusa_draft_orders_update_edit_existing_shipping_method** — Update Existing Shipping Method in Draft Order Edit. Update an existing shipping method in a draft order edit.
- **medusa_draft_orders_remove_edit_existing_shipping_method** — Remove Shipping Method from Draft Order Edit. Remove an existing shipping method from a draft order edit.
- **medusa_draft_orders_update_edit_shipping_method** — Update New Shipping Method in Draft Order Edit. Update a new shipping method that was added to a draft order edit using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_draft_orders_remove_edit_shipping_method** — Remove New Shipping Method from Draft Order. Remove a shipping method that was added to a draft order edit using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **list_all_medusa_exchanges** — List Exchanges. Retrieve a list of exchanges. The exchanges can be filtered by fields such as `id`. The exchanges can also be sorted or paginated.
- **create_a_medusa_exchange** — Create Exchange. Create an exchange request. Its changes aren't applied on the order until the exchange is confirmed.
- **get_single_medusa_exchange_by_id** — Get an Exchange. Retrieve an exchange by its ID. You can expand the exchange's relations or select the fields that should be returned using query parameters.
- **medusa_exchanges_cancel** — Cancel an Exchange. Cancel an exchange and its associated return.
- **medusa_exchanges_add_inbound_items** — Add Inbound Items to an Exchange. Add inbound (or return) items to an exchange. These inbound items will have the action `RETURN_ITEM`.
- **medusa_exchanges_update_inbound_item** — Update an Inbount Item of an Exchange. Update an inbound (or return) item from an exchange using the `ID` of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_remove_inbound_item** — Remove Inbound Item from Exchange. Remove an inbound (or return) item from an exchange using the `ID` of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_add_inbound_shipping_method** — Add an Inbound Shipping Method to an Exchange. Add an inbound (or return) shipping method to an exchange. The inbound shipping method will have a `SHIPPING_ADD` action.
- **medusa_exchanges_update_inbound_shipping_method** — Update Inbound Shipping Method of an Exchange. Update the shipping method for returning items in the exchange using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_remove_inbound_shipping_method** — Remove Inbound Shipping Method from Exchange. Remove the shipping method for returning items in the exchange using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_add_outbound_items** — Add Outbound Items to Exchange. Add outbound (or new) items to an exchange. These outbound items will have the action `ITEM_ADD`.
- **medusa_exchanges_update_outbound_item** — Update Outbound Item of an Exchange. Update an outbound (or new) item from an exchange using the `ID` of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_remove_outbound_item** — Remove Outbound Item from Exchange. Remove an outbound (or new) item from an exchange using the `ID` of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_add_outbound_shipping_method** — Add Outbound Shipping Method to Exchange. Add an outbound shipping method to an exchange. The outbound shipping method will have a `SHIPPING_ADD` action.
- **medusa_exchanges_update_outbound_shipping_method** — Update Outbound Shipping Method of Exchange. Update the shipping method for delivering outbound items in the exchange using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_remove_outbound_shipping_method** — Remove Outbound Shipping Method from Exchange. Remove the shipping method for delivering outbound items in the exchange using the `ID` of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_exchanges_confirm_request** — Confirm an Exchange. Confirm an exchange request, applying its changes on the associated order.
- **medusa_exchanges_cancel_request** — Cancel Exchange Request. Cancel a requested exchange.
- **list_all_medusa_feature_flags** — List Feature Flags. Retrieve a list of feature flags. The feature flags can be filtered by fields such as `id`. The feature flags can also be sorted or paginated.
- **list_all_medusa_fulfillment_providers** — List Fulfillment Providers. Retrieve a list of fulfillment providers. The fulfillment providers can be filtered by fields such as `id`. The fulfillment providers can also be sorted or paginated.
- **list_all_medusa_fulfillment_provider_options** — List Fulfillment Options. Retrieve the list of fulfillment options of a fulfillment provider. These options may be retrieved from an integrated third-party service.
- **delete_a_medusa_fulfillment_set_by_id** — Delete Fulfillment Set. Delete a fulfillment set.
- **create_a_medusa_fulfillment_set_service_zone** — Add a Service Zone to a Fulfillment Set
- **get_single_medusa_fulfillment_set_service_zone_by_id** — Get a Service Zone in a Fulfillment Set. Retrieve a service zone that belongs to a fulfillment set. be paginated.
- **update_a_medusa_fulfillment_set_service_zone_by_id** — Update the Service Zone of a Fulfillment Set. Update the details of a service zone in a fulfillment set.
- **delete_a_medusa_fulfillment_set_service_zone_by_id** — Remove a Service Zone from Fulfillment Set. Remove a service zone that belongs to a fulfillment set.
- **create_a_medusa_fulfillment** — Create Fulfillment. Create a fulfillment for an order, return, exchange, and more.
- **medusa_fulfillments_cancel** — Cancel a Fulfillment. Cancel a fulfillment. The fulfillment can't be shipped or delivered. To cancel the fulfillment, the `cancelFulfillment` method of the associated fulfillment provider is used.
- **medusa_fulfillments_create_shipment** — Create a Shipment for a Fulfillment. Create a shipment for a fulfillment. The fulfillment must not be shipped or canceled.
- **list_all_medusa_gift_cards** — List Gift Cards. Retrieve a list of gift cards. The gift cards can be filtered by fields such as `id`. The gift cards can also be sorted or paginated.
- **create_a_medusa_gift_card** — Create Gift Card. Create a gift card.
- **get_single_medusa_gift_card_by_id** — Get a Gift Card. Retrieve a gift card by its ID. You can expand the gift card's relations or select the fields that should be returned.
- **update_a_medusa_gift_card_by_id** — Update a Gift Card. Update a gift card's details.
- **list_all_medusa_gift_card_orders** — List Gift Card's Orders. Retrieve the list of orders that a gift card was used in.
- **medusa_index_details** — Get Index Details. Retrieve index metadata, including entity type, status, last synced key, and last updated timestamp.
- **medusa_index_sync** — Trigger Index Sync. Trigger reindexing or re-ingestion of the Index Module.
- **list_all_medusa_inventory_items** — List Inventory Items. Retrieve a list of inventory items. The inventory items can be filtered by fields such as `id`. The inventory items can also be sorted or paginated.
- **create_a_medusa_inventory_item** — Create Inventory Item. Create an inventory item.
- **medusa_inventory_items_export** — Export Inventory Items. Start an inventory items export process to retrieve a CSV of exported inventory items. You'll receive in the response the transaction ID of the workflow generating the CSV file. To check the status of the execution, send a GET request to `/admin/workflows-executions/export-inventory-items/:transaction-id`. Once the execution finishes successfully, a notification is created for the export. You can retrieve the notifications using the `/admin/notification` API route to retrieve the file's download URL.
- **medusa_inventory_items_batch_location_levels** — Manage Inventory Levels. Manage inventory levels to create, update, or delete them.
- **get_single_medusa_inventory_item_by_id** — Get a Inventory Item. Retrieve a inventory item by its ID. You can expand the inventory item's relations or select the fields that should be returned.
- **update_a_medusa_inventory_item_by_id** — Update an Inventory Item. Update an inventory item's details.
- **delete_a_medusa_inventory_item_by_id** — Delete Inventory Item. Delete an inventory item.
- **list_all_medusa_inventory_item_location_levels** — List Inventory Levels. Retrieve a list of inventory levels associated with an inventory item. The inventory levels can be filtered by fields like `location_id`. The inventory levels can also be paginated.
- **create_a_medusa_inventory_item_location_level** — Create Inventory Level for Inventory Item. Create an inventory level for an inventory item.
- **medusa_inventory_item_location_levels_batch** — Manage Inventory Levels of Inventory Item. Manage the inventory levels of an inventory item to create or delete them.
- **update_a_medusa_inventory_item_location_level_by_id** — Update an Inventory Level of an Inventory Item. Updates the details of an inventory item's inventory level using its associated location ID.
- **delete_a_medusa_inventory_item_location_level_by_id** — Remove Inventory Level of Inventory Item. Remove the inventory level of an inventory item. If the inventory level has reserved quantity greater than `0`, an error is thrown.
- **list_all_medusa_invites** — List Invites. Retrieve a list of invites. The invites can be filtered by fields such as `id`. The invites can also be sorted or paginated.
- **create_a_medusa_invite** — Create Invite. Create a invite.
- **get_single_medusa_invite_by_id** — Get an Invite. Retrieve an invite by its ID. You can expand the invite's relations or select the fields that should be returned.
- **delete_a_medusa_invite_by_id** — Delete Invite. Delete an invite.
- **medusa_invites_resend** — Refresh Invite Token. Refresh the token of an invite.
- **list_all_medusa_locales** — List Locales. Retrieve a list of locales. The locales can be filtered by fields such as `code`. The locales can also be sorted or paginated.
- **get_single_medusa_locale_by_id** — Get a Locale. Retrieve a locale by its code. You can expand the locale's relations or select the fields that should be returned.
- **list_all_medusa_notifications** — List Notifications. Retrieve a list of notifications. The notifications can be filtered by fields such as `id`. The notifications can also be sorted or paginated.
- **get_single_medusa_notification_by_id** — Get a Notification. Retrieve a notification by its ID. You can expand the notification's relations or select the fields that should be returned.
- **update_a_medusa_order_change_by_id** — Update an Order Change. Update an order change's details. An order change can be an exchange, claim, or edit. For example, you can edit whether an exchange carries over the parent order's promotion.
- **list_all_medusa_order_changes** — List Changes on an Order. Retrieve a list of changes made on an order, including returns, exchanges, etc... The changes can be filtered by fields like `created_at`. The changes can also be paginated.
- **create_a_medusa_order_edit** — Create Order Edit. Create an order edit.
- **delete_a_medusa_order_edit_by_id** — Cancel Order Edit. Cancel a requested order edit.
- **medusa_order_edits_confirm** — Confirm Order Edit. Confirm an order edit request and apply the changes on the order.
- **medusa_order_edits_add_items** — Add Items to Order Edit. Add new items to an order edit. These items will have the action `ITEM_ADD`.
- **medusa_order_edits_update_existing_item** — Update Order Item Quantity of Order Edit. Update an existing order item's quantity of an order edit. You can also use this API route to remove an item from an order by setting its quantity to `0`.
- **medusa_order_edits_update_item** — Update an Item in an Order Edit. Update an added item in the order edit by the ID of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_order_edits_remove_item** — Remove Item from Order Edit. Remove an added item in the order edit by the ID of the item's `ITEM_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_order_edits_request** — Request Order Edit. Change the status of an active order edit to requested.
- **medusa_order_edits_add_shipping_method** — Add Shipping Method to Order Edit. Add a shipping method to an exchange. The shipping method will have a `SHIPPING_ADD` action.
- **medusa_order_edits_update_shipping_method** — Update Shipping Method of an Order Edit. Update a shipping method in the order edit by the ID of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_order_edits_remove_shipping_method** — Remove Shipping Method from Order Edit. Remove a shipping method in the order edit by the ID of the method's `SHIPPING_ADD` action. Every shipping method has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **list_all_medusa_orders** — List Orders. Retrieve a list of orders. The orders can be filtered by fields such as `id`. The orders can also be sorted or paginated.
- **medusa_orders_export** — Export Orders. Start an order export process to retrieve a CSV of exported orders. You'll receive in the response the transaction ID of the workflow generating the CSV file. To check the status of the execution, send a GET request to `/admin/workflows-executions/export-orders/:transaction-id`. Once the execution finishes successfully, a notification is created for the export. You can retrieve the notifications using the `/admin/notification` API route to retrieve the file's download URL.
- **get_single_medusa_order_by_id** — Get an Order. Retrieve an order by its ID. You can expand the order's relations or select the fields that should be returned.
- **update_a_medusa_order_by_id** — Update Order. Update an order's details. Updating the order's shipping or billing address doesn't recalculate the order's taxes or totals; the existing tax lines are preserved as-is. You also can't change the address's `country_code`.
- **medusa_orders_archive** — Archive an Order. Change the status of an order to archived.
- **medusa_orders_cancel** — Cancel Order. Cancel an order. The cancelation fails if: - The order has captured payments. - The order has refund payments. - The order has fulfillments that aren't canceled.
- **medusa_orders_complete** — Complete Order. Mark an order as completed.
- **medusa_orders_create_credit_line** — Create Credit Line for Order. Create a credit line for an order.
- **medusa_orders_create_fulfillment** — Create an Order Fulfillment. Create a fulfillment for an order. The creation fails if the order is canceled.
- **medusa_orders_cancel_fulfillment** — Cancel Fulfillment. Cancel an order's fulfillment. The fulfillment can't be canceled if it's shipped.
- **medusa_orders_mark_fulfillment_delivered** — Mark a Fulfillment as Delivered. Mark an order's fulfillment as delivered.
- **medusa_orders_create_shipment** — Create Shipment for an Order's Fulfillment. Create a shipment for an order's fulfillment.
- **medusa_orders_authorize_payment_session** — Authorize Payment Session. Authorize a payment session for an order. This is useful for orders created from draft orders.
- **medusa_orders_preview** — Get Preview. Retrieve a preview of an order using its associated change, such as an edit.
- **medusa_orders_request_transfer** — Request Order Transfer. Request an order to be transfered to another customer. The transfer is confirmed by sending a request to the [Accept Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferaccept) Store API route.
- **medusa_orders_cancel_transfer** — Cancel Transfer Request. Cancel a request to transfer an order to another customer.
- **medusa_orders_transfer_to_guest** — Transfer Order to Guest Customer. Transfer an order to a guest customer. This is useful when the order email was incorrectly entered and you want to set it to a guest customer. The order will be transferred to a new guest customer with the provided email. For transferring orders to registered customer, check out the [Request Order Transfer](https://docs.medusajs.com/api/admin#orders_postordersidtransfer) API route instead.
- **list_all_medusa_order_line_items** — List Line Items. Retrieve a list of line items in a order. The line items can be filtered by fields like FILTER FIELDS. The line items can also be paginated.
- **list_all_medusa_order_shipping_options** — List Shipping Options for Order. Retrieve a list of shipping options that can be used for outbound shipping in an order. This is especially useful when adding outbound shipping to order exchanges or claims.
- **create_a_medusa_payment_collection** — Create Payment Collection. Create a payment collection.
- **delete_a_medusa_payment_collection_by_id** — Delete a Payment Collection
- **medusa_payment_collections_mark_as_paid** — Mark a Payment Collection as Paid. Mark a payment collection as paid. This creates and authorizes a payment session, then capture its payment, using the manual payment provider.
- **medusa_payment_collections_create_payment_session** — Initialize Payment Session in Payment Collection. Initialize a Payment Session in a payment collection. This is useful for orders placed outside the checkout flow, such as draft orders, or when a payment session needs to be re-initialized for an existing payment collection.
- **list_all_medusa_payments** — List Payments. Retrieve a list of payments. The payments can be filtered by fields such as `id`. The payments can also be sorted or paginated.
- **get_single_medusa_payment_by_id** — Get a Payment. Retrieve a payment by its ID. You can expand the payment's relations or select the fields that should be returned.
- **medusa_payments_capture** — Capture Payment. Capture an amount of a payment. This uses the `capturePayment` method of the payment provider associated with the payment's collection.
- **medusa_payments_refund** — Refund Payment. Refund an amount of a payment. This uses the `refundPayment` method of the payment provider associated with the payment's collection.
- **list_all_medusa_payment_providers** — List Payment Providers. Retrieve a list of payment providers. The payment providers can be filtered by fields such as `id`. The payment providers can also be sorted or paginated.
- **list_all_medusa_plugins** — List Plugins. Retrieve the list of plugins installed in the Medusa application.
- **list_all_medusa_price_lists** — List Price Lists. Retrieve a list of price lists. The price lists can be filtered by fields such as `id`. The price lists can also be sorted or paginated.
- **create_a_medusa_price_list** — Create Price List. Create a price list.
- **get_single_medusa_price_list_by_id** — Get a Price List. Retrieve a price list by its ID. You can expand the price list's relations or select the fields that should be returned.
- **update_a_medusa_price_list_by_id** — Update a Price List. Update a price list's details.
- **delete_a_medusa_price_list_by_id** — Delete a Price List
- **medusa_price_lists_remove_products** — Remove Products from Price List. Remove products from a price list.
- **list_all_medusa_price_list_prices** — List Prices for a Price List. Retrieve a list of prices in a price list. The prices can be filtered by fields like FILTER FIELDS. The prices can also be paginated.
- **medusa_price_list_prices_batch** — Manage Prices in Price List. Manage the prices of a price list to create, update, or delete them.
- **list_all_medusa_price_preferences** — List Price Preferences. Retrieve a list of price preferences. The price preferences can be filtered by fields such as `id`. The price preferences can also be sorted or paginated.
- **create_a_medusa_price_preference** — Create Price Preference. Create a price preference.
- **get_single_medusa_price_preference_by_id** — Get a Price Preference. Retrieve a price preference by its ID. You can expand the price preference's relations or select the fields that should be returned.
- **update_a_medusa_price_preference_by_id** — Update a Price Preference. Update a price preference's details.
- **delete_a_medusa_price_preference_by_id** — Delete a Price Preference
- **list_all_medusa_product_categories** — List Product Categories. Retrieve a list of product categories. The product categories can be filtered by fields such as `id`. The product categories can also be sorted or paginated.
- **create_a_medusa_product_category** — Create Product Category. Create a product category.
- **get_single_medusa_product_category_by_id** — Get a Product Category. Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned.
- **update_a_medusa_product_category_by_id** — Update a Product Category. Update a product category's details.
- **delete_a_medusa_product_category_by_id** — Delete a Product Category. Delete a product category. This doesn't delete the products in that category. A product category that has child categories can't be deleted, so you must delete its child categories first.
- **medusa_product_categories_manage_products** — Manage Products in Product Category. Manage products of a category to add or remove them.
- **list_all_medusa_product_options** — List Product Options. Retrieve a list of product options. The product options can be filtered by fields such as `id`. The product options can also be sorted or paginated.
- **create_a_medusa_product_option** — Create Product Option. Create a product option.
- **get_single_medusa_product_option_by_id** — Get a Product Option. Retrieve a product option by its ID. You can expand the product option's relations or select the fields that should be returned.
- **update_a_medusa_product_option_by_id** — Update a Product Option. Update a product option's details.
- **delete_a_medusa_product_option_by_id** — Delete a Product Option
- **list_all_medusa_product_option_values** — List Product Option Values. Retrieve a list of values in a product option. The values can be filtered by fields like `id`. The values can also be paginated.
- **get_single_medusa_product_option_value_by_id** — Get Product Option Value. Get a product option value by its ID.
- **update_a_medusa_product_option_value_by_id** — Update Product Option Value. Update a product option value's details.
- **delete_a_medusa_product_option_value_by_id** — Remove Value from Product Option. Remove a Value from a product option.
- **list_all_medusa_product_tags** — List Product Tags. Retrieve a list of product tags. The product tags can be filtered by fields such as `id`. The product tags can also be sorted or paginated.
- **create_a_medusa_product_tag** — Create Product Tag. Create a product tag.
- **get_single_medusa_product_tag_by_id** — Get a Product Tag. Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned.
- **update_a_medusa_product_tag_by_id** — Update a Product Tag. Update a product tag's details.
- **delete_a_medusa_product_tag_by_id** — Delete a Product Tag. Delete a product tag. This doesn't delete products using the tag.
- **list_all_medusa_product_types** — List Product Types. Retrieve a list of product types. The product types can be filtered by fields such as `id`. The product types can also be sorted or paginated.
- **create_a_medusa_product_type** — Create Product Type. Create a product type.
- **get_single_medusa_product_type_by_id** — Get a Product Type. Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned.
- **update_a_medusa_product_type_by_id** — Update a Product Type. Update a product type's details.
- **delete_a_medusa_product_type_by_id** — Delete a Product Type. Delete a product type. This doesn't delete products of this type.
- **medusa_product_variants_list_all** — List Product Variants. Retrieve a list of product variants. The product variants can be filtered by fields such as `id`. The product variants can also be sorted or paginated.
- **list_all_medusa_product_variants** — List Variants of a Product. Retrieve a list of variants in a product. The variants can be filtered by fields like FILTER FIELDS. The variants can also be paginated.
- **create_a_medusa_product_variant** — Create a Product Variant. Create a variant for a product.
- **medusa_product_variants_batch** — Manage Variants in a Product. Manage variants in a product to create, update, or delete them.
- **medusa_product_variants_batch_inventory_items** — Manage Variants Inventory in a Product. Manage a product's variant's inventoris to associate them with inventory items, update their inventory items, or delete their association with inventory items.
- **get_single_medusa_product_variant_by_id** — Get Variant of a Product. Retrieve a product's variant by its ID.
- **update_a_medusa_product_variant_by_id** — Update a Product Variant. Update a variant's details.
- **delete_a_medusa_product_variant_by_id** — Delete Product Variant. Delete a variant of a product.
- **medusa_product_variants_batch_images** — Manage Images of Product Variant. Manage the association between product images and a product variant. You can add or remove associations between images and the variant.
- **medusa_product_variants_link_inventory_item** — Associate Variant with Inventory Item. Associate with a product variant an inventory item that manages its inventory details.
- **medusa_product_variants_update_inventory_item** — Update Product Variant's Inventory Details. Update the inventory item that manages the inventory details of a product variant.
- **medusa_product_variants_unlink_inventory_item** — Remove Inventory Item Association with Product Variant. Remove the association between an inventory item and its product variant.
- **list_all_medusa_products** — List Products. Retrieve a list of products. The products can be filtered by fields such as `id`. The products can also be sorted or paginated.
- **create_a_medusa_product** — Create Product. Create a product.
- **medusa_products_batch** — Manage Products. Manage products to create, update, or delete them.
- **medusa_products_export** — Export Products. Start a product export process to retrieve a CSV of exported products. You'll receive in the response the transaction ID of the workflow generating the CSV file. To check the status of the execution, send a GET request to `/admin/workflows-executions/export-products/:transaction-id`. Once the execution finishes successfully, a notification is created for the export. You can retrieve the notifications using the `/admin/notification` API route to retrieve the file's download URL.
- **medusa_products_import** — Create Product Import. Create a new product import process. The products aren't imported until the import is confirmed with the `/admin/products/:transaction-id/import` API route.
- **medusa_products_confirm_import** — Confirm Product Import. Confirm that a created product import should start importing the products into Medusa.
- **medusa_products_create_import** — Create Product Import. Create a new product import process. The products aren't imported until the import is confirmed with the `/admin/products/:transaction-id/imports` API route.
- **medusa_products_confirm_create_import** — Confirm Product Import. Confirm that a created product import should start importing the products into Medusa.
- **get_single_medusa_product_by_id** — Get a Product. Retrieve a product by its ID. You can expand the product's relations or select the fields that should be returned.
- **update_a_medusa_product_by_id** — Update a Product. Update a product's details.
- **delete_a_medusa_product_by_id** — Delete a Product
- **medusa_products_batch_image_variants** — Manage Variants of Product Image. Manage the association between product variants and a product image. You can add or remove associations between variants and the image.
- **medusa_products_list_options** — List a Product's Options. Retrieve a list of options of a product. The options can be filtered by fields like `id`. The options can also be paginated.
- **medusa_products_batch_options** — Add Options to Product. Add a list of options to a product.
- **list_all_medusa_promotions** — List Promotions. Retrieve a list of promotions. The promotions can be filtered by fields such as `id`. The promotions can also be sorted or paginated.
- **create_a_medusa_promotion** — Create Promotion. Create a promotion.
- **medusa_promotions_list_rule_attribute_options** — List Rule Attribute Options of a Rule Type. Retrieve a list of potential rule attributes for the promotion and application method types specified in the query parameters. Only the attributes of the rule type specified in the path parameter are retrieved: - If `rule_type` is `rules`, the attributes of the promotion's type are retrieved. - If `rule_type` is `target-rules`, the target rules' attributes of the application method's type are retrieved. - If `rule_type` is `buy-rules`, the buy rules' attributes of the application method's type are retrieved.
- **medusa_promotions_list_rule_value_options** — List Rule Values Given a Rule Attribute. Retrieve all potential values for promotion rules and target and buy rules based on the specified rule attribute and type. For example, if you provide the ID of the `currency_code` rule attribute, and set `rule_type` to `rules`, a list of currencies are retrieved in label-value pairs.
- **get_single_medusa_promotion_by_id** — Get a Promotion. Retrieve a promotion by its ID. You can expand the promotion's relations or select the fields that should be returned.
- **update_a_medusa_promotion_by_id** — Update a Promotion. Update a promotion's details.
- **delete_a_medusa_promotion_by_id** — Delete a Promotion
- **medusa_promotions_batch_buy_rules** — Manage the Buy Rules of a Promotion. Manage the buy rules of a `buyget` promotion to create, update, or delete them.
- **medusa_promotions_batch_rules** — Manage a Promotion's Rules. Manage the rules of a promotion to create, update, or delete them.
- **medusa_promotions_batch_target_rules** — Manage Target Rules of a Promotion. Manage the target rules of a promotion to create, update, or delete them.
- **medusa_promotions_list_rules** — List Rules of a Promotion. Retrieve a list of rules in a promotion. The type of rules retrieved depend on the value of the `rule_type` path parameter: - If `rule_type` is `rules`, the promotion's rules are retrivied. - If `rule_type` is `target-rules`, the target rules of the promotion's application method are retrieved. - If `rule_type` is `buy-rules`, the buy rules of the promotion's application method are retrieved.
- **list_all_medusa_property_labels** — List Property Labels. Retrieve a list of property labels. The property labels can be filtered by fields such as `id`. The property labels can also be sorted or paginated.
- **create_a_medusa_property_label** — Create Property Label. Create a property label.
- **medusa_property_labels_batch** — Create Property Label. Create a property label.
- **get_single_medusa_property_label_by_id** — Get a Property Label. Retrieve a property label by its ID.
- **update_a_medusa_property_label_by_id** — Update a Property Label. Update a property label's details.
- **delete_a_medusa_property_label_by_id** — Delete a Property Label
- **list_all_medusa_refund_reasons** — List Refund Reasons. Retrieve a list of refund reasons. The refund reasons can be filtered by fields such as `id`. The refund reasons can also be sorted or paginated.
- **create_a_medusa_refund_reason** — Create Refund Reason. Create a refund reason.
- **get_single_medusa_refund_reason_by_id** — Get a Refund Reason. Retrieve a refund reason by its ID. You can expand the refund reason's relations or select the fields that should be returned.
- **update_a_medusa_refund_reason_by_id** — Update a Refund Reason. Update a refund reason's details.
- **delete_a_medusa_refund_reason_by_id** — Delete a Refund Reason
- **list_all_medusa_regions** — List Regions. Retrieve a list of regions. The regions can be filtered by fields such as `id`. The regions can also be sorted or paginated.
- **create_a_medusa_region** — Create Region. Create a region.
- **get_single_medusa_region_by_id** — Get a Region. Retrieve a region by its ID. You can expand the region's relations or select the fields that should be returned.
- **update_a_medusa_region_by_id** — Update a Region. Update a region's details.
- **delete_a_medusa_region_by_id** — Delete a Region
- **list_all_medusa_reservations** — List Reservations. Retrieve a list of reservations. The reservations can be filtered by fields such as `id`. The reservations can also be sorted or paginated.
- **create_a_medusa_reservation** — Create Reservation. Create a reservation.
- **get_single_medusa_reservation_by_id** — Get a Reservation. Retrieve a reservation by its ID. You can expand the reservation's relations or select the fields that should be returned.
- **update_a_medusa_reservation_by_id** — Update a Reservation. Update a reservation's details.
- **delete_a_medusa_reservation_by_id** — Delete a Reservation
- **list_all_medusa_return_reasons** — List Return Reasons. Retrieve a list of return reasons. The return reasons can be filtered by fields such as `id`. The return reasons can also be sorted or paginated.
- **create_a_medusa_return_reason** — Create Return Reason. Create a return reason.
- **get_single_medusa_return_reason_by_id** — Get a Return Reason. Retrieve a return reason by its ID. You can expand the return reason's relations or select the fields that should be returned.
- **update_a_medusa_return_reason_by_id** — Update a Return Reason. Update a return reason's details.
- **delete_a_medusa_return_reason_by_id** — Delete a Return Reason
- **list_all_medusa_returns** — List Returns. Retrieve a list of returns. The returns can be filtered by fields such as `id`. The returns can also be sorted or paginated.
- **create_a_medusa_return** — Create Return. Create a return. The return can later be requested or confirmed.
- **get_single_medusa_return_by_id** — Get a Return. Retrieve a return by its ID. You can expand the return's relations or select the fields that should be returned.
- **update_a_medusa_return_by_id** — Update a Return. Update a return's details.
- **medusa_returns_cancel** — Cancel a return
- **medusa_returns_add_dismiss_items** — Add Damaged Items to Return. Add damaged items, whose quantity is to be dismissed, to a return. These items will have the action `RECEIVE_DAMAGED_RETURN_ITEM`.
- **medusa_returns_update_dismiss_item** — Update Damaged Item of Return. Update a damaged item, whose quantity is to be dismissed, in the return by the ID of the item's `RECEIVE_DAMAGED_RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_remove_dismiss_item** — Remove Damaged Item from Return. Remove a damaged item, whose quantity is to be dismissed, in the return by the ID of the item's `RECEIVE_DAMAGED_RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_begin_receive** — Start Return Receival. Start a return receival process to be later confirmed using the `/admin/returns/:id/receive/confirm` API route.
- **medusa_returns_cancel_receive** — Cancel Return Receival. Cancel the receival process previously started, and hasn't been confirmed, of a return.
- **medusa_returns_add_receive_items** — Add Received Items to Return. Add received items in a return. These items will have the action `RECEIVE_RETURN_ITEM`.
- **medusa_returns_update_receive_item** — Update a Received Item in a Return. Update a received item in the return by the ID of the item's `RECEIVE_RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_remove_receive_item** — Remove a Received Item from Return. Remove a received item in the return by the ID of the item's `RECEIVE_RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_confirm_receive** — Confirm Return Receival. Confirm that a return has been received. This updates the quantity of the items received, if not damaged, and reflects the changes on the order.
- **medusa_returns_confirm_request** — Confirm Return Request. Confirm a requested return. The changes are applied on the inventory quantity and the order only after the return has been confirmed as received using the `/admin/returns/:id/received/confirm`.
- **medusa_returns_cancel_request** — Cancel Return Request. Cancel a requested return.
- **medusa_returns_add_request_items** — Add Requested Items to Return. Add items that are requested to be returned. These items will have the action `RETURN_ITEM`.
- **medusa_returns_update_request_item** — Update Requested Item in Return. Update a requested item to be returned by the ID of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_remove_request_item** — Remove Item from Return. Remove a requested item to be returned by the ID of the item's `RETURN_ITEM` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property. return.
- **medusa_returns_add_shipping_method** — Add a Shipping Method to a Return. Add a shipping method to a return. The shipping method will have a `SHIPPING_ADD` action.
- **medusa_returns_update_shipping_method** — Update a Shipping Method of a Return. Update a shipping method of the return by the ID of the item's `SHIPPING_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **medusa_returns_remove_shipping_method** — Remove Shipping Method from Return. Remove a shipping method of the return by the ID of the item's `SHIPPING_ADD` action. Every item has an `actions` property, whose value is an array of actions. You can check the action's name using its `action` property, and use the value of the `id` property.
- **list_all_medusa_sales_channels** — List Sales Channels. Retrieve a list of sales channels. The sales channels can be filtered by fields such as `id`. The sales channels can also be sorted or paginated.
- **create_a_medusa_sales_channel** — Create Sales Channel. Create a sales channel.
- **get_single_medusa_sales_channel_by_id** — Get a Sales Channel. Retrieve a sales channel by its ID. You can expand the sales channel's relations or select the fields that should be returned.
- **update_a_medusa_sales_channel_by_id** — Update a Sales Channel. Update a sales channel's details.
- **delete_a_medusa_sales_channel_by_id** — Delete a Sales Channel
- **medusa_sales_channels_manage_products** — Manage Products in Sales Channel. Manage products in a sales channel to add or remove them from the channel.
- **list_all_medusa_search** — Search Admin. Search entities that have a search index and are defined as search entities in the Medusa Admin.
- **list_all_medusa_search_indexes** — List Search Indexes. Retrieve the list of search indexes registered in your application, including each index's provider, lifecycle status, and the fields it stores. If the Search Module isn't installed in your application, `enabled` is `false` and `search_indexes` is an empty array.
- **delete_a_medusa_search_index_by_id** — Delete a Search Index. Delete a search index and every physical index built for it in the search engine. The index's definition isn't removed, so the next time search index migrations run, the index is built again from scratch at version 1.
- **medusa_search_indexes_reindex** — Reindex a Search Index. Rebuild a search index's documents using the `seed` function of its index definition. The rebuild runs in the background, so the response is returned immediately with the ID of the triggered job. Use the List Search Indexes API route to check the index's `status` and know when the rebuild is done.
- **list_all_medusa_shipping_option_types** — List Shipping Option Types. Retrieve a list of shipping option types. The shipping option types can be filtered by fields such as `id`. The shipping option types can also be sorted or paginated.
- **create_a_medusa_shipping_option_type** — Create Shipping Option Type. Create a shipping option type.
- **get_single_medusa_shipping_option_type_by_id** — Get a Shipping Option Type. Retrieve a shipping option type by its ID. You can expand the shipping option type's relations or select the fields that should be returned.
- **update_a_medusa_shipping_option_type_by_id** — Update a Shipping Option Type. Update a shipping option type's details.
- **delete_a_medusa_shipping_option_type_by_id** — Delete a Shipping Option Type
- **list_all_medusa_shipping_options** — List Shipping Options. Retrieve a list of shipping options. The shipping options can be filtered by fields such as `id`. The shipping options can also be sorted or paginated.
- **create_a_medusa_shipping_option** — Create Shipping Option. Create a shipping option.
- **get_single_medusa_shipping_option_by_id** — Get a Shipping Option. Retrieve a shipping option by its ID. You can expand the shipping option's relations or select the fields that should be returned.
- **update_a_medusa_shipping_option_by_id** — Update a Shipping Option. Update a shipping option's details. When you provide the `prices` array, it replaces the shipping option's existing flat-rate prices: - A price with a matching `id` is updated. - A price without an `id` is created - Any existing price whose `id` isn't included in the array is deleted. The `rules` you provide for a price similarly replace that price's existing rules, so omit a rule to remove it. Omitting the `prices` property entirely leaves the existing prices unchanged, whereas setting `price_type` to `calculated` removes all flat-rate prices.
- **delete_a_medusa_shipping_option_by_id** — Delete a Shipping Option
- **medusa_shipping_options_batch_rules** — Manage the Rules of a Shipping Option. Manage the rules of a shipping option to create, update, or delete them.
- **list_all_medusa_shipping_profiles** — List Shipping Profiles. Retrieve a list of shipping profiles. The shipping profiles can be filtered by fields such as `id`. The shipping profiles can also be sorted or paginated.
- **create_a_medusa_shipping_profile** — Create Shipping Profile. Create a shipping profile.
- **get_single_medusa_shipping_profile_by_id** — Get a Shipping Profile. Retrieve a shipping profile by its ID. You can expand the shipping profile's relations or select the fields that should be returned.
- **update_a_medusa_shipping_profile_by_id** — Update a Shipping Profile. Update a shipping profile's details.
- **delete_a_medusa_shipping_profile_by_id** — Delete a Shipping Profile
- **list_all_medusa_stock_locations** — List Stock Locations. Retrieve a list of stock locations. The stock locations can be filtered by fields such as `id`. The stock locations can also be sorted or paginated.
- **create_a_medusa_stock_location** — Create Stock Location. Create a stock location.
- **get_single_medusa_stock_location_by_id** — Get a Stock Location. Retrieve a stock location by its ID. You can expand the stock location's relations or select the fields that should be returned.
- **update_a_medusa_stock_location_by_id** — Update a Stock Location. Update a stock location's details.
- **delete_a_medusa_stock_location_by_id** — Delete a Stock Location
- **medusa_stock_locations_manage_fulfillment_providers** — Manage Fulfillment Providers of a Stock Location. Manage the fulfillment providers to add or remove them from a stock location.
- **medusa_stock_locations_create_fulfillment_set** — Add Fulfillment Set to Stock Location. Create and add a fulfillment set to a stock location.
- **medusa_stock_locations_manage_sales_channels** — Manage Sales Channels of a Stock Location. Manage the sales channels in a stock location by adding or removing them.
- **list_all_medusa_store_credit_accounts** — List Store Credit Accounts. Retrieve a list of store credit accounts. The store credit accounts can be filtered by fields such as `id`. The store credit accounts can also be sorted or paginated.
- **create_a_medusa_store_credit_account** — Create Store Credit Account. Create a store credit account.
- **get_single_medusa_store_credit_account_by_id** — Get a Store Credit Account. Retrieve a store credit account by its ID. You can expand the store credit account's relations or select the fields that should be returned.
- **medusa_store_credit_accounts_credit** — Add Credit to Store Credit Account. Add credit to a store credit account
- **medusa_store_credit_accounts_debit** — Debit a Store Credit Account. Debit an amount from a store credit account, deducting it from the customer's store credit balance. The debit is recorded as a `debit` transaction on the account that references the authenticated admin user.
- **list_all_medusa_store_credit_account_transactions** — List Transactions. Retrieve a list of transactions in a store credit account. The transactions can be filtered by fields like FILTER FIELDS. The transactions can also be paginated.
- **list_all_medusa_stores** — List Stores. Retrieve a list of stores. The stores can be filtered by fields such as `id`. The stores can also be sorted or paginated.
- **get_single_medusa_store_by_id** — Get a Store. Retrieve a store by its ID. You can expand the store's relations or select the fields that should be returned.
- **update_a_medusa_store_by_id** — Update a Store. Update a store's details.
- **list_all_medusa_tax_providers** — List Tax Providers. Retrieve a list of tax providers installed in the Medusa application through Tax Module Providers. The tax providers can be filtered by fields such as `id`. The tax providers can also be sorted or paginated.
- **list_all_medusa_tax_rates** — List Tax Rates. Retrieve a list of tax rates. The tax rates can be filtered by fields such as `id`. The tax rates can also be sorted or paginated.
- **create_a_medusa_tax_rate** — Create Tax Rate. Create a tax rate.
- **get_single_medusa_tax_rate_by_id** — Get a Tax Rate. Retrieve a tax rate by its ID. You can expand the tax rate's relations or select the fields that should be returned.
- **update_a_medusa_tax_rate_by_id** — Update a Tax Rate. Update a tax rate's details.
- **delete_a_medusa_tax_rate_by_id** — Delete a Tax Rate
- **create_a_medusa_tax_rate_rule** — Create Tax Rule for a Rate. Create a tax rule for a rate.
- **delete_a_medusa_tax_rate_rule_by_id** — Remove Rule of Tax Rate. Remove a tax rate's rule.
- **list_all_medusa_tax_regions** — List Tax Regions. Retrieve a list of tax regions. The tax regions can be filtered by fields such as `id`. The tax regions can also be sorted or paginated.
- **create_a_medusa_tax_region** — Create Tax Region. Create a tax region.
- **get_single_medusa_tax_region_by_id** — Get a Tax Region. Retrieve a tax region by its ID. You can expand the tax region's relations or select the fields that should be returned.
- **update_a_medusa_tax_region_by_id** — Update a Tax Region. Update a tax region's details.
- **delete_a_medusa_tax_region_by_id** — Delete a Tax Region
- **list_all_medusa_translations** — List Translations. Retrieve a list of translations. The translations can be filtered by fields such as `reference_id` (For example, the ID of a product). The translations can also be sorted or paginated.
- **medusa_translations_batch** — Manage Translations. Manage translations in bulk by creating, updating, or deleting multiple translations in a single request. You can manage translations for various resources such as products, product variants, categories, and more.
- **medusa_translations_list_entities** — List Translatable Entities. Retrieve a list of translatable entities. The entities can be filtered by fields such as `id`. The entities can also be sorted or paginated.
- **medusa_translations_get_settings** — List Translation Settings. Retrieve the list of translatable fields for all entities, such as products and collections. You can also filter the results by entity type or active entities.
- **medusa_translations_batch_settings** — Manage Translation Settings. Create, update, or delete multiple translation settings.
- **medusa_translations_statistics** — Retrieve Translation Statistics. Get statistics on translations for specified locales and entity types. This includes overall translation progress for each entity type, and statistics for each locale within those entity types.
- **create_a_medusa_upload** — Upload Files. Upload files to the configured File Module Provider.
- **medusa_uploads_create_presigned_url** — Get Presigned Upload URL. Get a presigned URL for uploading a file to the configured File Module Provider. The presigned URL can be used to upload files directly to the third-party provider. This only works if your configured provider supports presigned URLs, such as the S3 provider.
- **get_single_medusa_upload_by_id** — Get a File. Retrieve an uploaded file by its ID. You can expand the file's relations or select the fields that should be returned.
- **delete_a_medusa_upload_by_id** — Delete a File. Delete a file. Uses the installed file module provider to delete the file.
- **list_all_medusa_users** — List Users. Retrieve a list of users. The users can be filtered by fields such as `id`. The users can also be sorted or paginated.
- **get_single_medusa_user_by_id** — Get a User. Retrieve a user by its ID. You can expand the user's relations or select the fields that should be returned.
- **update_a_medusa_user_by_id** — Update a User. Update a user's details.
- **delete_a_medusa_user_by_id** — Delete a User
- **medusa_users_reset_password** — Generate Reset Password Token for a User. Generate a reset password token for a user. This is useful if another user wants to reset the password of a user. The reset password token can be used to reset the user's password. This route only emits the `auth.password_reset` event. You can listen to this event to send a reset password email to the user, for example.
- **list_all_medusa_user_auth_providers** — List Auth Providers of a User. Retrieve a list of auth providers that a user can authenticate with. These represent the auth providers that the user has previously used to log in or register with the system.
- **list_all_medusa_workflows_executions** — List Workflows Executions. Retrieve a list of workflows executions. The workflows executions can be filtered by fields such as `id`. The workflows executions can also be sorted or paginated.
- **get_single_medusa_workflows_execution_by_id** — Get a Workflows Execution. Retrieve a workflows execution by its ID. You can expand the workflows execution's relations or select the fields that should be returned.
- **medusa_workflows_executions_run** — Execute a Workflow. Execute a workflow by its ID.
- **medusa_workflows_executions_set_step_failure** — Fail a Step in a Workflow's Execution. Set the status of a step in a workflow's execution as failed. This is useful for long-running workflows.
- **medusa_workflows_executions_set_step_success** — Succeed a Step in a Workflow's Execution. Set the status of a step in a workflow's execution as successful. This is useful for long-running workflows.
- **medusa_workflows_executions_get_by_transaction** — Get Workflow Execution's Details. Get the details of the workflow's execution.

## How it works

1. **Link your customer's Medusa account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Medusa.** The Proxy API is a 1-to-1 mapping of the Medusa API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed Medusa catalog sync in your PIM or ERP** — Let mutual customers push product data, variants, options, categories, and localized translations from your platform into their Medusa store without them writing custom sync scripts. Truto handles the auth and API quirks so you can ship bi-directional catalog sync natively.
- **Power post-purchase workflows for RMA and warranty SaaS** — Offer your users a one-click Medusa connection to orchestrate returns, claims, and exchanges — including dismissing damaged inventory and generating outbound replacements — all from inside your returns portal.
- **Enable B2B quoting and CPQ on top of Medusa** — Sales enablement and CPQ platforms can let reps construct draft orders, apply negotiated price lists, and convert approved quotes into live Medusa orders, tying CRM pipeline directly to merchant revenue.
- **Build an OMS or 3PL integration for multi-warehouse brands** — Warehouse and order management SaaS can read Medusa orders, evaluate multi-location inventory, create fulfillments against specific stock locations, and push shipment tracking back — without each customer wiring up Medusa manually.
- **Launch dynamic pricing and customer segmentation** — CRM, loyalty, and pricing engines can map shoppers into Medusa customer groups and push bulk wholesale or tiered pricing via price lists, so merchants can run segment-specific pricing driven by your product.

## What you can build

- **Two-way product and variant sync** — Keep products, variants, options, categories, tags, and types in lockstep between your platform and Medusa, including batch create/update operations and image management.
- **Multi-location inventory management** — Read and write stock levels across Medusa stock locations, link variants to inventory items, and run batch updates to location levels from your WMS or OMS.
- **Draft order and B2B quoting workflow** — Create draft orders, edit line items, apply promotions and shipping methods, request customer approval, and convert accepted quotes into real Medusa orders.
- **Returns, claims, and exchange orchestration** — Initiate returns, claims, or exchanges with granular control over inbound items, dismissed/damaged stock, outbound replacements, and shipping methods for a complete post-purchase flow.
- **Order fulfillment and shipment tracking** — Fetch orders, create fulfillments against specific stock locations, mark deliveries, create shipments with tracking, and manage cancellations end-to-end.
- **Promotions, price lists, and customer group pricing** — Programmatically create promotions and campaigns, manage buy/target rules, and roll out wholesale or segmented pricing via price lists tied to customer groups.

## FAQs

### How do end users authenticate their Medusa account?

Medusa uses API keys scoped to the admin API. Your users generate a key in their Medusa admin and provide it during the Truto connection flow — Truto stores and rotates credentials so you never handle them directly.

### Does this integration support self-hosted Medusa instances?

Yes. Because Medusa is open-source and typically self-hosted, Truto lets each connected account specify its own Medusa base URL alongside the API key, so you can support customers running Medusa on their own infrastructure.

### Can we sync multi-location inventory and link it to product variants?

Yes. The integration exposes stock locations, inventory items, and inventory item location levels, including batch endpoints, plus explicit tools to link, update, and unlink inventory items against product variants.

### Does the integration cover B2B workflows like draft orders and price lists?

Yes. You get full coverage of draft orders (create, edit items, add shipping, add promotions, request edits, convert to order) as well as price lists, price list prices in batch, customer groups, and promotions with rule management.

### How are returns, claims, and exchanges handled?

Each is a first-class resource with granular sub-operations — you can add/update/remove inbound and outbound items, manage inbound and outbound shipping methods, confirm or cancel requests, and dismiss damaged items so they're written off instead of restocked.

### Can we handle long-running operations like product imports and exports?

Yes. The integration supports creating and confirming product imports, exporting products, orders, and inventory items, plus access to workflow executions so you can monitor async jobs triggered through Medusa.
