openapi: 3.0.0 info: version: 2.0.0 title: Medusa Admin API license: name: MIT url: https://github.com/medusajs/medusa/blob/develop/LICENSE servers: - url: http://localhost:9000 - url: https://api.medusajs.com tags: - name: Auth description: | Auth API routes allow you to manage an admin user's authentication. - name: Api Keys description: | API keys can be used for authentication or resource-scoping. A secret API key can be used to authenticate admin users. A publishable API key can be used to scope client requests to one or more sales channels. These API routes allow admin users to manage both publishable and secret API keys. externalDocs: description: Learn more about the API Key Module url: https://docs.medusajs.com/v2/resources/commerce-modules/api-key x-associatedSchema: $ref: '#/components/schemas/AdminApiKey' - name: Campaigns description: | A campaign is a group of promotions that have the same conditions, such as start and end dates. These API routes allow admin users to manage campaigns, their conditions, and promotions that belong to them. externalDocs: description: Learn more about campaigns. url: https://docs.medusajs.com/v2/resources/commerce-modules/promotion/campaign x-associatedSchema: $ref: '#/components/schemas/AdminCampaign' - name: Claims description: | An admin creates a claim for an order when a customer reports that an item is defective or incorrect. Using these API routes, admin users manage order claims, their items, and more. x-associatedSchema: $ref: '#/components/schemas/AdminClaim' externalDocs: description: Learn more about order claims. url: https://docs.medusajs.com/v2/resources/commerce-modules/order/claim - name: Collections description: | A product collection organizes products into a collection for marketing purposes. For example, a summer collection. These API routes allow admin users to manage collections and the products in them. x-associatedSchema: $ref: '#/components/schemas/AdminCollection' - name: Currencies description: | A store can use unlimited currencies, and each region must be associated with at least one currency. Currencies are defined by the Currency Module. Currency API Routes allow admins to list and update currencies. externalDocs: description: Learn more about the Currency Module url: https://docs.medusajs.com/v2/resources/commerce-modules/currency x-associatedSchema: $ref: '#/components/schemas/AdminCurrency' - name: Customer Groups description: | Customers can be organized into groups. These groups are useful for segregation and marketing purposes. For example, you can provide different prices for specific customers by creating a price list conditioned to their group. These API routes allow admin users to manage groups and the customers in them. externalDocs: description: Learn more about the Customer Module url: https://docs.medusajs.com/v2/resources/commerce-modules/customer x-associatedSchema: $ref: '#/components/schemas/AdminCustomerGroup' - name: Customers description: | Customers can either be created when they register through the Store APIs, or created by the admin using the Admin APIs. These API routes allow admin users to manage customers in their store. externalDocs: description: Learn more about the Customer Module url: https://docs.medusajs.com/v2/resources/commerce-modules/customer x-associatedSchema: $ref: '#/components/schemas/AdminCustomer' - name: Draft Orders description: | A draft order is an order created by the admin user. This is useful for orders created offline or from clients other than a storefront, such as a third-party integration. These API routes allow admin users to create and manage draft orders. externalDocs: description: Learn more about the Order Module url: https://docs.medusajs.com/v2/resources/commerce-modules/order - name: Exchanges description: | An exchange is the replacement of an item that the customer ordered with another. These API routes allow admin users t create and manage exchanges. externalDocs: description: Learn more about the order exchanges. url: https://docs.medusajs.com/v2/resources/commerce-modules/order/exchange x-associatedSchema: $ref: '#/components/schemas/AdminExchange' - name: Fulfillment Providers description: | A fulfillment provider is a third-party integration or custom logic used to fulfill an order's items. Fulfillment providers are installed as module providers. externalDocs: description: Learn more about the fulfillment providers and how to create them. url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/fulfillment-provider x-associatedSchema: $ref: '#/components/schemas/AdminFulfillmentProvider' - name: Fulfillment Sets description: | A fulfillment set is a general form or way of fulfillment, such as "shipping" or "pick up". All fulfillment-related configurations in a store are related to a fulfillment set. These API routes allow admin users to manage fulfillment sets. externalDocs: description: Learn more about fulfillment sets. url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/concepts x-associatedSchema: $ref: '#/components/schemas/AdminFulfillmentSet' - name: Fulfillments description: | A fulfillment is created for items in an order, return, exchanges, or claims to deliver items to/from the customer. These API routes allow admin users to manage fulfillments. externalDocs: description: Learn more about fulfillments. url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/item-fulfillment x-associatedSchema: $ref: '#/components/schemas/AdminFulfillment' - name: Inventory Items description: | An inventory item is a stock-kept product whose inventory is managed. These API routes allow admin users to manage inventory items. externalDocs: description: Learn more about inventory items. url: https://docs.medusajs.com/v2/resources/commerce-modules/inventory/concepts x-associatedSchema: $ref: '#/components/schemas/AdminInventoryItem' - name: Invites description: | An admin can invite new users to manage their team. This allows new users to authenticate as admins and perform admin functionalities. These API routes allow admin users to manage invites. externalDocs: description: Learn more about the User Module url: https://docs.medusajs.com/v2/resources/commerce-modules/user x-associatedSchema: $ref: '#/components/schemas/AdminInvite' - name: Notifications description: | A notification informs an admin user of store changes or status changes of background tasks. These API routes allow admin users to view and manage notifications. x-associatedSchema: $ref: '#/components/schemas/AdminNotification' - name: Order Edits description: | An order edit is a change to an order's details, such as items, shipping methods, and more. Changes made by an order edit are only applied on the order once they're confirmed. The order's previous version is retained due to versioning. These API routes allow admin users to make edits to an order and manage those edits. externalDocs: description: Learn more about the Order Module url: https://docs.medusajs.com/v2/resources/commerce-modules/order - name: Orders description: | An order is a purchase made by a customer through a storefront. Orders can also originally be created as draft orders. These API routes allow admin users to view and manage orders. externalDocs: description: Learn more about the orders url: https://docs.medusajs.com/v2/resources/commerce-modules/order/concepts x-associatedSchema: $ref: '#/components/schemas/AdminOrder' - name: Payment Collections description: | A payment collection is one or more payments of an order. They're also used for outstanding payments due to order exchanges or claims. Every purchase or request for payment starts with a payment collection. A payment collection holds the payment sessions used to authorize the payment amount, and the payments to be captured / refunded. These API routes allow admin users to manage payment collections. externalDocs: description: Learn more about payment collections. url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-collection x-associatedSchema: $ref: '#/components/schemas/AdminPaymentCollection' - name: Payments description: | A payment is created when a payment amount is authorized. The payment can then be captured or refunded. A payment is created from the payment session that was authorized, and it belongs to the payment session's collection. These API routes allow admin users to manage payments. externalDocs: description: Learn more about payments. url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment x-associatedSchema: $ref: '#/components/schemas/AdminPayment' - name: Price Lists description: | A price list is a group of prices applied if the specified conditions and rules are satisfied. Price lists are useful for sales or special prices for special conditions, such as applying prices for a set of customers. These API routes allow admin users to manage price lists. externalDocs: description: Learn more about price lists. url: https://docs.medusajs.com/v2/resources/commerce-modules/pricing/concepts#price-list x-associatedSchema: $ref: '#/components/schemas/AdminPriceList' - name: Price Preferences description: | A price preference is used to specify whether tax-inclusiveness is enabled for a context, such as a region or currency code. These API routes allow admin users to manage whether a region or currency is tax inclusive. externalDocs: description: Learn more about tax-inclusiveness and the role of a price preference. url: https://docs.medusajs.com/v2/resources/commerce-modules/pricing/tax-inclusive-pricing x-associatedSchema: $ref: '#/components/schemas/AdminPricePreference' - name: Product Categories description: | Products can be categorized into categories. Categories are nested and their heirarchy can be managed, giving admin users flexibility in how they categorize their products. These API routes allow admin users to manage categories and the products in them. externalDocs: description: Learn more about the Product Module url: https://docs.medusajs.com/v2/resources/commerce-modules/product x-associatedSchema: $ref: '#/components/schemas/AdminProductCategory' - name: Product Tags description: | A tag is another way of organizing a product. Each tag has a name and a value. Products are organized into the same tag if they have the same value. These API routes allow admin users to manage product tags. externalDocs: description: Learn more about the Product Module url: https://docs.medusajs.com/v2/resources/commerce-modules/product x-associatedSchema: $ref: '#/components/schemas/AdminProductTag' - name: Product Types description: | Products can be organized into types. Each type has a name and a value. Products are organized into the same type if they have the same value. These API routes allow admin users to manage product types. externalDocs: description: Learn more about the Product Module url: https://docs.medusajs.com/v2/resources/commerce-modules/product x-associatedSchema: $ref: '#/components/schemas/AdminProductType' - name: Product Variants description: | A product variant is a saleable form of the product. Each variant has different option values. For example, a "Shirt" product may have a "Blue" variant and a "Green" variant. Customers choose from these variants when they buy the product. These API routes allow admin users to manage product variants. externalDocs: description: Learn more about the Product Module url: https://docs.medusajs.com/v2/resources/commerce-modules/product x-associatedSchema: $ref: '#/components/schemas/AdminProductVariant' - name: Products description: | A product is a set of variants that the customer chooses from when making a purchase. A product can be organized into categories or collections. A product can have many options, and variants for each of these options' values. These API routes allow admin users to manage products. externalDocs: description: Learn more about the Product Module url: https://docs.medusajs.com/v2/resources/commerce-modules/product x-associatedSchema: $ref: '#/components/schemas/AdminProduct' - name: Promotions description: | A promotion discounts an amount or percentage off a cart's items, shipping methods, or the entire order. Promotions have different types, such as a `standard` promotion that just discounts an amount, or a `buyget` promotion to enforce a "buy X get Y" promotion. A promotion has rules to restrict how and when they're applied. Promotions belong to a campaign, which sets conditions on the promotion such as when it starts and ends. These API routes allow admin users to manage promotions. externalDocs: description: Learn more about promotions. url: https://docs.medusajs.com/v2/resources/commerce-modules/promotion/concepts x-associatedSchema: $ref: '#/components/schemas/AdminPromotion' - name: Refund Reasons description: | A refund reason is a possible reason used when issuing a refund to the customer, such as when returning an item and refunding the customer. These API routes allow admin users to manage refund reasons. x-associatedSchema: $ref: '#/components/schemas/AdminRefundReason' - name: Regions description: | Regions are different countries or geographical regions that the commerce store serves customers in. These API routes allow admin users to manage regions, their providers, and more. externalDocs: description: Learn more about the Region Module. url: https://docs.medusajs.com/v2/resources/commerce-modules/region x-associatedSchema: $ref: '#/components/schemas/AdminRegion' - name: Reservations description: | A reservation is unavailable quantity of an inventory item in a location. A reservation is created automatically for variants in an order whose `manage_inventory` is enabled. Admin users can also create reservations manually. These API routes allow admin users to manage reservations. externalDocs: description: Learn more about reservations and other inventory concepts. url: https://docs.medusajs.com/v2/resources/commerce-modules/inventory/concepts x-associatedSchema: $ref: '#/components/schemas/AdminReservation' - name: Return Reasons description: | A return reason is a possible reason that an item is returned from the customer, such as when returning an item. These API routes allow admin users to manage return reasons. x-associatedSchema: $ref: '#/components/schemas/AdminReturnReason' - name: Returns description: | Admin users create a return when a customer returns an item to them. Returns can also be created by customers through the storefront, and admins will be able to manage them and make refunds, if necessary. Refunds are made through the [Payment API Routes](#payment) These API routes allow admin users to manage returns. externalDocs: description: Learn more about order returns. url: https://docs.medusajs.com/v2/resources/commerce-modules/order/return x-associatedSchema: $ref: '#/components/schemas/AdminReturn' - name: Sales Channels description: | A sales channel indicates a channel where products can be sold in. For example, a webshop or a mobile app. These API routes allow admins to manage sales channels and the products available in them. externalDocs: description: Learn more about the Sales Channel Module. url: https://docs.medusajs.com/v2/resources/commerce-modules/sales-channel x-associatedSchema: $ref: '#/components/schemas/AdminSalesChannel' - name: Shipping Options description: | A shipping option is a way of shipping an item to or from the customer. Shipping options are associated with the fulfillment provider used to handle their fulfillment. Shipping options can be restricted geographically by service zones, and by custom rules, such as an item's weight or the customer's group. These API routes allow admins to manage shipping options. externalDocs: description: Learn more about shipping options. url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option x-associatedSchema: $ref: '#/components/schemas/AdminShippingOption' - name: Shipping Profiles description: | A shipping profile defines a type of items that are shipping in a similar manner. For example, digital products may have a `digital` shipping profile. These API routes allow admin users to manage shipping profiles. externalDocs: description: Learn more about shipping profiles and other fulfillment concepts. url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/concepts#shipping-profile x-associatedSchema: $ref: '#/components/schemas/AdminShippingProfile' - name: Stock Locations description: | A stock location is where stock-kept items (products) are kept. Stock locations are linked to fulfillment providers used to fulfill items from this location. A stock location is also link to a fulfillment set, indicating where an item is fulfilled from when an order is placed. These API routes allow admin users to manage stock locations and their linked data. externalDocs: description: Learn more about stock locations. url: https://docs.medusajs.com/v2/resources/commerce-modules/stock-location/concepts x-associatedSchema: $ref: '#/components/schemas/AdminStockLocation' - name: Stores description: | A store holds the main configuration and information of your commerce store, such as supported currencies or default sales channel. By default, the Medusa application has one default store. There are no API routes to create more stores. Instead, you'd have to handle that customization manually. These API routes allow admin users to manage their store. externalDocs: description: Learn more about the Store Module. url: https://docs.medusajs.com/v2/resources/commerce-modules/store x-associatedSchema: $ref: '#/components/schemas/AdminStore' - name: Tax Rates description: | A tax rate is a percentage amount used to calculate the tax amount of each taxable item's price, such as line items or shipping methods. Each tax region has a default tax rate. You can create tax rates that override the default using tax rules. These API routes allow admin users to manage tax rates and their rules. externalDocs: description: Learn more about tax rates and rules. url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-rates-and-rules x-associatedSchema: $ref: '#/components/schemas/AdminTaxRate' - name: Tax Regions description: | A tax region is a region's tax settings. It has tax rates and rules. So, after you create a region, you must create a tax region for it. A tax region can extend settings from a parent tax region. These API routes allow admin users to manage tax regions. externalDocs: description: Learn more about tax regions. url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-region x-associatedSchema: $ref: '#/components/schemas/AdminTaxRegion' - name: Uploads description: | Use these API routes to upload files to your Medusa application using the installed file module provider. You can upload public files, such as product images, or private files, such as CSV files used to import products. externalDocs: description: Check out available file module providers. url: https://docs.medusajs.com/v2/resources/architectural-modules/file - name: Users description: | A user is an admin user that can authenticate and perform functionalities as an admin user. An admin user can invite other users to join their team. Once they accept the invite, they'll become admin users as well. These API routes allow admin users to manage their team. externalDocs: description: Learn more about the User Module. url: https://docs.medusajs.com/v2/resources/commerce-modules/user x-associatedSchema: $ref: '#/components/schemas/AdminUser' - name: Workflows Executions description: | These API routes allow you to track workflow executions in your Medusa application. Depending on the workflow engine you use, executions may only be retained for a short while, or only until the Medusa application is restarted. externalDocs: description: Check out available Workflow Engine Modules url: https://docs.medusajs.com/v2/resources/architectural-modules/workflow-engine paths: /admin/api-keys: get: operationId: GetApiKeys summary: List API Keys description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: A search term to search the API keys' searchable properties. required: false schema: type: string title: q description: The search term. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by an API key's ID. - type: array description: Filter by API key IDs. items: type: string title: id description: The API key ID. - name: title in: query required: false schema: oneOf: - type: string title: title description: Filter by an API key's title. - type: array description: Filter by API key titles. items: type: string title: title description: The API key title. - name: token in: query required: false schema: oneOf: - type: string title: token description: Filter by an API key's token. - type: array description: Filter by API key tokens. items: type: string title: token description: The API key token. - name: type in: query description: Filter by the API key's type. required: false schema: type: string enum: - secret - publishable - name: created_at in: query description: Filter by the API key's creation date. required: false schema: type: object description: Filter by the API key's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the API key's update date. required: false schema: type: object description: Filter by the API key's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the API key's deletion date. required: false schema: type: object description: Filter by the API key's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: revoked_at in: query description: Filter by the API key's revoke date. required: false schema: type: object description: Filter by the API key's revoke date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/api-keys' \ -H 'x-medusa-access-token: {api_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: allOf: - type: object required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned in the list. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total count of items. - type: object required: - api_keys properties: api_keys: type: array description: The list of API keys. items: $ref: '#/components/schemas/ApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostApiKeys summary: Create Api Key description: | 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. x-authenticated: true security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateApiKey' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/api-keys' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}", "type": "{value}" }' tags: - Api Keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createApiKeysWorkflow /admin/api-keys/{id}: get: operationId: GetApiKeysId summary: Get API Key description: 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. x-authenticated: true parameters: - name: id in: path description: The API key's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/api-keys/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostApiKeysId summary: Update an API Key description: Update an API key's details. x-authenticated: true parameters: - name: id in: path description: The API key's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateApiKey' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/api-keys/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}" }' tags: - Api Keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateApiKeysWorkflow delete: operationId: DeleteApiKeysId summary: Delete an Api Key description: | Delete a publishable or secret API key. x-authenticated: true parameters: - name: id in: path description: The API key's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/api-keys/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The API key's ID. object: type: string title: object description: The name of the object that was deleted. default: api_key deleted: type: boolean title: deleted description: Whether the API key was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteApiKeysWorkflow /admin/api-keys/{id}/revoke: post: operationId: PostApiKeysIdRevoke summary: Revoke API Key description: | 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. x-authenticated: true parameters: - name: id in: path description: The API key's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminRevokeApiKey' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/api-keys/{id}/revoke' \ -H 'x-medusa-access-token: {api_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: revokeApiKeysWorkflow /admin/api-keys/{id}/sales-channels: post: operationId: PostApiKeysIdSalesChannels summary: Manage Sales Channels of a Publishable API Key x-sidebar-summary: Manage Sales Channels description: Manage the sales channels of a publishable API key, either to associate them or remove them from the API key. x-authenticated: true parameters: - name: id in: path description: The API key's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The sales channels to add or remove from the publishable API key. properties: add: type: array description: The sales channels to add to the publishable API key. items: type: string title: add description: A sales channel's ID. remove: type: array description: The sales channels to remove from the publishable API key. items: type: string title: remove description: A sales channel's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/api-keys/{id}/sales-channels' \ -H 'x-medusa-access-token: {api_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminApiKeyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: linkSalesChannelsToApiKeyWorkflow /admin/campaigns: get: operationId: GetCampaigns summary: List Campaigns description: Retrieve a list of campaigns. The campaigns can be filtered by fields such as `id`. The campaigns can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/campaigns' \ -H 'x-medusa-access-token: {api_token}' tags: - Campaigns responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of campaigns. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items retrieved. offset: type: number title: offset description: The number of its skipped before the returned items. count: type: number title: count description: The total number of items. - type: object description: The list of campaigns required: - campaigns properties: campaigns: type: array description: The list of campaigns. items: $ref: '#/components/schemas/CampaignResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCampaigns summary: Create Campaign description: Create a campaign. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The campaign's details. required: - name - campaign_identifier - description - budget - starts_at - ends_at properties: name: type: string title: name description: The campaign's name. campaign_identifier: type: string title: campaign_identifier description: The campaign's identifier. description: type: string title: description description: The campaign's description. budget: type: object description: The campaign's budget which, when crossed, ends the campaign. required: - type - limit - currency_code properties: type: type: string title: type description: | The budget's type. This can't be edited later. Use `spend` to set a limit on the total amount discounted by the campaign's promotions. Use `usage` to set a limit on the total number of times the campaign's promotions can be used. enum: - spend - usage limit: type: number title: limit description: The campaign budget's limit. currency_code: type: string title: currency_code description: The campaign budget's currency code. This can't be edited later. starts_at: type: string title: starts_at description: The campaign's start date. format: date-time ends_at: type: string title: ends_at description: The campaign's end date. format: date-time promotions: type: array description: The campaign's promotions. items: type: object description: The promotions to add to the campaign. required: - id properties: id: type: string title: id description: A promotion's ID. - type: object description: The campaign's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The campaign's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/campaigns' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Gunner", "campaign_identifier": "{value}", "description": "{value}", "starts_at": "2024-08-24T00:19:14.144Z", "ends_at": "2024-10-01T06:47:50.133Z" }' tags: - Campaigns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCampaignResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createCampaignsWorkflow /admin/campaigns/{id}: get: operationId: GetCampaignsId summary: Get a Campaign description: 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. x-authenticated: true parameters: - name: id in: path description: The campaign's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/campaigns/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Campaigns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCampaignResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCampaignsId summary: Update a Campaign description: Update a campaign's details. x-authenticated: true parameters: - name: id in: path description: The campaign's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The campaign's details. required: - description - starts_at - ends_at properties: name: type: string title: name description: The campaign's name. campaign_identifier: type: string title: campaign_identifier description: The campaign's identifier. description: type: string title: description description: The campaign's description. budget: type: object description: The campaign's budget. required: - limit properties: limit: type: number title: limit description: The campaign budget's limit. starts_at: type: string title: starts_at description: The campaign's start date. format: date-time ends_at: type: string title: ends_at description: The campaign's end date. format: date-time promotions: type: array description: The campaign's promotions. items: type: object description: The promotions to add to the campaign. required: - id properties: id: type: string title: id description: A promotion's ID. - type: object description: The campaign's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The campaign's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/campaigns/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "description": "{value}", "starts_at": "2024-08-10T14:44:10.530Z", "ends_at": "2024-07-13T17:45:37.462Z" }' tags: - Campaigns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCampaignResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateCampaignsWorkflow delete: operationId: DeleteCampaignsId summary: Delete a Campaign description: | Delete a campaign by its ID. This doesn't delete promotions that belong to this campaign. x-authenticated: true parameters: - name: id in: path description: The campaign's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/campaigns/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Campaigns responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The campaign's ID. object: type: string title: object description: The name of the object that was deleted. default: campaign deleted: type: boolean title: deleted description: Whether the campaign was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteCampaignsWorkflow /admin/campaigns/{id}/promotions: post: operationId: PostCampaignsIdPromotions summary: Manage the Promotions of a Campaign x-sidebar-summary: Manage Promotions description: Manage the promotions of a campaign, either by adding them or removing them from the campaign. x-authenticated: true parameters: - name: id in: path description: The campaign's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The promotions to add or remove from the campaign. properties: add: type: array description: The promotions to add to the campaign. items: type: string title: add description: A promotion's ID. remove: type: array description: The promotions to remove from the campaign. items: type: string title: remove description: A promotion's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/campaigns/{id}/promotions' \ -H 'x-medusa-access-token: {api_token}' tags: - Campaigns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCampaignResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: addOrRemoveCampaignPromotionsWorkflow /admin/claims: get: operationId: GetClaims summary: List Claims description: Retrieve a list of claims. The claims can be filtered by fields such as `id`. The claims can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: deleted_at in: query description: The claim's deleted at. required: false schema: type: object description: The claim's deleted at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: q in: query description: The claim's q. required: false schema: type: string title: q description: The claim's q. - name: id in: query required: false schema: oneOf: - type: string title: id description: The claim's ID. - type: array description: The claim's ID. items: type: string title: id description: The id's ID. - name: order_id in: query required: false schema: oneOf: - type: string title: order_id description: The claim's order id. - type: array description: The claim's order id. items: type: string title: order_id description: The order id's details. - name: status in: query required: false schema: oneOf: - type: string title: status description: The claim's status. - type: array description: The claim's status. items: type: string title: status description: The status's details. - name: created_at in: query description: The claim's created at. required: false schema: type: object description: The claim's created at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: The claim's updated at. required: false schema: type: object description: The claim's updated at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/claims' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostClaims summary: Create a Claim description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderClaimsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "type": "{value}", "order_id": "{value}", "metadata": {} }' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: beginClaimOrderWorkflow /admin/claims/{id}: get: operationId: GetClaimsId summary: Get a Claim description: 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/claims/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/claims/{id}/cancel: post: operationId: PostClaimsIdCancel summary: Cancel a Claim description: Cancel a claim and its associated return. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostCancelClaimReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelOrderClaimWorkflow /admin/claims/{id}/claim-items: post: operationId: PostClaimsIdClaimItems summary: Add Claim Items to a Claim x-sidebar-summary: Add Claim Items description: Add order items to a claim as claim items. These claim items will have the action `WRITE_OFF_ITEM`. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/claim-items' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderClaimItemWorkflow /admin/claims/{id}/claim-items/{action_id}: post: operationId: PostClaimsIdClaimItemsAction_id summary: Update a Claim Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the order item's `WRITE_OFF_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/claim-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateClaimItemWorkflow delete: operationId: DeleteClaimsIdClaimItemsAction_id summary: Remove a Claim Item from a Claim x-sidebar-summary: Remove Claim Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the order item's `WRITE_OFF_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/claims/{id}/claim-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemClaimActionWorkflow /admin/claims/{id}/inbound/items: post: operationId: PostClaimsIdInboundItems summary: Add Inbound Items to a Claim x-sidebar-summary: Add Inbound Items description: | Add inbound (or return) items to a claim. These inbound items will have a `RETURN_ITEM` action. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsRequestItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/inbound/items' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderClaimRequestItemReturnWorkflow /admin/claims/{id}/inbound/items/{action_id}: post: operationId: PostClaimsIdInboundItemsAction_id summary: Update Inbound Items of a Claim x-sidebar-summary: Update Inbound Items description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the return item's `RETURN_ITEM` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsRequestItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/inbound/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateRequestItemReturnWorkflow delete: operationId: DeleteClaimsIdInboundItemsAction_id summary: Remove an Inbound Item from Claim x-sidebar-summary: Remove Inbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the return item's `RETURN_ITEM` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/claims/{id}/inbound/items/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemReturnActionWorkflow /admin/claims/{id}/inbound/shipping-method: post: operationId: PostClaimsIdInboundShippingMethod summary: Add an Inbound Shipping Method to a Claim x-sidebar-summary: Add Inbound Shipping description: | Add an inbound (or return) shipping method to a claim. The inbound shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/inbound/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createClaimShippingMethodWorkflow /admin/claims/{id}/inbound/shipping-method/{action_id}: post: operationId: PostClaimsIdInboundShippingMethodAction_id summary: Update Inbound Shipping Method of a Claim x-sidebar-summary: Update Inbound Shipping description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/inbound/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReturnShippingMethodWorkflow delete: operationId: DeleteClaimsIdInboundShippingMethodAction_id summary: Remove Inbound Shipping Method from Claim x-sidebar-summary: Remove Inbound Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/claims/{id}/inbound/shipping-method/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeClaimShippingMethodWorkflow /admin/claims/{id}/outbound/items: post: operationId: PostClaimsIdOutboundItems summary: Add Outbound Items to a Claim x-sidebar-summary: Add Outbound Items description: | Add outbound (or new) items to a claim. These outbound items will have an `ITEM_ADD` action. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsAddItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/outbound/items' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderClaimAddNewItemWorkflow /admin/claims/{id}/outbound/items/{action_id}: post: operationId: PostClaimsIdOutboundItemsAction_id summary: Update Outbound Item of a Claim x-sidebar-summary: Update Outbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new claim item's `ITEM_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/outbound/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateClaimAddItemWorkflow delete: operationId: DeleteClaimsIdOutboundItemsAction_id summary: Remove an Outbound Item from Claim x-sidebar-summary: Remove Outbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new claim item's `ITEM_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/claims/{id}/outbound/items/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeAddItemClaimActionWorkflow /admin/claims/{id}/outbound/shipping-method: post: operationId: PostClaimsIdOutboundShippingMethod summary: Add Outbound Shipping Methods to a Claim x-sidebar-summary: Add Outbound Shipping description: | Add an outbound shipping method to a claim. The outbound shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/outbound/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createClaimShippingMethodWorkflow /admin/claims/{id}/outbound/shipping-method/{action_id}: post: operationId: PostClaimsIdOutboundShippingMethodAction_id summary: Update Outbound Shipping Method of a Claim x-sidebar-summary: Update Outbound Shipping description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostClaimsShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/outbound/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateClaimShippingMethodWorkflow delete: operationId: DeleteClaimsIdOutboundShippingMethodAction_id summary: Remove Outbound Shipping Method from Claim x-sidebar-summary: Remove Outbound Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/claims/{id}/outbound/shipping-method/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeClaimShippingMethodWorkflow /admin/claims/{id}/request: post: operationId: PostClaimsIdRequest summary: Confirm a Claim Request x-sidebar-summary: Confirm Claim description: Confirm a claim request, applying its changes on the associated order. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimRequestResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' requestBody: content: application/json: schema: {} x-workflow: confirmClaimRequestWorkflow delete: operationId: DeleteClaimsIdRequest summary: Cancel Claim Request description: Cancel a requested claim. x-authenticated: true parameters: - name: id in: path description: The claim's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/claims/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Claims responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminClaimDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelBeginOrderClaimWorkflow /admin/collections: get: operationId: GetCollections summary: List Collections description: Retrieve a list of collections. The collections can be filtered by fields such as `id`. The collections can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: deleted_at in: query description: Filter by the collection's deletion date. required: false schema: type: object description: Filter by the collection's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: q in: query description: Search term to filter the collection's searchable properties by. required: false schema: type: string title: q description: Search term to filter the collection's searchable properties by. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a collection's ID. - type: array description: Filter by collection IDs. items: type: string title: id description: The collection's ID. - name: handle in: query required: false schema: oneOf: - type: string title: handle description: Filter by a collection's handle. - type: array description: Filter by collection handles. items: type: string title: handle description: The collection's handle. - name: title in: query required: false schema: oneOf: - type: string title: title description: Filter by a collection's title. - type: array description: Filter by collection titles. items: type: string title: title description: The collection's title. - name: created_at in: query description: Filter by the collection's creation date. required: false schema: type: object description: Filter by the collection's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the collection's update date. required: false schema: type: object description: Filter by the collection's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/collections' \ -H 'x-medusa-access-token: {api_token}' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCollections summary: Create Collection description: Create a collection. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateCollection' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/collections' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}", "metadata": {} }' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createCollectionsWorkflow /admin/collections/{id}: get: operationId: GetCollectionsId summary: Get a Collection description: 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. x-authenticated: true parameters: - name: id in: path description: The collection's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/collections/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCollectionsId summary: Update a Collection description: Update a collection's details. x-authenticated: true parameters: - name: id in: path description: The collection's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateCollection' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/collections/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateCollectionsWorkflow delete: operationId: DeleteCollectionsId summary: Delete a Collection description: Delete a product collection. x-authenticated: true parameters: - name: id in: path description: The collection's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/collections/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteCollectionsWorkflow /admin/collections/{id}/products: post: operationId: PostCollectionsIdProducts summary: Manage Products of a Collection x-sidebar-summary: Manage Products description: Manage the products of a collection by adding or removing them from the collection. x-authenticated: true parameters: - name: id in: path description: The collection's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The products to add or remove. properties: add: type: array description: The products to add to the collection. items: type: string title: add description: A product's ID. remove: type: array description: The products to remove from the collection. items: type: string title: remove description: A product's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/collections/{id}/products' \ -H 'x-medusa-access-token: {api_token}' tags: - Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchLinkProductsToCollectionWorkflow /admin/currencies: get: operationId: GetCurrencies summary: List Currencies description: Retrieve a list of currencies. The currencies can be filtered by fields such as `id`. The currencies can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: The search term to filter the currency's searchable properties by. required: false schema: type: string title: q description: The search term to filter the currency's searchable properties by. - name: code in: query required: false schema: oneOf: - type: string title: code description: Filter by a currency code. - type: array description: Filter by currency codes. items: type: string title: code description: A currency code. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/currencies' \ -H 'x-medusa-access-token: {api_token}' tags: - Currencies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCurrencyListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/currencies/{code}: get: operationId: GetCurrenciesCode summary: Get a Currency description: 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. x-authenticated: true parameters: - name: code in: path description: The currency's code. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/currencies/{code}' \ -H 'x-medusa-access-token: {api_token}' tags: - Currencies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCurrencyResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/customer-groups: get: operationId: GetCustomerGroups summary: List Customer Groups description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the customer group's searchable properties. required: false schema: type: string title: q description: Search term to filter the customer group's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a customer group's IDs. - type: array description: Filter by customer group IDs. items: type: string title: id description: A customer group's ID. - name: name in: query required: false schema: oneOf: - type: string title: name description: Filter by a customer group's name. - type: array description: Filter by customer group names. items: type: string title: name description: A customer group's name. - name: customers in: query required: false schema: oneOf: - type: string title: customers description: Filter by the ID of a customer to retrieve its groups. - type: array description: Filter by customer IDs to retrieve their groups. items: type: string title: customers description: A customer's ID. - $ref: '#/components/schemas/AdminCustomerInGroupFilters' - name: created_by in: query required: false schema: oneOf: - type: string title: created_by description: Filter by an ID of a user to retrieve the customer groups they created. - type: array description: Filter by the IDs of users to retrieve the customer groups they created. items: type: string title: created_by description: The user's ID. - name: created_at in: query description: Filter the customer group by its creation date. required: false schema: type: object description: Filter the customer group by its creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter the customer groups by their update date. required: false schema: type: object description: Filter the customer groups by their update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter the customer groups by their deletion date. required: false schema: type: object description: Filter the customer groups by their deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customer-groups' \ -H 'x-medusa-access-token: {api_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The customer group's limit. offset: type: number title: offset description: The customer group's offset. count: type: number title: count description: The customer group's count. - type: object description: SUMMARY required: - customer_groups properties: customer_groups: type: array description: The customer group's customer groups. items: $ref: '#/components/schemas/AdminCustomerGroup' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomerGroups summary: Create Customer Group description: Create a customer group. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateCustomerGroup' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customer-groups' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Solon", "metadata": {} }' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerGroupResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createCustomerGroupsWorkflow /admin/customer-groups/{id}: get: operationId: GetCustomerGroupsId summary: Get a Customer Group description: Retrieve a customer group by its ID. You can expand the customer group's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The customer group's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customer-groups/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerGroupResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomerGroupsId summary: Update a Customer Group description: Update a customer group's details. x-authenticated: true parameters: - name: id in: path description: The customer group's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateCustomerGroup' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customer-groups/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Corbin", "metadata": {} }' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerGroupResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateCustomerGroupsWorkflow delete: operationId: DeleteCustomerGroupsId summary: Delete a Customer Group description: | Delete a customer group. Customers in the group aren't deleted. x-authenticated: true parameters: - name: id in: path description: The customer group's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/customer-groups/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The customer group's ID. object: type: string title: object description: The customer group's object. deleted: type: boolean title: deleted description: The customer group's deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteCustomerGroupsWorkflow /admin/customer-groups/{id}/customers: post: operationId: PostCustomerGroupsIdCustomers summary: Manage Customers of a Customer Group x-sidebar-summary: Manage Customers description: Manage the customers of a group to add or remove them from the group. x-authenticated: true parameters: - name: id in: path description: The customer group's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The customers to add or remove from the group. properties: add: type: array description: The customers to add to the group. items: type: string title: add description: A customer's ID. remove: type: array description: The customers to remove from the group. items: type: string title: remove description: A customer's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customer-groups/{id}/customers' \ -H 'x-medusa-access-token: {api_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerGroupResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: linkCustomersToCustomerGroupWorkflow /admin/customers: get: operationId: GetCustomers summary: List Customers description: Retrieve a list of customers. The customers can be filtered by fields such as `id`. The customers can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: groups in: query required: false schema: oneOf: - type: string title: groups description: Filter by a customer group's ID to retrieve customers that belong to it. - $ref: '#/components/schemas/CustomerGroupInCustomerFilters' - type: array description: Filter by customer group IDs to retrieve customers that belong to them. items: type: string title: groups description: The customer group's ID. - name: q in: query description: Search term to filter the customer's searchable properties by. required: false schema: type: string title: q description: Search term to filter the customer's searchable properties by. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a customer's ID. - type: array description: Filter by customer IDs. items: type: string title: id description: A customer's ID. - type: object description: Filters to apply on the customer ID. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: email in: query required: false schema: oneOf: - type: string title: email description: Filter by a customer email. format: email - type: array description: Filter by customer emails. items: type: string title: email description: A customer's email. format: email - type: object description: Filter by conditions on the customer email. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: company_name in: query required: false schema: oneOf: - type: string title: company_name description: Filter by a customer's company name. - type: array description: Filter by customer company names. items: type: string title: company_name description: The customer's company name. - type: object description: Filter by conditions on the customer's company name. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: first_name in: query required: false schema: oneOf: - type: string title: first_name description: Filter by a customer's first name. - type: array description: Filter by customer first names. items: type: string title: first_name description: A customer's first name. - type: object description: Filter by conditions on the first name. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: last_name in: query required: false schema: oneOf: - type: string title: last_name description: Filter by a customer's last name. - type: array description: Filter by customer last names. items: type: string title: last_name description: A customer's last name. - type: object description: Filter by conditions on a customer's last name. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: created_by in: query required: false schema: oneOf: - type: string title: created_by description: Filter by a user ID to retrieve the customers they created. - type: array description: Filter by user IDs to retrieve customers they created. items: type: string title: created_by description: A user's ID. - type: object description: Filter by conditions on the user ID that created the customer. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: created_at in: query description: Filter by the customer's creation date. required: false schema: type: object description: Filter by the customer's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a customer's update date. required: false schema: type: object description: Filter by a customer's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter a customer by their deletion date. required: false schema: type: object description: Filter a customer by their deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: has_account in: query description: Filter by whether the customer is registered. required: false schema: type: boolean title: has_account description: Filter by whether the customer is registered. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers' \ -H 'x-medusa-access-token: {api_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of customers. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned in the list. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of customers. required: - customers properties: customers: $ref: '#/components/schemas/AdminCustomer' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomers summary: Create Customer description: Create a customer. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The customer's details. required: - email - company_name - first_name - last_name - phone - metadata properties: email: type: string title: email description: The customer's email. format: email company_name: type: string title: company_name description: The customer's company name. first_name: type: string title: first_name description: The customer's first name. last_name: type: string title: last_name description: The customer's last name. phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata. - type: object description: The customer's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The customer's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customers' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "Tomas.Toy16@yahoo.com", "company_name": "{value}", "first_name": "{value}", "last_name": "{value}", "phone": "{value}", "metadata": {} }' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createCustomersWorkflow /admin/customers/{id}: get: operationId: GetCustomersId summary: Get a Customer description: Retrieve a customer by its ID. You can expand the customer's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomersId summary: Update a Customer description: Update a customer's details. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The customer's details. required: - email - company_name - first_name - last_name - phone - metadata properties: email: type: string title: email description: The customer's email. format: email company_name: type: string title: company_name description: The customer's company name. first_name: type: string title: first_name description: The customer's first name. last_name: type: string title: last_name description: The customer's last name. phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata. - type: object description: The customer's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The customer's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customers/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "Daren_Rodriguez-Rutherford93@gmail.com", "company_name": "{value}", "first_name": "{value}", "last_name": "{value}", "phone": "{value}", "metadata": {} }' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateCustomersWorkflow delete: operationId: DeleteCustomersId summary: Delete a Customer description: Delete a customer. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/customers/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The customer's ID. object: type: string title: object description: The customer's object. deleted: type: boolean title: deleted description: The customer's deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteCustomersWorkflow /admin/customers/{id}/addresses: get: operationId: GetCustomersIdAddresses summary: List Addresses description: Retrieve a list of addresses in a customer. The addresses can be filtered by fields like `query`. The addresses can also be paginated. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to apply on the address's searchable properties. required: false schema: type: string title: q description: Search term to apply on the address's searchable properties. - name: company in: query required: false schema: oneOf: - type: string title: company description: Filter by a company. - type: array description: Filter by companies. items: type: string title: company description: A company's name. - name: city in: query required: false schema: oneOf: - type: string title: city description: Filter by a city. - type: array description: Filter by cities. items: type: string title: city description: A city's name. - name: country_code in: query required: false schema: oneOf: - type: string title: country_code description: Filter by a currency code. - type: array description: Filter by currency codes. items: type: string title: country_code description: A currency code. - name: province in: query required: false schema: oneOf: - type: string title: province description: Filter by a province. - type: array description: Filter by provinces. items: type: string title: province description: A province code. - name: postal_code in: query required: false schema: oneOf: - type: string title: postal_code description: Filter by a postal code. - type: array description: Filter by postal codes. items: type: string title: postal_code description: A postal code. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers/{id}/addresses' \ -H 'x-medusa-access-token: {api_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of customer addresses. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of customer addresses required: - addresses properties: addresses: type: array description: The customer addresses. items: $ref: '#/components/schemas/AdminCustomerAddress' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomersIdAddresses summary: Add a Customer Address x-sidebar-summary: Add Address description: Add an address to a customer. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The address's details. required: - address_name - company - first_name - last_name - address_1 - address_2 - city - country_code - province - postal_code - phone - metadata properties: address_name: type: string title: address_name description: The name of the address. is_default_shipping: type: boolean title: is_default_shipping description: Whether this address is used by default for shipping when placing an order. is_default_billing: type: boolean title: is_default_billing description: Whether this address is used by default for billing when placing an order. company: type: string title: company description: The address's company. first_name: type: string title: first_name description: The address's first name. last_name: type: string title: last_name description: The address's last name. address_1: type: string title: address_1 description: The address's first line. address_2: type: string title: address_2 description: The address's second line. city: type: string title: city description: The address's city. country_code: type: string title: country_code description: The address's country code. province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. phone: type: string title: phone description: The address's phone. metadata: type: object description: The address's metadata. - type: object description: The address's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The address's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customers/{id}/addresses' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "address_name": "{value}", "company": "{value}", "first_name": "{value}", "last_name": "{value}", "address_1": "{value}", "address_2": "{value}", "city": "{value}", "country_code": "{value}", "province": "{value}", "postal_code": "{value}", "phone": "{value}", "metadata": {} }' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createCustomerAddressesWorkflow /admin/customers/{id}/addresses/{address_id}: get: operationId: GetCustomersIdAddressesAddress_id summary: List Addresses description: Retrieve a list of a customer's addresses. The addresses can be filtered by fields like `company`. The addresses can also be paginated. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: address_id in: path description: The customer's address id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers/{id}/addresses/{address_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerAddressResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostCustomersIdAddressesAddress_id summary: Update a Customer's Address x-sidebar-summary: Update Address description: Update a customer address's details. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: address_id in: path description: The customer's address id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The address's details. required: - address_name - company - first_name - last_name - address_1 - address_2 - city - country_code - province - postal_code - phone - metadata properties: address_name: type: string title: address_name description: The name of the address. is_default_shipping: type: boolean title: is_default_shipping description: Whether this address is used by default for shipping when placing an order. is_default_billing: type: boolean title: is_default_billing description: Whether this address is used by default for billing when placing an order. company: type: string title: company description: The address's company. first_name: type: string title: first_name description: The address's first name. last_name: type: string title: last_name description: The address's last name. address_1: type: string title: address_1 description: The address's first line address_2: type: string title: address_2 description: The address's second line city: type: string title: city description: The address's city. country_code: type: string title: country_code description: The address's country code. province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. phone: type: string title: phone description: The address's phone. metadata: type: object description: The address's metadata. - type: object description: The address's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The address's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/customers/{id}/addresses/{address_id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "address_name": "{value}", "company": "{value}", "first_name": "{value}", "last_name": "{value}", "address_1": "{value}", "address_2": "{value}", "city": "{value}", "country_code": "{value}", "province": "{value}", "postal_code": "{value}", "phone": "{value}", "metadata": {} }' tags: - Customers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminCustomerResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateCustomerAddressesWorkflow delete: operationId: DeleteCustomersIdAddressesAddress_id summary: Remove an Address from Customer description: Remove a customer's address. x-authenticated: true parameters: - name: id in: path description: The customer's ID. required: true schema: type: string - name: address_id in: path description: The customer address's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/customers/{id}/addresses/{address_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Customers responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The customer's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Customer was deleted. - type: object description: SUMMARY properties: parent: $ref: '#/components/schemas/AdminCustomer' description: SUMMARY '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteCustomerAddressesWorkflow /admin/draft-orders: get: operationId: GetDraftOrders summary: List Draft Orders description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a draft order's ID. - type: array description: Filter by draft order IDs. items: type: string title: id description: A draft order's ID. - type: object description: Filter by conditions on the draft order's ID. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: status in: query required: false schema: oneOf: - type: string title: status description: Filter by a draft order's status. - type: array description: Filter by draft order statuses. items: type: string title: status description: The draft order status. - type: object description: Filter by conditions on the status. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: oneOf: - type: string title: $ne description: Filter by values not equal to this parameter. - type: array description: Filter by values not in this array. items: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: oneOf: - type: string title: $in description: Filter by matching value. - type: array description: Filter by values in this array. items: type: string title: $in description: Filter matching values. $nin: type: array description: Filter by values not in this array. items: oneOf: - type: string title: $nin description: Filter by values not matching this parameter. - type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by exact matches. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by exact matches. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not matching this parameter. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not in this array. items: type: string title: $not description: Filter by values not matching this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). $gt: oneOf: - type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than items in this array. Useful for numbers and dates only. items: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: oneOf: - type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values greater than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: oneOf: - type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than items in this array. Useful for numbers and dates only. items: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: oneOf: - type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - type: array description: Filter by values less than or equal to items in this array. Useful for numbers and dates only. items: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: sales_channel_id in: query description: Filter by the associated sales channels to retrieve its draft orders. required: false schema: type: array description: Filter by the associated sales channels to retrieve its draft orders. items: type: string title: sales_channel_id description: A sales channel's ID. - name: fulfillment_status in: query description: Filter by the fulfillment status of the draft order. required: false schema: type: array description: Filter by the fulfillment status of the draft order. items: type: string title: fulfillment_status description: The fulfillment status's details. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered - name: payment_status in: query description: Filter by the payment status of the draft order. required: false schema: type: array description: Filter by the payment status of the draft order. items: type: string title: payment_status description: The payment status's details. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action - name: region_id in: query description: Filter by region IDs to retrieve their associated draft orders. required: false schema: type: array description: Filter by region IDs to retrieve their associated draft orders. items: type: string title: region_id description: A region's ID. - name: q in: query description: Search term to filter the order's searchable properties. required: false schema: type: string title: q description: Search term to filter the order's searchable properties. - name: created_at in: query description: Filter by the draft order's creation date. required: false schema: type: object description: Filter by the draft order's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the draft order's update date. required: false schema: type: object description: Filter by the draft order's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/draft-orders' \ -H 'x-medusa-access-token: {api_token}' tags: - Draft Orders responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The draft order's limit. offset: type: number title: offset description: The draft order's offset. count: type: number title: count description: The draft order's count. - type: object description: SUMMARY required: - draft_orders properties: draft_orders: $ref: '#/components/schemas/AdminOrder' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostDraftOrders summary: Create Draft Order description: Create a draft order. This creates an order with the `is_draft_order` property enabled. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The draft order's details. required: - sales_channel_id - email - customer_id - region_id - currency_code - shipping_methods - metadata properties: status: type: string title: status description: The draft order's status. enum: - completed sales_channel_id: type: string title: sales_channel_id description: The ID of the associated sales channel. email: type: string title: email description: The email of the draft order's customer. format: email customer_id: type: string title: customer_id description: The ID of the draft order's customer. billing_address: type: object description: The billing address's details. required: - first_name - last_name - phone - company - address_1 - address_2 - city - country_code - province - postal_code - metadata properties: first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's first line. address_2: type: string title: address_2 description: The billing address's second line. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. shipping_address: type: object description: The draft order's shipping address. required: - first_name - last_name - phone - company - address_1 - address_2 - city - country_code - province - postal_code - metadata properties: first_name: type: string title: first_name description: The shipping address's first name. last_name: type: string title: last_name description: The shipping address's last name. phone: type: string title: phone description: The shipping address's phone. company: type: string title: company description: The shipping address's company. address_1: type: string title: address_1 description: The shipping address's first line. address_2: type: string title: address_2 description: The shipping address's second line. city: type: string title: city description: The shipping address's city. country_code: type: string title: country_code description: The shipping address's country code. province: type: string title: province description: The shipping address's province. postal_code: type: string title: postal_code description: The shipping address's postal code. metadata: type: object description: The shipping address's metadata. items: type: array description: The draft order's items. items: type: object description: The item's details. required: - title - sku - barcode - variant_id - unit_price - quantity - metadata properties: title: type: string title: title description: The item's title. sku: type: string title: sku description: The item's SKU. barcode: type: string title: barcode description: The item's barcode. variant_id: type: string title: variant_id description: The ID of the associated product variant. unit_price: oneOf: - type: string title: unit_price description: The item's unit price. - type: number title: unit_price description: The item's unit price. - type: object description: The item's unit price. required: - value - precision properties: value: type: string title: value description: The unit price's value. precision: type: number title: precision description: The unit price's rounding precision. quantity: type: number title: quantity description: The item's ordered quantity. metadata: type: object description: The item's metadata. region_id: type: string title: region_id description: The ID of the associated region. promo_codes: type: array description: The promotion codes applied on the draft order. items: type: string title: promo_codes description: A promotion code. currency_code: type: string title: currency_code description: The draft order's currency code. no_notification_order: type: boolean title: no_notification_order description: Whether to send the customer notifications on order changes. shipping_methods: type: array description: The draft order's shipping methods. items: type: object description: The shipping method's details. required: - name - option_id - amount properties: shipping_method_id: type: string title: shipping_method_id description: The ID of an existing shipping method. name: type: string title: name description: The shipping method's name. option_id: type: string title: option_id description: The ID of the shipping option this method is created from. data: type: object description: The shipping method's data, useful for fulfillment providers. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/concepts#data-property amount: oneOf: - type: string title: amount description: The shipping method's amount. - type: number title: amount description: The shipping method's amount. - type: object description: The shipping method's amount. required: - value - precision properties: value: type: string title: value description: The amount's value. precision: type: number title: precision description: The amount's rounding precision. metadata: type: object description: The draft order's metadata. - type: object description: The draft order's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The draft order's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/draft-orders' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "sales_channel_id": "{value}", "email": "Bartholome.Goodwin90@yahoo.com", "customer_id": "{value}", "region_id": "{value}", "currency_code": "{value}", "shipping_methods": [ { "shipping_method_id": "{value}", "order_id": "{value}", "name": "Cheyanne", "option_id": "{value}" } ], "metadata": {} }' tags: - Draft Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminDraftOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createOrdersWorkflow /admin/draft-orders/{id}: get: operationId: GetDraftOrdersId summary: Get a Draft Order description: 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. x-authenticated: true parameters: - name: id in: path description: The draft order's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/draft-orders/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Draft Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminDraftOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/exchanges: get: operationId: GetExchanges summary: List Exchanges description: Retrieve a list of exchanges. The exchanges can be filtered by fields such as `id`. The exchanges can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: deleted_at in: query description: Filter by an exchange's deletion date. required: false schema: type: object description: Filter by an exchange's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: q in: query description: Search term to apply on an exchange's searchable properties. required: false schema: type: string title: q description: Search term to apply on an exchange's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by an exchange ID. - type: array description: Filter by exchange IDs. items: type: string title: id description: An exchange ID. - name: order_id in: query required: false schema: oneOf: - type: string title: order_id description: Filter by an exchange's order ID. - type: array description: Filter by order IDs that the exchanges belong to. items: type: string title: order_id description: An order's ID. - name: status in: query required: false schema: oneOf: - type: string title: status description: Filter by an exchange's status. - type: array description: Filter by exchange statuses. items: type: string title: status description: An exchange status. - name: created_at in: query description: Filter by the exchange's creation date. required: false schema: type: object description: Filter by the exchange's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the exchange's update date. required: false schema: type: object description: Filter by the exchange's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/exchanges' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The exchange's limit. offset: type: number title: offset description: The exchange's offset. count: type: number title: count description: The exchange's count. - type: object description: SUMMARY required: - exchanges properties: exchanges: $ref: '#/components/schemas/AdminExchange' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostExchanges summary: Create Exchange description: Create an exchange request. Its changes aren't applied on the order until the exchange is confirmed. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderExchangesReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}", "metadata": {} }' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: beginExchangeOrderWorkflow /admin/exchanges/{id}: get: operationId: GetExchangesId summary: Get an Exchange description: Retrieve an exchange by its ID. You can expand the exchange's relations or select the fields that should be returned using query parameters. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/exchanges/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/exchanges/{id}/cancel: post: operationId: PostExchangesIdCancel summary: Cancel an Exchange description: Cancel an exchange and its associated return. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostCancelExchangeReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelOrderExchangeWorkflow /admin/exchanges/{id}/inbound/items: post: operationId: PostExchangesIdInboundItems summary: Add Inbound Items to an Exchange x-sidebary-summary: Add Inbound Items description: Add inbound (or return) items to an exchange. These inbound items will have the action `RETURN_ITEM`. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesReturnRequestItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/inbound/items' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderExchangeRequestItemReturnWorkflow /admin/exchanges/{id}/inbound/items/{action_id}: post: operationId: PostExchangesIdInboundItemsAction_id summary: Update an Inbount Item of an Exchange x-sidebar-summary: Update Inbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the return item's `RETURN_ITEM` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesRequestItemsReturnActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/inbound/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateRequestItemReturnWorkflow delete: operationId: DeleteExchangesIdInboundItemsAction_id summary: Remove Inbound Item from Exchange x-sidebar-summary: Remove Inbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the return item's `RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/exchanges/{id}/inbound/items/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemReturnActionWorkflow /admin/exchanges/{id}/inbound/shipping-method: post: operationId: PostExchangesIdInboundShippingMethod summary: Add an Inbound Shipping Method to an Exchange x-sidebar-summary: Add Inbound Shipping description: Add an inbound (or return) shipping method to an exchange. The inbound shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/inbound/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createExchangeShippingMethodWorkflow /admin/exchanges/{id}/inbound/shipping-method/{action_id}: post: operationId: PostExchangesIdInboundShippingMethodAction_id summary: Update Inbound Shipping Method of an Exchange x-sidebar-summary: Update Inbound Shipping description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/inbound/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReturnShippingMethodWorkflow delete: operationId: DeleteExchangesIdInboundShippingMethodAction_id summary: Remove Inbound Shipping Method from Exchange x-sidebar-summary: Remove Inbound Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/exchanges/{id}/inbound/shipping-method/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeReturnShippingMethodWorkflow /admin/exchanges/{id}/outbound/items: post: operationId: PostExchangesIdOutboundItems summary: Add Outbound Items to Exchange description: Add outbound (or new) items to an exchange. These outbound items will have the action `ITEM_ADD`. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesAddItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/outbound/items' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderExchangeAddNewItemWorkflow /admin/exchanges/{id}/outbound/items/{action_id}: post: operationId: PostExchangesIdOutboundItemsAction_id summary: Update Outbound Item of an Exchange x-sidebar-summary: Update Outbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new exchange item's `ITEM_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/outbound/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateExchangeAddItemWorkflow delete: operationId: DeleteExchangesIdOutboundItemsAction_id summary: Remove Outbound Item from Exchange x-sidebar-summary: Remove Outbound Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new exchange item's `ITEM_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/exchanges/{id}/outbound/items/{action_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemExchangeActionWorkflow /admin/exchanges/{id}/outbound/shipping-method: post: operationId: PostExchangesIdOutboundShippingMethod summary: Add Outbound Shipping Method to Exchange x-sidebar-summary: Add Outbound Shipping description: Add an outbound shipping method to an exchange. The outbound shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/outbound/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createExchangeShippingMethodWorkflow /admin/exchanges/{id}/outbound/shipping-method/{action_id}: post: operationId: PostExchangesIdOutboundShippingMethodAction_id summary: Update Outbound Shipping Method of Exchange x-sidebar-summary: Update Outbound Shipping description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostExchangesShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/outbound/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateExchangeShippingMethodWorkflow delete: operationId: DeleteExchangesIdOutboundShippingMethodAction_id summary: Remove Outbound Shipping Method from Exchange x-sidebar-summary: Remove Outbound Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/exchanges/{id}/outbound/shipping-method/{action_id}''\ -H ''x-medusa-access-token: {api_token}''' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangePreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeExchangeShippingMethodWorkflow /admin/exchanges/{id}/request: post: operationId: PostExchangesIdRequest summary: Confirm an Exchange description: Confirm an exchange request, applying its changes on the associated order. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeRequestResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: confirmExchangeRequestWorkflow requestBody: content: application/json: schema: {} delete: operationId: DeleteExchangesIdRequest summary: Cancel Exchange Request description: Cancel a requested exchange. x-authenticated: true parameters: - name: id in: path description: The exchange's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/exchanges/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExchangeDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelBeginOrderExchangeWorkflow /admin/fulfillment-providers: get: operationId: GetFulfillmentProviders summary: List Fulfillment Providers description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a fulfillment provider's ID. - type: array description: Filter by fulfillment provider IDs. items: type: string title: id description: A fulfillment provider ID. - name: is_enabled in: query description: Filter by whether the fulfillment provider is enabled. required: false schema: type: boolean title: is_enabled description: Filter by whether the fulfillment provider is enabled. - name: q in: query description: Search term to filter a fulfillment provider's searchable properties. required: false schema: type: string title: q description: Search term to filter a fulfillment provider's searchable properties. - name: stock_location_id in: query required: false schema: oneOf: - type: string title: stock_location_id description: Filter by associated stock location's ID. - type: array description: Filter by associated stock location IDs. items: type: string title: stock_location_id description: A stock location's ID. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/fulfillment-providers' \ -H 'x-medusa-access-token: {api_token}' tags: - Fulfillment Providers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentProviderListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/fulfillment-sets/{id}: delete: operationId: DeleteFulfillmentSetsId summary: Delete Fulfillment Set description: Delete a fulfillment set. x-authenticated: true parameters: - name: id in: path description: The fulfillment set's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/fulfillment-sets/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Fulfillment Sets responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentSetDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteFulfillmentSetsWorkflow /admin/fulfillment-sets/{id}/service-zones: post: operationId: PostFulfillmentSetsIdServiceZones summary: Add a Service Zone to a Fulfillment Set x-sidebar-summary: Add Service Zone description: Add a service zone to a fulfillment set. x-authenticated: true parameters: - name: id in: path description: The fulfillment set's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The service zone's details. required: - name properties: name: type: string title: name description: The service zone's name. geo_zones: type: array description: The service zone's geo zones. items: oneOf: - type: object description: A country geo zone. required: - metadata - country_code - type properties: metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. type: type: string title: type description: The geo zone's type. default: country - type: object description: A province geo zone. required: - metadata - country_code - type - province_code properties: metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. type: type: string title: type description: The geo zone's type. default: province province_code: type: string title: province_code description: The geo zone's province code. - type: object description: A city geo zone required: - metadata - country_code - type - province_code - city properties: metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. type: type: string title: type description: The geo zone's type. default: city province_code: type: string title: province_code description: The geo zone's province code. city: type: string title: city description: The geo zone's city. - type: object description: A ZIP geo zone. required: - metadata - country_code - type - province_code - city - postal_expression properties: metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. type: type: string title: type description: The geo zone's type. default: zip province_code: type: string title: province_code description: The geo zone's province code. city: type: string title: city description: The geo zone's city. postal_expression: type: object description: The geo zone's postal expression or ZIP code. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillment-sets/{id}/service-zones' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Layla" }' tags: - Fulfillment Sets responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentSetResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createServiceZonesWorkflow /admin/fulfillment-sets/{id}/service-zones/{zone_id}: get: operationId: GetFulfillmentSetsIdServiceZonesZone_id summary: Get a Service Zone in a Fulfillment Set x-sidebar-summary: Get a Service Zone description: Retrieve a service zone that belongs to a fulfillment set. be paginated. x-authenticated: true parameters: - name: id in: path description: The fulfillment set's ID. required: true schema: type: string - name: zone_id in: path description: The service zone's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/fulfillment-sets/{id}/service-zones/{zone_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Fulfillment Sets responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminServiceZoneResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostFulfillmentSetsIdServiceZonesZone_id summary: Update the Service Zone of a Fulfillment Set x-sidebar-summary: Update Service Zone description: Update the details of a service zone in a fulfillment set. x-authenticated: true parameters: - name: id in: path description: The fulfillment set's ID. required: true schema: type: string - name: zone_id in: path description: The service zone's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The service zone's details. properties: name: type: string title: name description: The service zone's name. geo_zones: type: array description: The service zone's associated geo zones. items: oneOf: - type: object description: A country geo zone. required: - type - metadata - country_code properties: type: type: string title: type description: The geo zone's type. default: country metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. id: type: string title: id description: The ID of an existing geo zone. - type: object description: A province geo zone. required: - type - metadata - country_code - province_code properties: type: type: string title: type description: The geo zone's type. default: province metadata: type: object description: The geo zone's metadata. country_code: type: string title: country_code description: The geo zone's country code. province_code: type: string title: province_code description: The geo zone's province code. id: type: string title: id description: The ID of an existing geo zone. - type: object description: A city geo zone required: - type - metadata - city - country_code - province_code properties: type: type: string title: type description: The geo zone's type. default: city metadata: type: object description: The geo zone's metadata. city: type: string title: city description: The geo zone's city. country_code: type: string title: country_code description: The geo zone's country code. province_code: type: string title: province_code description: The geo zone's province code. id: type: string title: id description: The ID of an existing geo zone. - type: object description: A ZIP geo zone. required: - type - metadata - city - country_code - province_code - postal_expression properties: type: type: string title: type description: The geo zone's type. default: zip metadata: type: object description: The geo zone's metadata. city: type: string title: city description: The geo zone's city. country_code: type: string title: country_code description: The geo zone's country code. province_code: type: string title: province_code description: The geo zone's province code. postal_expression: type: object description: The geo zone's postal expression or ZIP code. id: type: string title: id description: The ID of an existing geo zone. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillment-sets/{id}/service-zones/{zone_id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Elvis" }' tags: - Fulfillment Sets responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentSetResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateServiceZonesWorkflow delete: operationId: DeleteFulfillmentSetsIdServiceZonesZone_id summary: Remove a Service Zone from Fulfillment Set x-sidebar-summary: Remove Service Zone description: Remove a service zone that belongs to a fulfillment set. x-authenticated: true parameters: - name: id in: path description: The fulfillment set's ID. required: true schema: type: string - name: zone_id in: path description: The service zone's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/fulfillment-sets/{id}/service-zones/{zone_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Fulfillment Sets responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminServiceZoneDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteServiceZonesWorkflow /admin/fulfillments: post: operationId: PostFulfillments summary: Create Fulfillment description: Create a fulfillment for an order, return, exchange, and more. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateFulfillment' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillments' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "location_id": "{value}", "provider_id": "{value}", "delivery_address": { "first_name": "{value}", "last_name": "{value}", "phone": "{value}", "company": "{value}", "address_1": "{value}", "address_2": "{value}", "city": "{value}", "country_code": "{value}", "province": "{value}", "postal_code": "{value}", "metadata": {} }, "items": [ { "title": "{value}", "sku": "{value}", "quantity": 1667318922870784, "barcode": "{value}", "line_item_id": "{value}", "inventory_item_id": "{value}" } ], "labels": [ { "tracking_number": "{value}", "tracking_url": "{value}", "label_url": "{value}" } ], "order": {}, "order_id": "{value}", "shipping_option_id": "{value}", "data": {}, "packed_at": "2024-11-12T18:37:37.122Z", "shipped_at": "2025-04-13T12:39:42.432Z", "delivered_at": "2025-01-29T19:05:57.056Z", "canceled_at": "2025-02-16T02:12:11.763Z", "metadata": {} }' tags: - Fulfillments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createFulfillmentWorkflow /admin/fulfillments/{id}/cancel: post: operationId: PostFulfillmentsIdCancel summary: Cancel a Fulfillment description: | 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. x-authenticated: true parameters: - name: id in: path description: The fulfillment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCancelFulfillment' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillments/{id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Fulfillments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelFulfillmentWorkflow /admin/fulfillments/{id}/shipment: post: operationId: PostFulfillmentsIdShipment summary: Create a Shipment for a Fulfillment x-sidebar-summary: Create Shipment description: Create a shipment for a fulfillment. The fulfillment must not be shipped or canceled. x-authenticated: true parameters: - name: id in: path description: The fulfillment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateShipment' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillments/{id}/shipment' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "labels": [ { "tracking_number": "{value}", "tracking_url": "{value}", "label_url": "{value}" } ] }' tags: - Fulfillments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFulfillmentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createShipmentWorkflow /admin/inventory-items: get: operationId: GetInventoryItems summary: List Inventory Items description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: The inventory item's q. required: false schema: type: string title: q description: The inventory item's q. - name: id in: query required: false schema: oneOf: - type: string title: id description: The inventory item's ID. - type: array description: The inventory item's ID. items: type: string title: id description: The id's ID. - name: sku in: query required: false schema: oneOf: - type: string title: sku description: The inventory item's sku. - type: array description: The inventory item's sku. items: type: string title: sku description: The sku's details. - name: origin_country in: query required: false schema: oneOf: - type: string title: origin_country description: The inventory item's origin country. - type: array description: The inventory item's origin country. items: type: string title: origin_country description: The origin country's details. - name: mid_code in: query required: false schema: oneOf: - type: string title: mid_code description: The inventory item's mid code. - type: array description: The inventory item's mid code. items: type: string title: mid_code description: The mid code's details. - name: hs_code in: query required: false schema: oneOf: - type: string title: hs_code description: The inventory item's hs code. - type: array description: The inventory item's hs code. items: type: string title: hs_code description: The hs code's details. - name: material in: query required: false schema: oneOf: - type: string title: material description: The inventory item's material. - type: array description: The inventory item's material. items: type: string title: material description: The material's details. - name: requires_shipping in: query description: The inventory item's requires shipping. required: false schema: type: boolean title: requires_shipping description: The inventory item's requires shipping. - name: weight in: query description: Filter the inventory item's weight. required: false schema: description: Filter the inventory item's weight. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: length in: query description: Filter the inventory item's length. required: false schema: description: Filter the inventory item's length. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: height in: query description: Filter by the inventory item's height. required: false schema: description: Filter by the inventory item's height. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: width in: query description: Filter by the inventory item's width. required: false schema: description: Filter by the inventory item's width. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: location_levels in: query description: Filter by the inventory item's associated location IDs. required: false schema: type: object description: Filter by the inventory item's associated location IDs. properties: location_id: oneOf: - type: string title: location_id description: The associated location's ID. - type: array description: The location IDs to retrieve inventory items associated with them. items: type: string title: location_id description: A location's ID. required: - location_id - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/inventory-items' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The inventory item's limit. offset: type: number title: offset description: The inventory item's offset. count: type: number title: count description: The inventory item's count. - type: object description: SUMMARY required: - inventory_items properties: inventory_items: type: array description: The inventory item's inventory items. items: $ref: '#/components/schemas/AdminInventoryItem' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostInventoryItems summary: Create Inventory Item description: Create an inventory item. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateInventoryItem' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/inventory-items' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "sku": "{value}", "hs_code": "{value}", "weight": 2857134683324416, "length": 2322256963305472, "height": 8391220613087232, "width": 1297863250280448, "origin_country": "{value}", "mid_code": "{value}", "material": "{value}", "title": "{value}", "description": "{value}", "thumbnail": "{value}", "metadata": {} }' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInventoryItemResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createInventoryItemsWorkflow /admin/inventory-items/{id}: get: operationId: GetInventoryItemsId summary: Get a Inventory Item description: Retrieve a inventory item by its ID. You can expand the inventory item's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/inventory-items/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInventoryItemResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostInventoryItemsId summary: Update an Inventory Item description: Update an inventory item's details. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the inventory item. properties: sku: type: string title: sku description: The inventory item's SKU. hs_code: type: string title: hs_code description: The inventory item's HS code. weight: type: number title: weight description: The inventory item's weight. length: type: number title: length description: The inventory item's length. height: type: number title: height description: The inventory item's height. width: type: number title: width description: The inventory item's width. origin_country: type: string title: origin_country description: The inventory item's origin country. mid_code: type: string title: mid_code description: The inventory item's MID code. material: type: string title: material description: The inventory item's material. title: type: string title: title description: The inventory item's title. description: type: string title: description description: The inventory item's description. requires_shipping: type: boolean title: requires_shipping description: Whether the inventory item requires shipping. thumbnail: type: string title: thumbnail description: The URL of an image to be used as the inventory item's thumbnail. You can use the Upload API routes to upload an image and get its URL. metadata: type: object description: The inventory item's metadata. Can be custom data in key-value pairs. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/inventory-items/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "sku": "{value}", "hs_code": "{value}", "weight": 8979922215239680, "length": 667491233693696, "height": 6328111551479808, "width": 7175104570064896, "origin_country": "{value}", "mid_code": "{value}", "material": "{value}", "title": "{value}", "description": "{value}", "thumbnail": "{value}", "metadata": {} }' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInventoryItemResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateInventoryItemsWorkflow delete: operationId: DeleteInventoryItemsId summary: Delete Inventory Item description: Delete an inventory item. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/inventory-items/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The inventory item's ID. object: type: string title: object description: The name of the deleted object. default: inventory_item deleted: type: boolean title: deleted description: Whether the inventory item was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteInventoryItemWorkflow /admin/inventory-items/{id}/location-levels: get: operationId: GetInventoryItemsIdLocationLevels summary: List Inventory Levels description: 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. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: location_id in: query required: false schema: oneOf: - type: string title: location_id description: Filter by an associated location's ID. - type: array description: Filter by associated location IDs. items: type: string title: location_id description: An associated location ID. - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/inventory-items/{id}/location-levels' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The inventory item's limit. offset: type: number title: offset description: The inventory item's offset. count: type: number title: count description: The inventory item's count. - type: object description: SUMMARY required: - inventory_levels properties: inventory_levels: type: array description: The inventory item's inventory levels. items: $ref: '#/components/schemas/InventoryLevel' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostInventoryItemsIdLocationLevels summary: Create Inventory Level for Inventory Item x-sidebar-summary: Create Inventory Level description: Create an inventory level for an inventory item. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The inventory level's details. required: - location_id properties: location_id: type: string title: location_id description: The ID of the associated location. stocked_quantity: type: number title: stocked_quantity description: The inventory level's stocked quantity. incoming_quantity: type: number title: incoming_quantity description: The inventory level's incoming quantity. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/inventory-items/{id}/location-levels' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "location_id": "{value}" }' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInventoryItemResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createInventoryLevelsWorkflow /admin/inventory-items/{id}/location-levels/batch: post: operationId: PostInventoryItemsIdLocationLevelsBatch summary: Manage Inventory Levels of Inventory Item x-sidebar-summary: Manage Inventory Levels description: Manage the inventory levels of an inventory item to create or delete them. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The inventory levels to create or delete. properties: create: type: array description: The inventory levels to create. items: type: object description: The inventory level's details. required: - location_id properties: location_id: type: string title: location_id description: The ID of the associated location. stocked_quantity: type: number title: stocked_quantity description: The inventory level's stocked quantity. incoming_quantity: type: number title: incoming_quantity description: The inventory level's incoming quantity. update: type: array description: The inventory levels to update. items: type: object description: The inventory level's details. properties: stocked_quantity: type: number title: stocked_quantity description: The inventory level's stocked quantity. incoming_quantity: type: number title: incoming_quantity description: The inventory level's incoming quantity. delete: type: array description: The inventory levels to delete. items: type: string title: delete description: The ID of the inventory level to delete. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/inventory-items/{id}/location-levels/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: type: object description: The inventory item's details. required: - inventory_item properties: inventory_item: type: object description: The inventory item's details. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: bulkCreateDeleteLevelsWorkflow /admin/inventory-items/{id}/location-levels/{location_id}: post: operationId: PostInventoryItemsIdLocationLevelsLocation_id summary: Update an Inventory Level of an Inventory Item x-sidebar-summary: Update Inventory Level description: Updates the details of an inventory item's inventory level using its associated location ID. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: location_id in: path description: The ID of the location associated with the inventory level. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the inventory level. properties: stocked_quantity: type: number title: stocked_quantity description: The inventory level's stocked quantity. incoming_quantity: type: number title: incoming_quantity description: The inventory level's incoming quantity. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/inventory-items/{id}/location-levels/{location_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInventoryItemResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateInventoryLevelsWorkflow delete: operationId: DeleteInventoryItemsIdLocationLevelsLocation_id summary: Remove Inventory Level of Inventory Item x-sidebar-summary: Remove Inventory Level description: | Remove the inventory level of an inventory item. If the inventory level has reserved quantity greater than `0`, an error is thrown. x-authenticated: true parameters: - name: id in: path description: The inventory item's ID. required: true schema: type: string - name: location_id in: path description: The inventory item's location id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: 'curl -X DELETE ''{backend_url}/admin/inventory-items/{id}/location-levels/{location_id}'' \ -H ''x-medusa-access-token: {api_token}''' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The inventory item's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Inventory Item was deleted. - type: object description: SUMMARY properties: parent: $ref: '#/components/schemas/AdminInventoryItem' description: SUMMARY '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteInventoryLevelsWorkflow /admin/invites: get: operationId: GetInvites summary: List Invites description: Retrieve a list of invites. The invites can be filtered by fields such as `id`. The invites can also be sorted or paginated. x-authenticated: false parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to apply on an invite's searchable properties. required: false schema: type: string title: q description: Search term to apply on an invite's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by an invite's ID. - type: array description: Filter by invite IDs. items: type: string title: id description: An invite's ID. - name: email in: query required: false schema: oneOf: - type: string title: email description: Filter by an invite's email. format: email - type: array description: Filter by invite emails. items: type: string title: email description: An email. format: email - name: created_at in: query description: Filter by the invite's creation date. required: false schema: type: object description: Filter by the invite's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the invite's update date. required: false schema: type: object description: Filter by the invite's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the invite's deletion date. required: false schema: type: object description: Filter by the invite's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or x-codeSamples: - lang: Shell label: cURL source: curl '{backend_url}/admin/invites' tags: - Invites responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of invites. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items retrieved. offset: type: number title: offset description: The number of items skipped before the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of invites. required: - invites properties: invites: type: array description: The list of invites. items: $ref: '#/components/schemas/AdminInvite' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostInvites summary: Create Invite description: Create a invite. x-authenticated: false parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. requestBody: content: application/json: schema: type: object description: The invite's details. required: - email properties: email: type: string title: email description: The email of the user to invite. format: email metadata: type: object description: The invite's metadata. Can be custom data in key-value pairs. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/invites' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "Whitney_Schultz@gmail.com" }' tags: - Invites responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInviteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createInvitesWorkflow /admin/invites/accept: post: operationId: PostInvitesAccept summary: Accept Invite description: | Accept an invite and create a new user. Since the user isn't created yet, the JWT token used in the authorization header is retrieved from the `/auth/user/emailpass/register` API route (or a provider other than `emailpass`). The user can then authenticate using the `/auth/user/emailpass` API route. x-authenticated: false requestBody: content: application/json: schema: type: object description: The details of the user to be created. properties: email: type: string title: email description: The user's email. format: email first_name: type: string title: first_name description: The user's first name. last_name: type: string title: last_name description: The user's last name. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/invites/accept' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "Lila_Zemlak@hotmail.com", "first_name": "{value}", "last_name": "{value}" }' tags: - Invites responses: '200': description: OK content: application/json: schema: oneOf: - type: object description: The created user's details. required: - user properties: user: $ref: '#/components/schemas/AdminUser' - type: object description: An error's details. required: - message properties: message: type: string title: message description: The error message. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: acceptInviteWorkflow /admin/invites/{id}: get: operationId: GetInvitesId summary: Get an Invite description: Retrieve an invite by its ID. You can expand the invite's relations or select the fields that should be returned. x-authenticated: false parameters: - name: id in: path description: The invite's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. x-codeSamples: - lang: Shell label: cURL source: curl '{backend_url}/admin/invites/{id}' tags: - Invites responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInviteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' delete: operationId: DeleteInvitesId summary: Delete Invite description: Delete an invite. x-authenticated: false parameters: - name: id in: path description: The invite's ID. required: true schema: type: string x-codeSamples: - lang: Shell label: cURL source: curl -X DELETE '{backend_url}/admin/invites/{id}' tags: - Invites responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The invite's ID. object: type: string title: object description: The name of the deleted object. default: invite deleted: type: boolean title: deleted description: Whether the invite was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteInvitesWorkflow /admin/invites/{id}/resend: post: operationId: PostInvitesIdResend summary: Refresh Invite Token description: Refresh the token of an invite. x-authenticated: false parameters: - name: id in: path description: The invite's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. x-codeSamples: - lang: Shell label: cURL source: curl -X POST '{backend_url}/admin/invites/{id}/resend' tags: - Invites responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminInviteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' requestBody: content: application/json: schema: {} x-workflow: refreshInviteTokensWorkflow /admin/notifications: get: operationId: GetNotifications summary: List Notifications description: Retrieve a list of notifications. The notifications can be filtered by fields such as `id`. The notifications can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to apply on the notification's searchable properties. required: false schema: type: string title: q description: Search term to apply on the notification's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a notification ID. - type: array description: Filter by notification IDs. items: type: string title: id description: A notification ID. - name: channel in: query required: false schema: oneOf: - type: string title: channel description: Filter by a notification channel. example: email - type: array description: Filter by notification channels. items: type: string title: channel description: A notification channel. example: email - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/notifications' \ -H 'x-medusa-access-token: {api_token}' tags: - Notifications responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminNotificationListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/notifications/{id}: get: operationId: GetNotificationsId summary: Get a Notification description: Retrieve a notification by its ID. You can expand the notification's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The notification's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/notifications/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Notifications responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminNotificationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/order-edits: post: operationId: PostOrderEdits summary: Create Order Edit description: Create an order edit. x-authenticated: true security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}", "metadata": {} }' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: beginOrderEditOrderWorkflow /admin/order-edits/{id}: delete: operationId: DeleteOrderEditsId summary: Cancel Order Edit description: Cancel an order edit. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/order-edits/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The order edit's ID. object: type: string title: object description: The name of the deleted object. default: order-edit deleted: type: boolean title: deleted description: Whether the order edit was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelBeginOrderEditWorkflow /admin/order-edits/{id}/confirm: post: operationId: PostOrderEditsIdConfirm summary: Confirm Order Edit description: Confirm an order edit request and apply the changes on the order. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/confirm' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: confirmOrderEditRequestWorkflow /admin/order-edits/{id}/items: post: operationId: PostOrderEditsIdItems summary: Add Items to Order Edit x-sidebar-summary: Add Items description: Add new items to an order edit. These items will have the action `ITEM_ADD`. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsAddItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/items' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderEditAddNewItemWorkflow /admin/order-edits/{id}/items/item/{item_id}: post: operationId: PostOrderEditsIdItemsItemItem_id summary: Update Order Item Quantity of Order Edit x-sidebar-summary: Update Item Quantity description: Update an existing order item's quantity of an order edit. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string - name: item_id in: path description: The order edit's item id. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsUpdateItemQuantityReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/items/item/{item_id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "quantity": 7564330046324736 }' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: orderEditUpdateItemQuantityWorkflow /admin/order-edits/{id}/items/{action_id}: post: operationId: PostOrderEditsIdItemsAction_id summary: Update an Item in an Order Edit x-sidebar-summary: Update Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new item's `ITEM_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateOrderEditAddItemWorkflow delete: operationId: DeleteOrderEditsIdItemsAction_id summary: Remove Item from Order Edit x-sidebar-summary: Remove Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string - name: action_id in: path description: The ID of the new item's `ITEM_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/order-edits/{id}/items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemOrderEditActionWorkflow /admin/order-edits/{id}/request: post: operationId: PostOrderEditsIdRequest summary: Request Order Edit description: Change the status of an active order edit to requested. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: requestOrderEditRequestWorkflow /admin/order-edits/{id}/shipping-method: post: operationId: PostOrderEditsIdShippingMethod summary: Add Shipping Method to Order Edit x-sidebar-summary: Add Shipping Method description: Add a shipping method to an exchange. The shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createOrderEditShippingMethodWorkflow /admin/order-edits/{id}/shipping-method/{action_id}: post: operationId: PostOrderEditsIdShippingMethodAction_id summary: Update Shipping Method of an Order Edit x-sidebar-summary: Update Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostOrderEditsShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/order-edits/{id}/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateOrderEditShippingMethodWorkflow delete: operationId: DeleteOrderEditsIdShippingMethodAction_id summary: Remove Shipping Method from Order Edit x-sidebar-summary: Remove Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The order edit's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/order-edits/{id}/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderEditPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeOrderEditShippingMethodWorkflow /admin/orders: get: operationId: GetOrders summary: List Orders description: Retrieve a list of orders. The orders can be filtered by fields such as `id`. The orders can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by an order ID. - type: array description: Filter by order IDs. items: type: string title: id description: An order's ID. - name: status in: query required: false schema: oneOf: - type: string title: status description: Filter by the order's status. - type: array description: Filter by order statuses. items: type: string title: status description: An order's status. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: sales_channel_id in: query description: Filter by sales channel IDs to retrieve the orders associated with them. required: false schema: type: array description: Filter by sales channel IDs to retrieve the orders associated with them. items: type: string title: sales_channel_id description: A sales channel's ID. - name: fulfillment_status in: query description: Filter by the order's fulfillment status. required: false schema: type: array description: Filter by the order's fulfillment status. items: type: string description: A fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered - name: payment_status in: query description: Filter by the order's payment status. required: false schema: type: array description: Filter by the order's payment status. items: type: string description: A payment status enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action - name: region_id in: query description: Filter by region IDs to retrieve their associated orders. required: false schema: type: array description: Filter by region IDs to retrieve their associated orders. items: type: string title: region_id description: A region ID. - name: q in: query description: Search term to filter the order's searchable properties. required: false schema: type: string title: q description: Search term to filter the order's searchable properties. - name: created_at in: query description: Filter by the order's creation date. required: false schema: type: object description: Filter by the order's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the order's update date. required: false schema: type: object description: Filter by the order's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/orders' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of orders required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before the returned items. count: type: number title: count description: The total count of items. - type: object description: The paginated list of orders. required: - orders properties: orders: type: array description: The list of orders. items: $ref: '#/components/schemas/AdminOrder' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: getOrdersListWorkflow /admin/orders/{id}: get: operationId: GetOrdersId summary: Get an Order description: Retrieve an order by its ID. You can expand the order's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/orders/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: getOrderDetailWorkflow post: operationId: PostOrdersId summary: Update an Order description: Update an order's details. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' requestBody: content: application/json: schema: {} /admin/orders/{id}/archive: post: operationId: PostOrdersIdArchive summary: Archive an Order description: Change the status of an order to archived. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminArchiveOrder' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/archive' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}" }' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: archiveOrderWorkflow /admin/orders/{id}/cancel: post: operationId: PostOrdersIdCancel summary: Cancel Order description: | 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. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' requestBody: content: application/json: schema: {} x-workflow: cancelOrderWorkflow /admin/orders/{id}/changes: get: operationId: GetOrdersIdChanges summary: List Changes on an Order x-sidebar-summary: List Changes description: | Retrieve a list of changes made on an order, including returns, exchanges, etc... The changes can be filtered by fields like FILTER FIELDS. The changes can also be paginated. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: |- Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: |- Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/orders/{id}/changes' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderChangesResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/orders/{id}/complete: post: operationId: PostOrdersIdComplete summary: Complete Order description: Mark an order as completed. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/complete' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}" }' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: completeOrderWorkflow /admin/orders/{id}/fulfillments: post: operationId: PostOrdersIdFulfillments summary: Create an Order Fulfillment x-sidebar-summary: Create Fulfillment description: Create a fulfillment for an order. The creation fails if the order is canceled. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The fulfillment's details. required: - items - location_id - metadata properties: items: type: array description: The items to fulfill. items: type: object description: An item's details. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity to fulfill. location_id: type: string title: location_id description: The ID of the location to fulfill the items from. If not provided, the location associated with the shipping option of the order's shipping method is used. no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the created fulfillment. metadata: type: object description: The order's metadata. Can hold custom key-value pairs. - type: object description: The fulfillment's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The fulfillment's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/fulfillments' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "items": [ { "id": "id_YePfQ6PBCBKvmYyreUt2", "quantity": 6623610359775232 } ], "location_id": "{value}", "metadata": {} }' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createOrderFulfillmentWorkflow /admin/orders/{id}/fulfillments/{fulfillment_id}/cancel: post: operationId: PostOrdersIdFulfillmentsFulfillment_idCancel summary: Cancel Fulfillment description: Cancel an order's fulfillment. The fulfillment can't be canceled if it's shipped. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: fulfillment_id in: path description: The order's fulfillment id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The cancelation details. properties: no_notification: type: boolean title: no_notification description: Whether the customer should receive a notification about this change. - type: object description: The cancelation details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The cancelation details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/fulfillments/{fulfillment_id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelOrderFulfillmentWorkflow /admin/orders/{id}/fulfillments/{fulfillment_id}/shipments: post: operationId: PostOrdersIdFulfillmentsFulfillment_idShipments summary: Create Shipment for an Order's Fulfillment x-sidebar-summary: Create Shipment description: Create a shipment for an order's fulfillment. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string - name: fulfillment_id in: path description: The fulfillment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The shipment's details. required: - items - metadata properties: items: type: array description: The items to create shipment for. items: type: object description: The details of the item to create shipment for. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity to ship. labels: type: array description: The labels to create for the shipment. items: type: object description: The label's labels. required: - tracking_number - tracking_url - label_url properties: tracking_number: type: string title: tracking_number description: The label's tracking number. tracking_url: type: string title: tracking_url description: The label's tracking url. label_url: type: string title: label_url description: The label's url. no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the created shipment. metadata: type: object description: The shipment's metadata. Can hold custom key-value pairs. - type: object description: The shipment's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The shipment's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/fulfillments/{fulfillment_id}/shipments' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "items": [ { "id": "id_3QQtl2VvE73c", "quantity": 6772917941567488 } ], "metadata": {} }' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createOrderShipmentWorkflow /admin/orders/{id}/preview: get: operationId: GetOrdersIdPreview summary: Get Preview description: Retrieve a preview of an order using its associated change, such as an edit. x-authenticated: true parameters: - name: id in: path description: The order's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/orders/{id}/preview' \ -H 'x-medusa-access-token: {api_token}' tags: - Orders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/payment-collections: post: operationId: PostPaymentCollections summary: Create Payment Collection description: Create a payment collection. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The payment collection's details. required: - order_id - amount properties: order_id: type: string title: order_id description: The ID of the associated order. amount: type: number title: amount description: The amount to be paid. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/payment-collections' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}" }' tags: - Payment Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPaymentCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createOrderPaymentCollectionWorkflow /admin/payment-collections/{id}: delete: operationId: DeletePaymentCollectionsId summary: Delete a Payment Collection description: Delete a payment collection. x-authenticated: true parameters: - name: id in: path description: The payment collection's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/payment-collections/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Payment Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminDeletePaymentCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteOrderPaymentCollections /admin/payment-collections/{id}/mark-as-paid: post: operationId: PostPaymentCollectionsIdMarkAsPaid summary: Mark a Payment Collection as Paid x-sidebar-summary: Mark as Paid description: Mark a payment collection as paid. This creates and authorizes a payment session, then capture its payment, using the manual payment provider. x-authenticated: true parameters: - name: id in: path description: The payment collection's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The payment details. required: - order_id properties: order_id: type: string title: order_id description: The ID of the order associated with the payment collection. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/payment-collections/{id}/mark-as-paid' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}" }' tags: - Payment Collections responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPaymentCollectionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: markPaymentCollectionAsPaid /admin/payments: get: operationId: GetPayments summary: List Payments description: Retrieve a list of payments. The payments can be filtered by fields such as `id`. The payments can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the payment's searchable properties. required: false schema: type: string title: q description: Search term to filter the payment's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a payment ID. - type: array description: Filter by payment IDs. items: type: string title: id description: A payment ID. - name: payment_session_id in: query required: false schema: oneOf: - type: string title: payment_session_id description: Filter by a payment session ID to retrieve its associated payments. - type: array description: Filter by payment session IDs to retrieve their associated payments. items: type: string title: payment_session_id description: A payment session's ID. - name: created_at in: query description: Filter by the payment's creation date. required: false schema: type: object description: Filter by the payment's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the payment's update date. required: false schema: type: object description: Filter by the payment's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the payment's deletion date. required: false schema: type: object description: Filter by the payment's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/payments' \ -H 'x-medusa-access-token: {api_token}' tags: - Payments responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of payments. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of returned items. offset: type: number title: offset description: The number of items skipped before the returned items. count: type: number title: count description: The total number of payments. - type: object description: The paginated list of payments. required: - payments properties: payments: type: array description: The list of payments. items: $ref: '#/components/schemas/AdminPayment' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/payments/payment-providers: get: operationId: GetPaymentsPaymentProviders summary: List Payment Providers description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: true schema: oneOf: - type: string title: id description: Filter by a payment provider's ID. - type: array description: Filter by payment provider IDs. items: type: string title: id description: A payment provider ID. - name: is_enabled in: query description: Filter by whether the payment provider is enabled. required: false schema: type: boolean title: is_enabled description: Filter by whether the payment provider is enabled. - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/payments/payment-providers' \ -H 'x-medusa-access-token: {api_token}' tags: - Payments responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The list of payment providers. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of payment providers. required: - payment_providers properties: payment_providers: type: array description: The list of payment providers. items: $ref: '#/components/schemas/AdminPaymentProvider' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/payments/{id}: get: operationId: GetPaymentsId summary: Get a Payment description: Retrieve a payment by its ID. You can expand the payment's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The payment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/payments/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Payments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPaymentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/payments/{id}/capture: post: operationId: PostPaymentsIdCapture summary: Capture Payment description: Capture an amount of a payment. This uses the `capturePayment` method of the payment provider associated with the payment's collection. x-authenticated: true parameters: - name: id in: path description: The payment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The payment's details. properties: amount: type: number title: amount description: The amount to capture. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/payments/{id}/capture' \ -H 'x-medusa-access-token: {api_token}' tags: - Payments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPaymentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: capturePaymentWorkflow /admin/payments/{id}/refund: post: operationId: PostPaymentsIdRefund summary: Refund Payment description: Refund an amount of a payment. This uses the `refundPayment` method of the payment provider associated with the payment's collection. x-authenticated: true parameters: - name: id in: path description: The payment's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The refund's details. properties: amount: type: number title: amount description: The amount to refund. refund_reason_id: type: string title: refund_reason_id description: The ID of a refund reason. note: type: string title: note description: A note to attach to the refund. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/payments/{id}/refund' \ -H 'x-medusa-access-token: {api_token}' tags: - Payments responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPaymentResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: refundPaymentWorkflow /admin/price-lists: get: operationId: GetPriceLists summary: List Price Lists description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the price list's searchable properties. required: false schema: type: string title: q description: Search term to filter the price list's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a price list ID. - type: array description: Filter by price list IDs. items: type: string title: id description: A price list ID. - name: starts_at in: query description: Filter by a price list's start date. required: false schema: type: object description: Filter by a price list's start date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: ends_at in: query description: Filter by the price list's end date. required: false schema: type: object description: Filter by the price list's end date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: status in: query description: Filter by the price list's status. required: false schema: type: array description: Filter by the price list's status. items: type: string description: A price list's status. enum: - active - draft - name: rules_count in: query description: Filter by the price list's rules count. required: false schema: type: array description: Filter by the price list's rules count. items: type: number title: rules_count description: The price list's rule count. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-lists' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPriceLists summary: Create Price List description: Create a price list. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreatePriceList' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-lists' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}", "description": "{value}", "starts_at": "{value}", "ends_at": "{value}" }' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createPriceListsWorkflow /admin/price-lists/{id}: get: operationId: GetPriceListsId summary: Get a Price List description: Retrieve a price list by its ID. You can expand the price list's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The price list's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-lists/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPriceListsId summary: Update a Price List description: Update a price list's details. x-authenticated: true parameters: - name: id in: path description: The price list's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdatePriceList' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-lists/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "description": "{value}", "starts_at": "{value}", "ends_at": "{value}" }' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updatePriceListsWorkflow delete: operationId: DeletePriceListsId summary: Delete a Price List description: Delete a price list. x-authenticated: true parameters: - name: id in: path description: The price list's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/price-lists/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deletePriceListsWorkflow /admin/price-lists/{id}/prices/batch: post: operationId: PostPriceListsIdPricesBatch summary: Manage Prices in Price List x-sidebar-summary: Manage Prices description: Manage the prices of a price list to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The price list's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The prices to create, update, or delete. properties: create: type: array description: The prices to create. items: type: object description: A price's details. required: - currency_code - amount - variant_id properties: currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. variant_id: type: string title: variant_id description: The ID of the variant this price is for. min_quantity: type: number title: min_quantity description: The minimum quantity that must be available of the associated variant in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity that must be available of the associated variant in the cart for this price list to apply. rules: type: object description: Key-value pair rules to apply on the price. example: region_id: 123 update: type: array description: The prices to update. items: type: object description: The properties to update in a price. required: - id - variant_id properties: id: type: string title: id description: The price's ID. currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. variant_id: type: string title: variant_id description: The ID of the variant this price is for. min_quantity: type: number title: min_quantity description: The minimum quantity that must be available of the associated variant in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity that must be available of the associated variant in the cart for this price list to apply. rules: type: object description: Key-value pair rules to apply on the price. example: region_id: 123 delete: type: array description: The prices to delete. items: type: string title: delete description: A price's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-lists/{id}/prices/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListBatchResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchPriceListPricesWorkflow /admin/price-lists/{id}/products: post: operationId: PostPriceListsIdProducts summary: Remove Products from Price List description: Remove products from a price list. x-authenticated: true parameters: - name: id in: path description: The price list's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminLinkPriceListProducts' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-lists/{id}/products' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Lists responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPriceListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchPriceListPricesWorkflow /admin/price-preferences: get: operationId: GetPricePreferences summary: List Price Preferences description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a price preference ID. - type: array description: Filter by price preference IDs. items: type: string title: id description: A price preference ID. - name: attribute in: query required: false schema: oneOf: - type: string title: attribute description: Filter by a price preference's attribute. - type: array description: Filter by price preference attributes. items: type: string title: attribute description: A price preference's attribute. - name: value in: query required: false schema: oneOf: - type: string title: value description: Filter by a price preference's value. - type: array description: Filter by price preference values. items: type: string title: value description: A price preference's value. - name: q in: query description: Search term to apply on the price preference's searchable properties. required: false schema: type: string title: q description: Search term to apply on the price preference's searchable properties. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-preferences' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Preferences responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPricePreferenceListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPricePreferences summary: Create Price Preference description: Create a price preference. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreatePricePreference' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-preferences' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Preferences responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPricePreferenceResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createPricePreferencesWorkflow /admin/price-preferences/{id}: get: operationId: GetPricePreferencesId summary: Get a Price Preference description: Retrieve a price preference by its ID. You can expand the price preference's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The price preference's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-preferences/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Preferences responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPricePreferenceResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPricePreferencesId summary: Update a Price Preference description: Update a price preference's details. x-authenticated: true parameters: - name: id in: path description: The price preference's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdatePricePreference' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/price-preferences/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Preferences responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPricePreferenceResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updatePricePreferencesWorkflow delete: operationId: DeletePricePreferencesId summary: Delete a Price Preference description: Delete a price preference. x-authenticated: true parameters: - name: id in: path description: The price preference's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/price-preferences/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Price Preferences responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPricePreferenceDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deletePricePreferencesWorkflow /admin/product-categories: get: operationId: GetProductCategories summary: List Product Categories description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter on the product category's searchable properties. required: false schema: type: string title: q description: Search term to filter on the product category's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a product category's ID. - type: array description: Filter by product category IDs. items: type: string title: id description: A product category ID. - name: description in: query required: false schema: oneOf: - type: string title: description description: Filter by the category's description. This performs a full-text search. To do keyword search, use the `q` parameter instead. - type: array description: Filter by category descriptions. This performs a full-text search. To do keyword search, use the `q` parameter instead. items: type: string title: description description: The category's description. - name: handle in: query required: false schema: oneOf: - type: string title: handle description: Filter by a category's handle. - type: array description: Filter by category handles. items: type: string title: handle description: A category's handle. - name: parent_category_id in: query required: false schema: oneOf: - type: string title: parent_category_id description: Filter by a parent category's ID to retrieve its child categories. - type: array description: Filter by parent category IDs to retrieve their child categories. items: type: string title: parent_category_id description: A parent category's ID. - name: include_ancestors_tree in: query description: Whether to include the parent category of each category. If enabled, the parent category is set in the `parent_category` property of each category object. required: false schema: type: boolean title: include_ancestors_tree description: Whether to include the parent category of each category. If enabled, the parent category is set in the `parent_category` property of each category object. - name: include_descendants_tree in: query description: Whether to include the child categories of each category. If enabled, the child categories are added to the `category_children` property of each category object. required: false schema: type: boolean title: include_descendants_tree description: Whether to include the child categories of each category. If enabled, the child categories are added to the `category_children` property of each category object. - name: is_internal in: query description: Filter by whether the category is internal. required: false schema: type: boolean title: is_internal description: Filter by whether the category is internal. - name: is_active in: query description: Filter by whether the category is active. required: false schema: type: boolean title: is_active description: Filter by whether the category is active. - name: created_at in: query description: Filter by the category's creation date. required: false schema: type: object description: Filter by the category's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the category's update date. required: false schema: type: object description: Filter by the category's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the category's deletion date. required: false schema: type: object description: Filter by the category's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: name in: query required: false schema: oneOf: - type: string title: name description: The product category's name. - type: array description: The product category's name. items: type: string title: name description: The name's details. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-categories' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductCategories summary: Create Product Category description: Create a product category. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateProductCategory' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-categories' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Vesta", "parent_category_id": "{value}", "metadata": {} }' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductCategoriesWorkflow /admin/product-categories/{id}: get: operationId: GetProductCategoriesId summary: Get a Product Category description: Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The product category's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: include_ancestors_tree in: query description: Whether to retrieve the category's parent. When enabled, the parent category is set in the `parent_category` property. required: false schema: type: boolean title: include_ancestors_tree description: Whether to retrieve the category's parent. When enabled, the parent category is set in the `parent_category` property. - name: include_descendants_tree in: query description: Whether to retrieve a list of child categories. When enabled, the parent categories are added to the `category_children` property. required: false schema: type: boolean title: include_descendants_tree description: Whether to retrieve a list of child categories. When enabled, the parent categories are added to the `category_children` property. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-categories/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductCategoriesId summary: Update a Product Category description: Update a product category's details. x-authenticated: true parameters: - name: id in: path description: The product category's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the product category. properties: name: type: string title: name description: The product category's name. description: type: string title: description description: The product category's description. handle: type: string title: handle description: The product category's handle. Must be a unique value. is_internal: type: boolean title: is_internal description: Whether the product category is only used for internal purposes and shouldn't be shown the customer. is_active: type: boolean title: is_active description: Whether the product category is active. parent_category_id: type: string title: parent_category_id description: The ID of a parent category. metadata: type: object description: The product category's metadata. Can hold custom key-value pairs. rank: type: number title: rank description: The product category's rank among other categories. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-categories/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "parent_category_id": "{value}", "metadata": {} }' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductCategoriesWorkflow delete: operationId: DeleteProductCategoriesId summary: Delete a Product Category description: Delete a product category. This doesn't deleted products in that category. x-authenticated: true parameters: - name: id in: path description: The product category's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/product-categories/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductCategoriesWorkflow /admin/product-categories/{id}/products: post: operationId: PostProductCategoriesIdProducts summary: Manage Products in Product Category x-sidebar-summary: Manage Products description: Manage products of a category to add or remove them. x-authenticated: true parameters: - name: id in: path description: The product category's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The products to add or remove from the category. properties: add: type: array description: The products to add. items: type: string title: add description: A product ID. remove: type: array description: The product to remove. items: type: string title: remove description: A product ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-categories/{id}/products' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Categories responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductCategoryResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchLinkProductsToCategoryWorkflow /admin/product-tags: get: operationId: GetProductTags summary: List Product Tags description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the product tag's searchable properties. required: false schema: type: string title: q description: Search term to filter the product tag's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a product tag's ID. - type: array description: Filter by product tag IDs. items: type: string title: id description: A product tag's ID. - name: value in: query required: false schema: oneOf: - type: string title: value description: Filter by a product tag's value. - type: array description: Filter by product tag values. items: type: string title: value description: A tag value. - name: created_at in: query description: Filter by the tag's creation date. required: false schema: type: object description: Filter by the tag's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the tag's update date. required: false schema: type: object description: Filter by the tag's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the tag's deletion date. required: false schema: type: object description: Filter by the tag's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-tags' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Tags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTagListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductTags summary: Create Product Tag description: Create a product tag. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateProductTag' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-tags' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "value": "{value}", "metadata": {} }' tags: - Product Tags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTagResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductTagsWorkflow /admin/product-tags/{id}: get: operationId: GetProductTagsId summary: Get a Product Tag description: Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The product tag's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-tags/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Tags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTagResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductTagsId summary: Update a Product Tag description: Update a product tag's details. x-authenticated: true parameters: - name: id in: path description: The product tag's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the product tag. properties: value: type: string title: value description: The product tag's value. metadata: type: object description: The product tag's metadata. Can hold custom key-value pairs. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-tags/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Product Tags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTagResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductTagsWorkflow delete: operationId: DeleteProductTagsId summary: Delete a Product Tag description: Delete a product tag. This doesn't delete products using the tag. x-authenticated: true parameters: - name: id in: path description: The product tag's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/product-tags/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Tags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTagDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductTagsWorkflow /admin/product-types: get: operationId: GetProductTypes summary: List Product Types description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the product type's searchable properties. required: false schema: type: string title: q description: Search term to filter the product type's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a product type's ID. - type: array description: Filter by product type IDs. items: type: string title: id description: A product type's ID. - name: value in: query required: false schema: oneOf: - type: string title: value description: Filter by a type's value. - type: array description: Filter by values. items: type: string title: value description: A type's value. - name: created_at in: query description: Filter by the type's creation date. required: false schema: type: object description: Filter by the type's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the type's update date. required: false schema: type: object description: Filter by the type's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the type's deletion date. required: false schema: type: object description: Filter by the type's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-types' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Types responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTypeListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductTypes summary: Create Product Type description: Create a product type. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateProduct' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-types' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "value": "{value}", "metadata": {} }' tags: - Product Types responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTypeResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductTypesWorkflow /admin/product-types/{id}: get: operationId: GetProductTypesId summary: Get a Product Type description: Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The product type's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-types/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Types responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTypeResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductTypesId summary: Update a Product Type description: Update a product type's details. x-authenticated: true parameters: - name: id in: path description: The product type's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the product type. properties: value: type: string title: value description: The product type's value. metadata: type: object description: The product type's metadata. Can hold custom key-value pairs. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-types/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Product Types responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTypeResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductTypesWorkflow delete: operationId: DeleteProductTypesId summary: Delete a Product Type description: Delete a product type. This doesn't delete products of this type. x-authenticated: true parameters: - name: id in: path description: The product type's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/product-types/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Types responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductTypeDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductTypesWorkflow /admin/product-variants: get: operationId: GetProductVariants summary: List Product Variants description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the product variant's searchable properties. required: false schema: type: string title: q description: Search term to filter the product variant's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a variant's ID. - type: array description: Filter by variant IDs. items: type: string title: id description: A variant's ID. - name: manage_inventory in: query description: Filter by whether a variant's `manage_inventory` is enabled. required: false schema: type: boolean title: manage_inventory description: Filter by whether a variant's `manage_inventory` is enabled. - name: allow_backorder in: query description: Filter by whether backorder is allowed for a variant. required: false schema: type: boolean title: allow_backorder description: Filter by whether backorder is allowed for a variant. - name: created_at in: query description: Filter by the product variant's creation date. required: false schema: type: object description: Filter by the product variant's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the product variant's update date. required: false schema: type: object description: Filter by the product variant's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the product variant's deletion date. required: false schema: type: object description: Filter by the product variant's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-variants' \ -H 'x-medusa-access-token: {api_token}' tags: - Product Variants responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The product variant's limit. offset: type: number title: offset description: The product variant's offset. count: type: number title: count description: The product variant's count. - type: object description: SUMMARY required: - variants properties: variants: type: array description: The product variant's variants. items: $ref: '#/components/schemas/AdminProductVariant' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/products: get: operationId: GetProducts summary: List Products description: Retrieve a list of products. The products can be filtered by fields such as `id`. The products can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: price_list_id in: query required: false schema: oneOf: - type: string title: price_list_id description: Filter by a price list's ID to retrieve its associated products. - type: array description: The product's price list id. items: type: string title: price_list_id description: Filter by a price list IDs to retrieve their associated products. - name: q in: query description: Search term to filter a product's searchable properties. required: false schema: type: string title: q description: Search term to filter a product's searchable properties. - name: status in: query required: false schema: oneOf: - type: string title: status description: Filter by a product status. - type: array description: Filter by product statuses. items: type: string enum: - draft - proposed - published - rejected - name: sales_channel_id in: query required: false schema: oneOf: - type: string title: sales_channel_id description: Filter by a sales channel's ID to retrieve its associated products. - type: array description: Filter by sales channel IDs to retrieve their associated products. items: type: string title: sales_channel_id description: A sales channel's ID. - name: title in: query required: false schema: oneOf: - type: string title: title description: Filter by a title. - type: array description: Filter by titles items: type: string title: title description: A product title. - name: handle in: query required: false schema: oneOf: - type: string title: handle description: Filter by a handle. - type: array description: Filter by handles. items: type: string title: handle description: A product handle. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a product ID. - type: array description: Filter by product IDs. items: type: string title: id description: A product's ID. - name: is_giftcard in: query description: Filter by whether a product is a gift card. required: false schema: type: boolean title: is_giftcard description: Filter by whether a product is a gift card. - name: tags in: query description: Filter by associated tags to retrieve their products. required: false schema: description: Filter by associated tags to retrieve their products. properties: value: type: array description: Filter by tag values. items: type: string title: value description: A tag's value. - name: type_id in: query required: false schema: oneOf: - type: string title: type_id description: Filter by a product type's ID to retrieve its associated products. - type: array description: Filter by product type IDs to retrieve their associated products. items: type: string title: type_id description: A product type's ID. - name: category_id in: query required: false schema: oneOf: - type: string title: category_id description: Filter by a product category's ID to retrieve its associated products. - type: array description: Filter by product category IDs to retrieve their associated products. items: type: string title: category_id description: A product category's ID. - name: created_at in: query description: Filter by a product's creation date. required: false schema: type: object description: Filter by a product's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a product's update date. required: false schema: type: object description: Filter by a product's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a product's deletion date. required: false schema: type: object description: Filter by a product's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: collection_id in: query required: false schema: oneOf: - type: string title: collection_id description: Filter by a product collection ID. - type: array description: Filter by product collection IDs. items: type: string title: collection_id description: A product collection's ID. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of products. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of products. required: - products properties: products: type: array description: The list of products. items: type: object '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProducts summary: Create Product description: Create a product. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminCreateProduct' - type: object description: The product's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The product's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}" }' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductsWorkflow /admin/products/batch: post: operationId: PostProductsBatch summary: Manage Products description: Manage products to create, update, or delete them. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminBatchProductRequest' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminBatchProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchProductsWorkflow /admin/products/export: post: operationId: PostProductsExport summary: Export Products description: | 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminExportProductRequest' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/export' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '202': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminExportProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: exportProductsWorkflow /admin/products/import: post: operationId: PostProductsImport summary: Create Product Import description: 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. x-authenticated: true security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminImportProductRequest' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/import' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '202': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminImportProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: importProductsWorkflow /admin/products/import/{transaction_id}/confirm: post: operationId: PostProductsImportTransaction_idConfirm summary: Confirm Product Import description: Confirm that a created product import should start importing the products into Medusa. x-authenticated: true parameters: - name: transaction_id in: path description: The ID of the transaction returned when the product import was created. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/import/{transaction_id}/confirm' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: importProductsWorkflowId /admin/products/{id}: get: operationId: GetProductsId summary: Get a Product description: Retrieve a product by its ID. You can expand the product's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductsId summary: Update a Product description: Update a product's details. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminUpdateProduct' - type: object description: The properties to update in a product. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The properties to update in a product. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductsWorkflow delete: operationId: DeleteProductsId summary: Delete a Product description: Delete a product. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/products/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductsWorkflow /admin/products/{id}/options: get: operationId: GetProductsIdOptions summary: List a Product's Options x-sidebar-summary: List Options description: Retrieve a list of options of a product. The options can be filtered by fields like `id`. The options can also be paginated. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the product option's searchable fields. required: false schema: type: string title: q description: Search term to filter the product option's searchable fields. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by the product option's ID. - type: array description: Filter by product option IDs. items: type: string title: id description: A product option's ID. - name: title in: query required: false schema: oneOf: - type: string title: title description: Filter by a title. - type: array description: Filter by titles. items: type: string title: title description: An option's title. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/options' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of product options. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of product options. required: - product_options properties: product_options: type: array description: The list of product options. items: $ref: '#/components/schemas/AdminProductOption' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductsIdOptions summary: Create a Product Option x-sidebar-summary: Create Option description: Create an option for a product. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminCreateProductOption' - type: object description: The product option's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The product option's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/options' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}", "values": [ "{value}" ] }' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductOptionsWorkflow /admin/products/{id}/options/{option_id}: get: operationId: GetProductsIdOptionsOption_id summary: Get a Product's Option x-sidebar-summary: Get Option description: Retrieve a product's option by its ID. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: option_id in: path description: The product's option id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/options/{option_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductOptionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductsIdOptionsOption_id summary: Update a Product's Option x-sidebar-summary: Update Option description: Update the details of a product option. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: option_id in: path description: The option's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminUpdateProductOption' - type: object description: The properties to update in the product option. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The properties to update in the product option. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/options/{option_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductOptionsWorkflow delete: operationId: DeleteProductsIdOptionsOption_id summary: Delete an Option from Product x-sidebar-summary: Delete Option description: | Delete an option from a product. Values of this option in the product's variants are removed. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: option_id in: path description: The product option's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/products/{id}/options/{option_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductOptionDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductOptionsWorkflow /admin/products/{id}/variants: get: operationId: GetProductsIdVariants summary: List Variants of a Product x-sidebar-summary: List Variants description: Retrieve a list of variants in a product. The variants can be filtered by fields like FILTER FIELDS. The variants can also be paginated. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the variant's search attributes. required: false schema: type: string title: q description: Search term to filter the variant's search attributes. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a variant's ID. - type: array description: Filter by variant IDs. items: type: string title: id description: A variant ID. - name: manage_inventory in: query description: Filter by whether a variant's `manage_inventory` property is enabled. required: false schema: type: boolean title: manage_inventory description: Filter by whether a variant's `manage_inventory` property is enabled. - name: allow_backorder in: query description: Filter by whether backorders are allowed for the variant. required: false schema: type: boolean title: allow_backorder description: Filter by whether backorders are allowed for the variant. - name: created_at in: query description: Filter by the product's creation date. required: false schema: type: object description: Filter by the product's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the product's update date. required: false schema: type: object description: Filter by the product's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by the product's deletion date. required: false schema: type: object description: Filter by the product's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/variants' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of product variants. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of returned items. offset: type: number title: offset description: The number of items skipped before the returned item. count: type: number title: count description: The total number of items. - type: object description: The paginated list of product variants. required: - variants properties: variants: type: array description: The list of product variants. items: $ref: '#/components/schemas/AdminProductVariant' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductsIdVariants summary: Create a Product Variant x-sidebar-summary: Create Variant description: Create a variant for a product. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminCreateProductVariant' - type: object description: The product variant's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The product variant's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "title": "{value}", "prices": [] }' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createProductVariantsWorkflow /admin/products/{id}/variants/batch: post: operationId: PostProductsIdVariantsBatch summary: Manage Variants in a Product x-sidebary-summary: Manage Variants description: Manage variants in a product to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminBatchProductVariantRequest' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminBatchProductVariantResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchProductVariantsWorkflow /admin/products/{id}/variants/inventory-items/batch: post: operationId: PostProductsIdVariantsInventoryItemsBatch summary: Manage Variants Inventory in a Product x-sidebar-summary: Manage Variants Inventory description: Manage a product's variant's inventoris to associate them with inventory items, update their inventory items, or delete their association with inventory items. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The product variant inventories to manage. properties: create: type: array description: The The associations to create between product variants and inventory items. items: type: object description: The associations to create between a product variant and an inventory item. required: - required_quantity - inventory_item_id - variant_id properties: required_quantity: type: number title: required_quantity description: The variant's quantity. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item to associate the variant with. variant_id: type: string title: variant_id description: The ID of the variant. update: type: array description: The product variants to update their association with inventory items. items: type: object description: Update a product variant's association with an inventory item. required: - required_quantity - inventory_item_id - variant_id properties: required_quantity: type: number title: required_quantity description: The variant's quantity. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item the variant is associated with. variant_id: type: string title: variant_id description: The ID of the variant. delete: type: array description: The product variants to delete their association with inventory items. items: type: object description: Delete a product variant's association with an inventory item. required: - inventory_item_id - variant_id properties: inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item associated with the variant. variant_id: type: string title: variant_id description: The ID of the variant. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants/inventory-items/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantInventoryBatchResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchLinksWorkflow /admin/products/{id}/variants/{variant_id}: get: operationId: GetProductsIdVariantsVariant_id summary: Get Variant of a Product x-sidebar-summary: Get Variant description: Retrieve a product's variant by its ID. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The variant's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/variants/{variant_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostProductsIdVariantsVariant_id summary: Update a Product Variant x-sidebar-summary: Update Variant description: Update a variant's details. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The product's variant id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/AdminUpdateProductVariant' - type: object description: The properties to update in the variant. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The properties to update in the variant. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants/{variant_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateProductVariantsWorkflow delete: operationId: DeleteProductsIdVariantsVariant_id summary: Delete Product Variant x-sidebar-summary: Delete Variant description: Delete a variant of a product. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The product variant's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/products/{id}/variants/{variant_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteProductVariantsWorkflow /admin/products/{id}/variants/{variant_id}/inventory-items: post: operationId: PostProductsIdVariantsVariant_idInventoryItems summary: Associate Variant with Inventory Item x-sidebar-summary: Associate Variant's Inventory description: Associate with a product variant an inventory item that manages its inventory details. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The variant's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateVariantInventoryItem' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants/{variant_id}/inventory-items' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "required_quantity": 7390879820021760, "inventory_item_id": "{value}" }' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createLinksWorkflow /admin/products/{id}/variants/{variant_id}/inventory-items/{inventory_item_id}: post: operationId: PostProductsIdVariantsVariant_idInventoryItemsInventory_item_id summary: Update Product Variant's Inventory Details x-sidebary-summary: Update Variant Inventory description: Update the inventory item that manages the inventory details of a product variant. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The variant's ID. required: true schema: type: string - name: inventory_item_id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateVariantInventoryItem' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/{id}/variants/{variant_id}/inventory-items/{inventory_item_id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "required_quantity": 5324804697620480 }' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateLinksWorkflow delete: operationId: DeleteProductsIdVariantsVariant_idInventoryItemsInventory_item_id summary: Remove Inventory Item Association with Product Variant x-sidebar-summary: Remove Inventory Item description: Remove the association between an inventory item and its product variant. x-authenticated: true parameters: - name: id in: path description: The product's ID. required: true schema: type: string - name: variant_id in: path description: The products variant's ID. required: true schema: type: string - name: inventory_item_id in: path description: The inventory item's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/products/{id}/variants/{variant_id}/inventory-items/{inventory_item_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Products responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminProductVariantInventoryLinkDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: dismissLinksWorkflow /admin/promotions: get: operationId: GetPromotions summary: List Promotions description: Retrieve a list of promotions. The promotions can be filtered by fields such as `id`. The promotions can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the promotion's searchable attributes. required: false schema: type: string title: q description: Search term to filter the promotion's searchable attributes. - name: code in: query required: false schema: oneOf: - type: string title: code description: Filter by a promotion code. - type: array description: Filter by promotion codes. items: type: string title: code description: A promotion code. - name: campaign_id in: query required: false schema: oneOf: - type: string title: campaign_id description: Filter by a campaign's ID to retrieve its associated promotions. - type: array description: Filter by campaign IDs to retrieve their associated promotions. items: type: string title: campaign_id description: A campaign's ID. - name: application_method in: query description: Apply filters on the application methods to retrieve the promotions of the matching application methods. required: false schema: type: object description: Apply filters on the application methods to retrieve the promotions of the matching application methods. properties: currency_code: oneOf: - type: string title: currency_code description: Filter by a currency code. - type: array description: Filter by currency codes. items: type: string title: currency_code description: A currency code. - name: created_at in: query description: Filter by a promotion's creation date. required: false schema: type: object description: Filter by a promotion's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a promotion's update date. required: false schema: type: object description: Filter by a promotion's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a promotion's deletion date. required: false schema: type: object description: Filter by a promotion's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of promotions. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of promotions. required: - promotions properties: promotions: type: array description: The list of promotions. items: $ref: '#/components/schemas/AdminPromotion' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPromotions summary: Create Promotion description: Create a promotion. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The promotion's details. required: - code - type - campaign_id - application_method properties: code: type: string title: code description: The promotion's code. is_automatic: type: boolean title: is_automatic description: Whether the promotion is applied automatically. type: type: string description: The promotion's type. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/promotion/concepts#what-is-a-promotion enum: - standard - buyget campaign_id: type: string title: campaign_id description: The ID of the campaign that the promotion belongs to. campaign: type: object description: The details of a campaign to create and add the promotion to it. required: - name - campaign_identifier - description - budget - starts_at - ends_at properties: name: type: string title: name description: The campaign's name. campaign_identifier: type: string title: campaign_identifier description: The campaign's identifier. description: type: string title: description description: The campaign's description. budget: type: object description: The campaign's budget which, when crossed, ends the campaign. required: - type - limit - currency_code properties: type: type: string description: | The budget's type. This can't be edited later. Use `spend` to set a limit on the total amount discounted by the campaign's promotions. Use `usage` to set a limit on the total number of times the campaign's promotions can be used. enum: - spend - usage limit: type: number title: limit description: The budget's limit. currency_code: type: string title: currency_code description: The campaign budget's currency code. This can't be edited later. starts_at: type: string title: starts_at description: The campaign's start date. format: date-time ends_at: type: string title: ends_at description: The campaign's end date. format: date-time application_method: type: object description: The promotion's application method. required: - description - value - currency_code - max_quantity - type - target_type - apply_to_quantity - buy_rules_min_quantity properties: description: type: string title: description description: The application method's description. value: type: number title: value description: The discounted amount applied by the associated promotion based on the `type`. currency_code: type: string title: currency_code description: The application method's currency code. max_quantity: type: number title: max_quantity description: The max quantity allowed in the cart for the associated promotion to be applied. type: type: string description: The type of the application method indicating how the associated promotion is applied. enum: - fixed - percentage target_type: type: string description: The target type of the application method indicating whether the associated promotion is applied to the cart's items, shipping methods, or the whole order. enum: - order - shipping_methods - items allocation: type: string description: The allocation value that indicates whether the associated promotion is applied on each item in a cart or split between the items in the cart. enum: - each - across target_rules: type: array description: The application method's target rules. items: type: object description: A target rule's details. required: - operator - description - attribute - values properties: operator: type: string description: The operator used to check whether the target rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The target rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 buy_rules: type: array description: The application method's buy rules. items: type: object description: A buy rule's details. required: - operator - description - attribute - values properties: operator: type: string description: The operator used to check whether the buy rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The buy rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 apply_to_quantity: type: number title: apply_to_quantity description: The quantity that results from matching the `buyget` promotion's condition. For example, if the promotion is a "Buy 2 shirts get 1 free", the value f this attribute is `1`. buy_rules_min_quantity: type: number title: buy_rules_min_quantity description: The minimum quantity required for a `buyget` promotion to be applied. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `2`. rules: type: array description: The promotion's rules. items: type: object description: A rule's details. required: - operator - description - attribute - values properties: operator: type: string description: The operator used to check whether the buy rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 - type: object description: The promotion's details. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The promotion's details. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/promotions' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "code": "{value}", "type": "{value}", "campaign_id": "{value}", "application_method": { "description": "{value}", "value": 1841223411171328, "currency_code": "{value}", "max_quantity": 2960098049654784, "type": "{value}", "target_type": "{value}", "allocation": "{value}", "target_rules": [], "buy_rules": [], "apply_to_quantity": 708643867590656, "buy_rules_min_quantity": 3167972149428224 } }' tags: - Promotions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPromotionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createPromotionsWorkflow /admin/promotions/rule-attribute-options/{rule_type}: get: operationId: GetPromotionsRuleAttributeOptionsRule_type summary: List Rule Attribute Options of a Rule Type x-sidebar-summary: List Rule Attribute Options description: | Retrieve a list of 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. x-authenticated: true parameters: - name: rule_type in: path description: The rule type. required: true schema: type: string enum: - rules - target-rules - buy-rules - name: promotion_type in: query description: The promotion type to retrieve rules for. required: false schema: type: string title: promotion_type description: The promotion type to retrieve rules for. enum: - standard - buyget - name: application_method_type in: query description: The application method type to retrieve rules for. required: false schema: type: string title: application_method_type description: The application method type to retrieve rules for. enum: - fixed - percentage security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/rule-attribute-options/{rule_type}' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The list of attributes. required: - attributes properties: attributes: type: array description: The list of attributes. items: $ref: '#/components/schemas/AdminRuleAttributeOption' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/promotions/rule-value-options/{rule_type}/{rule_attribute_id}: get: operationId: GetPromotionsRuleValueOptionsRule_typeRule_attribute_id summary: List Rule Values Given a Rule Attribute x-sidebar-summary: List Rule Values description: | 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. x-authenticated: true parameters: - name: rule_type in: path description: The rule type. required: true schema: type: string enum: - rules - target-rules - buy-rules - name: rule_attribute_id in: path description: The rule attribute's ID. required: true schema: type: string - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: promotion_type in: query description: The promotion type to retrieve rules for. required: false schema: type: string title: promotion_type description: The promotion type to retrieve rules for. enum: - standard - buyget - name: application_method_type in: query description: The application method type to retrieve rules for. required: false schema: type: string title: application_method_type description: The application method type to retrieve rules for. enum: - fixed - percentage security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/rule-value-options/{rule_type}/{rule_attribute_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The list of rule values. required: - values properties: values: type: array description: The list of rule values. items: $ref: '#/components/schemas/AdminRuleValueOption' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/promotions/{id}: get: operationId: GetPromotionsId summary: Get a Promotion description: Retrieve a promotion by its ID. You can expand the promotion's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPromotionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostPromotionsId summary: Update a Promotion description: Update a promotion's details. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: allOf: - type: object description: The properties to update in a promotion. required: - campaign_id properties: code: type: string title: code description: The promotion's code. is_automatic: type: boolean title: is_automatic description: Whether the promotion is applied automatically. type: type: string description: The promotion's type. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/promotion/concepts#what-is-a-promotion enum: - standard - buyget campaign_id: type: string title: campaign_id description: The ID of the campaign that the promotion belongs to. application_method: type: object description: The properties to update in the application method. required: - id - description - max_quantity - currency_code - apply_to_quantity - buy_rules_min_quantity properties: id: type: string title: id description: The application method's ID. description: type: string title: description description: The application method's description. value: type: number title: value description: The discounted amount applied by the associated promotion based on the `type`. max_quantity: type: number title: max_quantity description: The max quantity allowed in the cart for the associated promotion to be applied. currency_code: type: string title: currency_code description: The application method's currency code. type: type: string description: The type of the application method indicating how the associated promotion is applied. enum: - fixed - percentage target_type: type: string description: The target type of the application method indicating whether the associated promotion is applied to the cart's items, shipping methods, or the whole order. enum: - order - shipping_methods - items allocation: type: string description: The allocation value that indicates whether the associated promotion is applied on each item in a cart or split between the items in the cart. enum: - each - across apply_to_quantity: type: number title: apply_to_quantity description: The quantity that results from matching the `buyget` promotion's condition. For example, if the promotion is a "Buy 2 shirts get 1 free", the value f this attribute is `1`. buy_rules_min_quantity: type: number title: buy_rules_min_quantity description: The minimum quantity required for a `buyget` promotion to be applied. For example, if the promotion is a "Buy 2 shirts get 1 free", the value of this attribute is `2`. - type: object description: The properties to update in a promotion. properties: additional_data: type: object description: Pass additional custom data to the API route. This data is passed to the underlying workflow under the `additional_data` parameter. description: The properties to update in a promotion. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/promotions/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "campaign_id": "{value}" }' tags: - Promotions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminPromotionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updatePromotionsWorkflow delete: operationId: DeletePromotionsId summary: Delete a Promotion description: Delete a promotion. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/promotions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The promotion's ID. object: type: string title: object description: The name of the deleted object. default: promotion deleted: type: boolean title: deleted description: Whether the promotion was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deletePromotionsWorkflow /admin/promotions/{id}/buy-rules/batch: post: operationId: PostPromotionsIdBuyRulesBatch summary: Manage the Buy Rules of a Promotion x-sidebar-summary: Manage Buy Rules description: Manage the buy rules of a `buyget` promotion to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The buy rules to create, update, or delete. properties: create: type: array description: The buy rules to create. items: type: object description: A buy rule's details. required: - operator - attribute - values properties: operator: type: string description: The operator used to check whether the buy rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The buy rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 update: type: array description: The buy rules to update. items: type: object description: The properties to update in a buy rule. required: - id - values properties: id: type: string title: id description: The buy rule's ID. operator: type: string description: The operator used to check whether the buy rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The buy rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 delete: type: array description: The buy rules to delete. items: type: string title: delete description: A buy rule's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/promotions/{id}/buy-rules/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The result of the batch operations. required: - created - updated - deleted properties: created: type: array description: The created buy rules. items: $ref: '#/components/schemas/AdminPromotionRule' updated: type: array description: The updated buy rules. items: $ref: '#/components/schemas/AdminPromotionRule' deleted: type: object description: The details of the deleted buy rules. required: - ids - object - deleted properties: ids: type: array description: The IDs of the buy rules that were deleted. items: type: string title: ids description: A buy rule's ID. object: type: string title: object description: The name of the object that was deleted. default: promotion-rule deleted: type: boolean title: deleted description: Whether the buy rules were deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchPromotionRulesWorkflow /admin/promotions/{id}/rules/batch: post: operationId: PostPromotionsIdRulesBatch summary: Manage a Promotion's Rules x-sidebar-summary: Manage Rules description: Manage the rules of a promotion to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The rules to create, update, or delete. properties: create: type: array description: The rules to create. items: type: object description: A rule's details. required: - operator - attribute - values properties: operator: type: string description: The operator used to check whether the rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 update: type: array description: The rules to update. items: type: object description: The properties to update in a rule. required: - id - values properties: id: type: string title: id description: The rule's ID. operator: type: string description: The operator used to check whether the rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 delete: type: array description: The rules to delete. items: type: string title: delete description: A rule's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/promotions/{id}/rules/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The result of the batch operations. required: - created - updated - deleted properties: created: type: array description: The created rules. items: $ref: '#/components/schemas/AdminPromotionRule' updated: type: array description: The updated rules. items: $ref: '#/components/schemas/AdminPromotionRule' deleted: type: object description: The details of the deleted buy rules. required: - ids - object - deleted properties: ids: type: array description: The IDs of the deleted rules. items: type: string title: ids description: A rule's ID. object: type: string title: object description: The name of the object that was deleted. default: promotion-rule deleted: type: boolean title: deleted description: Whether the rules were deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchPromotionRulesWorkflow /admin/promotions/{id}/target-rules/batch: post: operationId: PostPromotionsIdTargetRulesBatch summary: Manage Target Rules of a Promotion x-sidebar-summary: Manage Target Rules description: Manage the target rules of a promotion to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The target rules to create, update, or delete. properties: create: type: array description: The target rules to create. items: type: object description: A target rule's details. required: - operator - attribute - values properties: operator: type: string description: The operator used to check whether the target rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The target rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 update: type: array description: The target rules to update. items: type: object description: The properties to update in a target rule. required: - id - values properties: id: type: string title: id description: The target rule's ID. operator: type: string description: The operator used to check whether the target rule applies on a cart. For example, `eq` means that the cart's value for the specified attribute must match the specified value. enum: - gte - lte - gt - lt - eq - ne - in description: type: string title: description description: The target rule's description. attribute: type: string title: attribute description: The attribute to compare against when checking whether a promotion can be applied on a cart. example: items.product.id values: oneOf: - type: string title: values description: The attribute's value. example: prod_123 - type: array description: The allowed attribute values. items: type: string title: values description: An attribute value. example: prod_123 delete: type: array description: The target rules to delete. items: type: string title: delete description: A target rule's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/promotions/{id}/target-rules/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The result of the batch operations. required: - created - updated - deleted properties: created: type: array description: The created target rules. items: $ref: '#/components/schemas/AdminPromotionRule' updated: type: array description: The updated target rules. items: $ref: '#/components/schemas/AdminPromotionRule' deleted: type: object description: The details of the deleted target rules. required: - ids - object - deleted properties: ids: type: array description: The IDs of deleted target rules. items: type: string title: ids description: A target rule's ID. object: type: string title: object description: The name of the object that was deleted. default: promotion-rule deleted: type: boolean title: deleted description: Whether the target rules were deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchPromotionRulesWorkflow /admin/promotions/{id}/{rule_type}: get: operationId: GetPromotionsIdRule_type summary: List Rules of a Promotion x-sidebar-summary: List Rules description: | 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. x-authenticated: true parameters: - name: id in: path description: The promotion's ID. required: true schema: type: string - name: rule_type in: path description: The type of rules to retrieve. required: true schema: type: string enum: - rules - target-rules - buy-rules - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/{id}/{rule_type}' \ -H 'x-medusa-access-token: {api_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The list of promotion rules. required: - rules properties: rules: type: array description: The list of promotion rules. items: $ref: '#/components/schemas/AdminPromotionRule' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/refund-reasons: get: operationId: GetRefundReasons summary: List Refund Reasons description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a refund reason's ID. - type: array description: Filter by refund reason IDs. items: type: string title: id description: A refund reason ID. - name: q in: query description: Search term to filter the refund reason's searchable properties. required: false schema: type: string title: q description: Search term to filter the refund reason's searchable properties. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/refund-reasons' \ -H 'x-medusa-access-token: {api_token}' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The refund reason's limit. offset: type: number title: offset description: The refund reason's offset. count: type: number title: count description: The refund reason's count. - type: object description: SUMMARY required: - refund_reasons properties: refund_reasons: type: array description: The refund reason's refund reasons. items: $ref: '#/components/schemas/AdminRefundReason' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostRefundReasons summary: Create Refund Reason description: Create a refund reason. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateRefundReason' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/refund-reasons' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "label": "{value}", "description": "{value}" }' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createRefundReasonsWorkflow /admin/refund-reasons/{id}: get: operationId: GetRefundReasonsId summary: Get a Refund Reason description: Retrieve a refund reason by its ID. You can expand the refund reason's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The refund reason's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/refund-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostRefundReasonsId summary: Update a Refund Reason description: Update a refund reason's details. x-authenticated: true parameters: - name: id in: path description: The refund reason's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the refund reason. properties: label: type: string title: label description: The refund reason's label. description: type: string title: description description: The refund reason's description. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/refund-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "description": "{value}" }' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RefundReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateRefundReasonsWorkflow delete: operationId: DeleteRefundReasonsId summary: Delete a Refund Reason description: Delete a refund reason. x-authenticated: true parameters: - name: id in: path description: The refund reason's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/refund-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The refund reason's ID. object: type: string title: object description: The name of the deleted object. default: refund_reason deleted: type: boolean title: deleted description: Whether the refund reason was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteReturnReasonsWorkflow /admin/regions: get: operationId: GetRegions summary: List Regions description: Retrieve a list of regions. The regions can be filtered by fields such as `id`. The regions can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the region's searchable properties. required: false schema: type: string title: q description: Search term to filter the region's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a region's ID. - type: array description: Filter by region IDs. items: type: string title: id description: A region's ID. - name: name in: query required: false schema: oneOf: - type: string title: name description: Filter by a region's name. - type: array description: Filter by region names. items: type: string title: name description: A region's name. - name: created_at in: query description: Filter by a region's creation date. required: false schema: type: object description: Filter by a region's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a region's update date. required: false schema: type: object description: Filter by a region's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a region's deletion date. required: false schema: type: object description: Filter by a region's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: currency_code in: query required: false schema: oneOf: - type: string title: currency_code description: The region's currency code. - type: array description: The region's currency code. items: type: string title: currency_code description: The currency code's details. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/regions' \ -H 'x-medusa-access-token: {api_token}' tags: - Regions responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of regions. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of regions. required: - regions properties: regions: type: array description: The list of regions. items: $ref: '#/components/schemas/AdminRegion' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostRegions summary: Create Region description: Create a region. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateRegion' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/regions' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Heloise", "currency_code": "{value}", "metadata": {} }' tags: - Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminRegionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createRegionsWorkflow /admin/regions/{id}: get: operationId: GetRegionsId summary: Get a Region description: Retrieve a region by its ID. You can expand the region's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The region's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/regions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminRegionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostRegionsId summary: Update a Region description: Update a region's details. x-authenticated: true parameters: - name: id in: path description: The region's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The propeties to update in the region. properties: name: type: string title: name description: The region's name. currency_code: type: string title: currency_code description: The region's currency code. countries: type: array description: The region's countries. items: type: string title: countries description: A country code. automatic_taxes: type: boolean title: automatic_taxes description: Whether taxes are calculated automatically for carts in the region. payment_providers: type: array description: The payment providers enabled in the region. items: type: string title: payment_providers description: A payment provider's ID. metadata: type: object description: The region's metadata. Can hold custom key-value pairs. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the prices in the region are tax inclusive. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/regions/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminRegionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateRegionsWorkflow delete: operationId: DeleteRegionsId summary: Delete a Region description: Delete a region. x-authenticated: true parameters: - name: id in: path description: The region's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/regions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Regions responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The region's ID. object: type: string title: object description: The name of the deleted object. default: region deleted: type: boolean title: deleted description: Whether the region was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteRegionsWorkflow /admin/reservations: get: operationId: GetReservations summary: List Reservations description: Retrieve a list of reservations. The reservations can be filtered by fields such as `id`. The reservations can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: location_id in: query required: false schema: oneOf: - type: string title: location_id description: Filter by a location's ID to retrieve its associated reservations. - type: array description: Filter by location IDs to retrieve its associated reservations. items: type: string title: location_id description: A location ID. - name: inventory_item_id in: query required: false schema: oneOf: - type: string title: inventory_item_id description: Filter by an inventory item's ID to retrieve its associated reservations. - type: array description: Filter by inventory item IDs to retrieve its associated reservations. items: type: string title: inventory_item_id description: An inventory item ID - name: line_item_id in: query required: false schema: oneOf: - type: string title: line_item_id description: Filter by a line item's ID to retrieve its associated reservations. - type: array description: Filter by line item IDs to retrieve its associated reservations. items: type: string title: line_item_id description: A line item ID - name: created_by in: query required: false schema: oneOf: - type: string title: created_by description: Filter by the ID of a user to retrieve the reservations they created. - type: array description: Filter by user IDs to retrieve the reservations they created. items: type: string title: created_by description: A user's ID. - name: description in: query required: false schema: oneOf: - type: string title: description description: Filter by a reservation's description. This filter applies a full-text match. To search by keywords, use the `q` query parameter instead. - type: object description: Apply filters on the reservation's description. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: created_at in: query description: Filter by a reservation's creation date. required: false schema: type: object description: Filter by a reservation's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a reservation's update date. required: false schema: type: object description: Filter by a reservation's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a reservation's deletion date. required: false schema: type: object description: Filter by a reservation's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/reservations' \ -H 'x-medusa-access-token: {api_token}' tags: - Reservations responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of reservations. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of reservations. required: - reservations properties: reservations: type: array description: The list of reservations`. items: $ref: '#/components/schemas/ReservationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReservations summary: Create Reservation description: Create a reservation. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateReservation' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/reservations' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "line_item_id": "{value}", "location_id": "{value}", "inventory_item_id": "{value}", "quantity": 3268935814217728, "description": "{value}", "metadata": {} }' tags: - Reservations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReservationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createReservationsWorkflow /admin/reservations/{id}: get: operationId: GetReservationsId summary: Get a Reservation description: Retrieve a reservation by its ID. You can expand the reservation's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The reservation's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/reservations/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Reservations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReservationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReservationsId summary: Update a Reservation description: Update a reservation's details. x-authenticated: true parameters: - name: id in: path description: The reservation's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the reservation. properties: location_id: type: string title: location_id description: The ID of the associated location. quantity: type: number title: quantity description: The reserved quantity. description: type: string title: description description: The reservation's description. metadata: type: object description: The reservation's metadata. Can hold custom key-value pairs. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/reservations/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "description": "{value}", "metadata": {} }' tags: - Reservations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReservationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReservationsWorkflow delete: operationId: DeleteReservationsId summary: Delete a Reservation description: Delete a reservation. x-authenticated: true parameters: - name: id in: path description: The reservation's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/reservations/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Reservations responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The reservation's ID. object: type: string title: object description: The name of the deleted object. default: reservation deleted: type: boolean title: deleted description: Whether the reservation was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteReservationsWorkflow /admin/return-reasons: get: operationId: GetReturnReasons summary: List Return Reasons description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the return reason's searchable properties. required: false schema: type: string title: q description: Search term to filter the return reason's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a return reason ID. - type: array description: Filter by return reason IDs. items: type: string title: id description: A return reason ID. - name: value in: query required: false schema: oneOf: - type: string title: value description: Filter by a return reason's value. - type: array description: Filter by return reason values. items: type: string title: value description: A return reason value. - name: label in: query required: false schema: oneOf: - type: string title: label description: Filter by a return reason's label. - type: array description: Filter by return reason labels. items: type: string title: label description: A return reason label. - name: description in: query required: false schema: oneOf: - type: string title: description description: Filter by a description. This filter looks for an exact match of the return reason's description. To search by a term or keywords, use the `q` query parameter instead. - type: array description: Filter by descriptions. This filter looks for an exact match of the return reason's description. To search by a term or keywords, use the `q` query parameter instead. items: type: string title: description description: A return reason's description. - name: parent_return_reason_id in: query required: false schema: oneOf: - type: string title: parent_return_reason_id description: Filter by a return reason's ID to retrieve its child return reasons. - type: array description: Filter by return reason IDs to retrieve their child return reasons. items: type: string title: parent_return_reason_id description: The return reason's ID. - name: created_at in: query description: Filter by a return reason's creation date. required: false schema: type: object description: Filter by a return reason's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a return reason's update date. required: false schema: type: object description: Filter by a return reason's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a return reason's deletion date. required: false schema: type: object description: Filter by a return reason's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/return-reasons' \ -H 'x-medusa-access-token: {api_token}' tags: - Return Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnReasonListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReturnReasons summary: Create Return Reason description: Create a return reason. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrderReturnReason' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/return-reasons' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "value": "{value}", "label": "{value}" }' tags: - Return Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createReturnReasonsWorkflow /admin/return-reasons/{id}: get: operationId: GetReturnReasonsId summary: Get a Return Reason description: Retrieve a return reason by its ID. You can expand the return reason's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The return reason's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/return-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Return Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReturnReasonsId summary: Update a Return Reason description: Update a return reason's details. x-authenticated: true parameters: - name: id in: path description: The return reason's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateOrderReturnReason' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/return-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Return Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnReasonResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReturnReasonsWorkflow delete: operationId: DeleteReturnReasonsId summary: Delete a Return Reason description: Delete a return reason. x-authenticated: true parameters: - name: id in: path description: The return reason's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/return-reasons/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Return Reasons responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnReasonDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteReturnReasonsWorkflow /admin/returns: get: operationId: GetReturns summary: List Returns description: Retrieve a list of returns. The returns can be filtered by fields such as `id`. The returns can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a return's ID. - type: array description: Filter by return IDs. items: type: string title: id description: A return ID. - name: status in: query required: false schema: oneOf: - type: string title: status description: Filter by a return status. - type: array description: Filter by return statuses. items: type: string title: status description: A return status. - name: $and in: query description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: sales_channel_id in: query description: Filter by sales channel IDs to retrieve their associated returns. required: false schema: type: array description: Filter by sales channel IDs to retrieve their associated returns. items: type: string title: sales_channel_id description: A sales channel's ID. - name: fulfillment_status in: query description: Filter by fulfillment statuses. required: false schema: type: array description: Filter by fulfillment statuses. items: type: string description: A fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered - name: payment_status in: query description: Filter by payment statuses. required: false schema: type: array description: Filter by payment statuses. items: type: string description: A payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action - name: region_id in: query description: Filter by region IDs to retrieve their associated returns. required: false schema: type: array description: Filter by region IDs to retrieve their associated returns. items: type: string title: region_id description: The region id's details. - name: q in: query description: Search term to filter the return's searchable properties. required: false schema: type: string title: q description: Search term to filter the return's searchable properties. - name: created_at in: query description: Filter by the return's creation date. required: false schema: type: object description: Filter by the return's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by the return's update date. required: false schema: type: object description: Filter by the return's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: An exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value not to match. $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by multiple exact matches. items: type: string title: $eq description: The value to match. $ne: type: string title: $ne description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: The value to match. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: The value to not match $not: oneOf: - type: string title: $not description: Filter by values not matching this parameter - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the values of this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The value to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching those in this parameter. items: type: string title: $not description: The values to not match. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: The values to match. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: The values to match. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: The values to match. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/returns' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - limit - offset - count properties: limit: type: number title: limit description: The return's limit. offset: type: number title: offset description: The return's offset. count: type: number title: count description: The return's count. - type: object description: SUMMARY required: - returns properties: returns: type: array description: The return's returns. items: $ref: '#/components/schemas/AdminReturn' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReturns summary: Create Return description: Create a return. The return can later be requested or confirmed. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "order_id": "{value}", "items": [ { "id": "id_7DO5H2LbSN3p7IzB", "quantity": 1357590174892032, "reason_id": "{value}", "note": "{value}" } ], "return_shipping": { "option_id": "{value}", "price": 5112171463704576 }, "internal_note": "{value}", "location_id": "{value}" }' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: beginReturnOrderWorkflow /admin/returns/{id}: get: operationId: GetReturnsId summary: Get a Return description: Retrieve a return by its ID. You can expand the return's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/returns/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostReturnsId summary: Update a Return description: Update a return's details. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsReturnReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReturnWorkflow /admin/returns/{id}/cancel: post: operationId: PostReturnsIdCancel summary: Cancel a return. description: Cancel a return. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/cancel' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostCancelReturnReqSchema' x-workflow: cancelReturnWorkflow /admin/returns/{id}/dismiss-items: post: operationId: PostReturnsIdDismissItems summary: Add Damaged Items to Return x-sidebar-summary: Add Damaged Items description: Add damaged items, whose quantity is to be dismissed, to a return. These items will have the action `RECEIVE_DAMAGED_RETURN_ITEM`. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsReceiveItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/dismiss-items' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: dismissItemReturnRequestWorkflow /admin/returns/{id}/dismiss-items/{action_id}: post: operationId: PostReturnsIdDismissItemsAction_id summary: Update Damaged Item of Return x-sidebar-summary: Update Damaged Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the damaged item's `RECEIVE_DAMAGED_RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsDismissItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/dismiss-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReceiveItemReturnRequestWorkflow delete: operationId: DeleteReturnsIdDismissItemsAction_id summary: Remove Damaged Item from Return x-sidebar-summary: Remove Damaged Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the damaged item's `RECEIVE_DAMAGED_RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/dismiss-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemReturnActionWorkflow /admin/returns/{id}/receive: post: operationId: PostReturnsIdReceive summary: Start Return Receival description: Start a return receival process to be later confirmed using the `/admin/returns/:id/receive/confirm` API route. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReceiveReturnsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/receive' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "return_id": "{value}", "items": [ { "id": "id_qfy3t6cU7m8O5cJ5zs", "quantity": 6429460591017984, "reason_id": "{value}", "note": "{value}" } ], "internal_note": "{value}" }' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminOrderReturnResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: beginReceiveReturnWorkflow delete: operationId: DeleteReturnsIdReceive summary: Cancel Return Receival description: Cancel the receival process previously started, and hasn't been confirmed, of a return. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/receive' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The return's ID. object: type: string title: object description: The name of the returned object. default: return deleted: type: boolean title: deleted description: Whether the return was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelReturnReceiveWorkflow /admin/returns/{id}/receive-items: post: operationId: PostReturnsIdReceiveItems summary: Add Received Items to Return x-sidebar-summary: Add Received Items description: Add received items in a return. These items will have the action `RECEIVE_RETURN_ITEM`. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsReceiveItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/receive-items' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: receiveItemReturnRequestWorkflow /admin/returns/{id}/receive-items/{action_id}: post: operationId: PostReturnsIdReceiveItemsAction_id summary: Update a Received Item in a Return x-sidebar-summary: Update Received Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the received item's `RECEIVE_RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsReceiveItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/receive-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReceiveItemReturnRequestWorkflow delete: operationId: DeleteReturnsIdReceiveItemsAction_id summary: Remove a Received Item from Return x-sidebar-summary: Remove Received Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the received item's `RECEIVE_RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/receive-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemReceiveReturnActionWorkflow /admin/returns/{id}/receive/confirm: post: operationId: PostReturnsIdReceiveConfirm summary: Confirm Return Receival description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsConfirmRequestReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/receive/confirm' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: confirmReturnReceiveWorkflow /admin/returns/{id}/request: post: operationId: PostReturnsIdRequest summary: Confirm Return Request description: | 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`. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsConfirmRequestReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: confirmReturnRequestWorkflow delete: operationId: DeleteReturnsIdRequest summary: Cancel Return Request description: Cancel a requested return. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/request' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The return's ID. object: type: string title: object description: The name of the deleted object. default: return deleted: type: boolean title: deleted description: Whether the return was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: cancelReturnRequestWorkflow /admin/returns/{id}/request-items: post: operationId: PostReturnsIdRequestItems summary: Add Requested Items to Return x-sidebar-summary: Add Items description: Add items that are requested to be returned. These items will have the action `RETURN_ITEM`. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsRequestItemsReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/request-items' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: requestItemReturnWorkflow /admin/returns/{id}/request-items/{action_id}: post: operationId: PostReturnsIdRequestItemsAction_id summary: Update Requested Item in Return x-sidebar-summary: Update Requested Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the item's `RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsRequestItemsActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/request-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateRequestItemReturnWorkflow delete: operationId: DeleteReturnsIdRequestItemsAction_id summary: Remove Item from Return x-sidebar-summary: Remove Item description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the item's `RETURN_ITEM` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/request-items/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeItemReturnActionWorkflow /admin/returns/{id}/shipping-method: post: operationId: PostReturnsIdShippingMethod summary: Add a Shipping Method to a Return x-sidebar-summary: Add Shipping Method description: Add a shipping method to a return. The shipping method will have a `SHIPPING_ADD` action. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsShippingReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/shipping-method' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "shipping_option_id": "{value}" }' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createReturnShippingMethodWorkflow /admin/returns/{id}/shipping-method/{action_id}: post: operationId: PostReturnsIdShippingMethodAction_id summary: Update a Shipping Method of a Return x-sidebar-summary: Update Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminPostReturnsShippingActionReqSchema' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/returns/{id}/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateReturnShippingMethodWorkflow delete: operationId: DeleteReturnsIdShippingMethodAction_id summary: Remove Shipping Method from Return x-sidebar-summary: Remove Shipping Method description: | 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. x-authenticated: true parameters: - name: id in: path description: The return's ID. required: true schema: type: string - name: action_id in: path description: The ID of the shipping method's `SHIPPING_ADD` action. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/returns/{id}/shipping-method/{action_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminReturnPreviewResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: removeReturnShippingMethodWorkflow /admin/sales-channels: get: operationId: GetSalesChannels summary: List Sales Channels description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the sales channel's searchable properties. required: false schema: type: string title: q description: Search term to filter the sales channel's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a sales channel ID. - type: array description: Filter by sales channel IDs. items: type: string title: id description: A sales channel ID. - name: name in: query required: false schema: oneOf: - type: string title: name description: Filter by a sales channel name. - type: array description: Filter by sales channel names. items: type: string title: name description: A sales channel name. - name: description in: query description: The sales channel's description. required: false schema: type: string title: description description: Filter by a description. This filter matches an entire description. To search by terms or keywords, use the `q` query parameter instead. - name: is_disabled in: query description: Filter by whether the sales channel is disabled. required: false schema: type: boolean title: is_disabled description: Filter by whether the sales channel is disabled. - name: created_at in: query description: Filter by a sales channel's creation date. required: false schema: type: object description: Filter by a sales channel's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a sales channel's update date. required: false schema: type: object description: Filter by a sales channel's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a sales channel's deletion date. required: false schema: type: object description: Filter by a sales channel's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: location_id in: query required: false schema: oneOf: - type: string title: location_id description: Filter by a location ID to retrieve its associated sales channels. - type: array description: Filter by location IDs to retrieve their associated sales channels. items: type: string title: location_id description: A location ID. - name: publishable_key_id in: query required: false schema: oneOf: - type: string title: publishable_key_id description: Filter by a publishable API key's ID to retrieve its associated sales channels. - type: array description: Filter by publishable API key IDs to retrieve their associated sales channels. items: type: string title: publishable_key_id description: A publishable API key ID. - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/sales-channels' \ -H 'x-medusa-access-token: {api_token}' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of sales channels. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of sales channels. required: - sales_channels properties: sales_channels: type: array description: The list of sales channels. items: $ref: '#/components/schemas/AdminSalesChannel' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostSalesChannels summary: Create Sales Channel description: Create a sales channel. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateSalesChannel' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/sales-channels' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Linnea", "description": "{value}", "metadata": {} }' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminSalesChannelResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createSalesChannelsWorkflow /admin/sales-channels/{id}: get: operationId: GetSalesChannelsId summary: Get a Sales Channel description: Retrieve a sales channel by its ID. You can expand the sales channel's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The sales channel's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/sales-channels/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminSalesChannelResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostSalesChannelsId summary: Update a Sales Channel description: Update a sales channel's details. x-authenticated: true parameters: - name: id in: path description: The sales channel's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateSalesChannel' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/sales-channels/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "description": "{value}", "metadata": {} }' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminSalesChannelResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateSalesChannelsWorkflow delete: operationId: DeleteSalesChannelsId summary: Delete a Sales Channel description: Delete a sales channel. x-authenticated: true parameters: - name: id in: path description: The sales channel's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/sales-channels/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminSalesChannelDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteSalesChannelsWorkflow /admin/sales-channels/{id}/products: post: operationId: PostSalesChannelsIdProducts summary: Manage Products in Sales Channel x-sidebar-summary: Manage Products description: Manage products in a sales channel to add or remove them from the channel. x-authenticated: true parameters: - name: id in: path description: The sales channel's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The products to add or remove from the channel. properties: add: type: array description: The products to add to the sales channel. items: type: string title: add description: A product's ID. remove: type: array description: The products to remove from the sales channel. items: type: string title: remove description: A product's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/sales-channels/{id}/products' \ -H 'x-medusa-access-token: {api_token}' tags: - Sales Channels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminSalesChannelResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: linkProductsToSalesChannelWorkflow /admin/shipping-options: get: operationId: GetShippingOptions summary: List Shipping Options description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a shipping option ID. - type: array description: Filter by shipping option IDs. items: type: string title: id description: A shipping option's ID. - name: q in: query description: Search term to filter the shipping option's searchable properties. required: false schema: type: string title: q description: Search term to filter the shipping option's searchable properties. - name: service_zone_id in: query required: false schema: oneOf: - type: string title: service_zone_id description: Filter by a service zone's ID to retrieve its associated shipping options. - type: array description: Filter by service zone IDs to retrieve their associated shipping options. items: type: string title: service_zone_id description: A service zone ID. - name: shipping_profile_id in: query required: false schema: oneOf: - type: string title: shipping_profile_id description: Filter by a shipping profile's ID to retrieve its associated shipping options. - type: array description: Filter by shipping profile IDs to retrieve their associated shipping options. items: type: string title: shipping_profile_id description: A shipping profile ID. - name: provider_id in: query required: false schema: oneOf: - type: string title: provider_id description: Filter by a fulfillment provider's ID to retrieve its associated shipping options. - type: array description: Filter by fulfillment provider IDs to retrieve their associated shipping options. items: type: string title: provider_id description: A fulfillment provider ID. - name: shipping_option_type_id in: query required: false schema: oneOf: - type: string title: shipping_option_type_id description: Filter by a shipping option type's ID to retrieve its associated shipping options. - type: array description: Filter by shipping option type IDs to retrieve its associated shipping options. items: type: string title: shipping_option_type_id description: A shipping option type ID. - name: created_at in: query description: Filter by a shipping option's creation date. required: false schema: type: object description: Filter by a shipping option's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a shipping option's update date. required: false schema: type: object description: Filter by a shipping option's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a shipping option's deletion date. required: false schema: type: object description: Filter by a shipping option's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: stock_location_id in: query required: false schema: oneOf: - type: string title: stock_location_id description: Filter by a location ID to retrieve its associated shipping option. - type: array description: Filter by location IDs to retrieve their associated shipping option. items: type: string title: stock_location_id description: A stock location's ID. - name: is_return in: query description: Filter by whether the shipping option is used for returns. required: false schema: type: boolean title: is_return description: Filter by whether the shipping option is used for returns. - name: admin_only in: query description: Filter by whether the shipping option is used by admin users only. required: false schema: type: boolean title: admin_only description: Filter by whether the shipping option is used by admin users only. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/shipping-options' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Options responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of shipping options. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of shipping options. required: - shipping_options properties: shipping_options: type: array description: The list of shipping options. items: type: object '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostShippingOptions summary: Create Shipping Option description: Create a shipping option. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-options' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Julie", "service_zone_id": "{value}", "shipping_profile_id": "{value}", "price_type": "{value}", "provider_id": "{value}", "type": { "label": "{value}", "description": "{value}", "code": "{value}" }, "prices": [] }' tags: - Shipping Options responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingOptionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createShippingOptionsWorkflow /admin/shipping-options/{id}: post: operationId: PostShippingOptionsId summary: Update a Shipping Option description: Update a shipping option's details. x-authenticated: true parameters: - name: id in: path description: The shipping option's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the shipping option. properties: name: type: string title: name description: The shipping option's name. data: type: object description: The shipping option's data that is useful for third-party providers. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property price_type: type: string description: | The type of the shipping option's price. If `calculated`, its price is retrieved by the associated fulfillment provider during checkout. If `flat`, its price is set in the `prices` property. enum: - calculated - flat provider_id: type: string title: provider_id description: The ID of the associated fulfillment provider that is used to process the option. shipping_profile_id: type: string title: shipping_profile_id description: The ID of the shipping profile this shipping option belongs to. type: type: object description: The shipping option's type. required: - label - description - code properties: label: type: string title: label description: The type's label. description: type: string title: description description: The type's description. code: type: string title: code description: The type's code. prices: type: array description: The shipping option's prices. If the `price_type` is `calculated`, pass an empty array. items: oneOf: - type: object description: The shipping option's price for a currency code. properties: id: type: string title: id description: The ID of an existing price. currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. - type: object description: The shipping option's price for a region. properties: id: type: string title: id description: The ID of an existing price. region_id: type: string title: region_id description: The ID of the associated region. amount: type: number title: amount description: The price's amount. rules: type: array description: The shipping option's rules. items: oneOf: - type: object description: The details of a new shipping option rule. required: - operator - attribute - value properties: operator: type: string description: The operator used to check whether a rule applies. enum: - in - eq - ne - gt - gte - lt - lte - nin attribute: type: string title: attribute description: The name of a property or table that the rule applies to. example: customer_group value: oneOf: - type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 - type: array description: Values of the attribute that enable this rule. items: type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 - type: object description: Update the properties of an existing rule. required: - id - operator - attribute - value properties: id: type: string title: id description: The rule's ID. operator: type: string description: The operator used to check whether a rule applies. enum: - in - eq - ne - gt - gte - lt - lte - nin attribute: type: string title: attribute description: The name of a property or table that the rule applies to. example: customer_group value: oneOf: - type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 - type: array description: Values of the attribute that enable this rule. items: type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-options/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Options responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingOptionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateShippingOptionsWorkflow delete: operationId: DeleteShippingOptionsId summary: Delete a Shipping Option description: Delete a shipping option. x-authenticated: true parameters: - name: id in: path description: The shipping option's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/shipping-options/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Options responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingOptionDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteShippingOptionsWorkflow /admin/shipping-options/{id}/rules/batch: post: operationId: PostShippingOptionsIdRulesBatch summary: Manage the Rules of a Shipping Option x-sidebar-summary: Manage Rules description: Manage the rules of a shipping option to create, update, or delete them. x-authenticated: true parameters: - name: id in: path description: The shipping option's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The rules to create, update, or delete. properties: create: type: array description: The shipping option rules to create. items: type: object description: A shipping option's details. required: - operator - attribute - value properties: operator: type: string description: The operator used to check whether a rule applies. enum: - in - eq - ne - gt - gte - lt - lte - nin attribute: type: string title: attribute description: The name of a property or table that the rule applies to. example: customer_group value: oneOf: - type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 - type: array description: Values of the attribute that enable this rule. items: type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 update: type: array description: The shipping option rules to update. items: type: object description: The properties to update in the shipping option rule. required: - id - operator - attribute - value properties: id: type: string title: id description: The rule's ID. operator: type: string description: The operator used to check whether a rule applies. enum: - in - eq - ne - gt - gte - lt - lte - nin attribute: type: string title: attribute description: The name of a property or table that the rule applies to. example: customer_group value: oneOf: - type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 - type: array description: Values of the attribute that enable this rule. items: type: string title: value description: A value of the attribute that enables this rule. example: cusgroup_123 delete: type: array description: The shipping option rules to delete. items: type: string title: delete description: A rule's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-options/{id}/rules/batch' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Options responses: '200': description: OK content: application/json: schema: type: object description: The batch operation's result. required: - created - updated - deleted properties: created: type: array description: The created shipping option rules. items: $ref: '#/components/schemas/AdminShippingOptionRule' updated: type: array description: The updated shipping option rules. items: $ref: '#/components/schemas/AdminShippingOptionRule' deleted: type: object description: The details of the deleted shipping option rules. required: - ids - object - deleted properties: ids: type: array description: The IDs of the deleted shipping option rules. items: type: string title: ids description: A shipping option rule's ID. object: type: string title: object description: The name of the deleted object. default: shipping_option_rule deleted: type: boolean title: deleted description: The deleted's details. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchShippingOptionRulesWorkflow /admin/shipping-profiles: get: operationId: GetShippingProfiles summary: List Shipping Profiles description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a shipping profile's ID. - type: array description: Filter by shipping profile IDs. items: type: string title: id description: A shipping profile ID. - name: q in: query description: Search term to filter the shipping profile's searchable properties. required: false schema: type: string title: q description: Search term to filter the shipping profile's searchable properties. - name: type in: query description: Filter by a shipping profile's type. required: false schema: type: string title: type description: Filter by a shipping profile's type. - name: name in: query description: Filter by a shipping profile's name. required: false schema: type: string title: name description: Filter by a shipping profile's name. - name: created_at in: query description: Filter by a shipping profile's creation date. required: false schema: type: object description: Filter by a shipping profile's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a shipping profile's update date. required: false schema: type: object description: Filter by a shipping profile's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a shipping profile's deletion date. required: false schema: type: object description: Filter by a shipping profile's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/shipping-profiles' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Profiles responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of shipping profiles. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of shipping profiles. required: - shipping_profiles properties: shipping_profiles: type: array description: The list of shipping profiles. items: $ref: '#/components/schemas/AdminShippingProfile' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostShippingProfiles summary: Create Shipping Profile description: Create a shipping profile. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateShippingProfile' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-profiles' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Percy", "type": "{value}", "metadata": {} }' tags: - Shipping Profiles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingProfileResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createShippingProfilesWorkflow /admin/shipping-profiles/{id}: get: operationId: GetShippingProfilesId summary: Get a Shipping Profile description: Retrieve a shipping profile by its ID. You can expand the shipping profile's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The shipping profile's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/shipping-profiles/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Profiles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingProfileResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostShippingProfilesId summary: Update a Shipping Profile description: Update a shipping profile's details. x-authenticated: true parameters: - name: id in: path description: The shipping profile's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The properties to update in the shipping profile. properties: name: type: string title: name description: The shipping profile's name. type: type: string title: type description: The shipping profile's type. metadata: type: object description: The shipping profile's metadata. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-profiles/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Shipping Profiles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingProfileResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateShippingProfilesWorkflow delete: operationId: DeleteShippingProfilesId summary: Delete a Shipping Profile description: Delete a shipping profile. x-authenticated: true parameters: - name: id in: path description: The shipping profile's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/shipping-profiles/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Shipping Profiles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminShippingProfileDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteShippingProfileWorkflow /admin/stock-locations: get: operationId: GetStockLocations summary: List Stock Locations description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the stock location's searchable properties. required: false schema: type: string title: q description: Search term to filter the stock location's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a stock location ID. - type: array description: Filter by stock location IDs. items: type: string title: id description: A stock location ID. - name: name in: query required: false schema: oneOf: - type: string title: name description: Filter by a stock location name. - type: array description: Filter by stock location names. items: type: string title: name description: A stock location name. - name: address_id in: query required: false schema: oneOf: - type: string title: address_id description: Filter by an address ID to retrieve its associated locations. - type: array description: Filter by address IDs to retrieve their associated locations. items: type: string title: address_id description: An address ID. - name: sales_channel_id in: query required: false schema: oneOf: - type: string title: sales_channel_id description: Filter by a sales channel ID to retrieve its associated locations. - type: array description: Filter by sales channel IDs to retrieve their associated locations. items: type: string title: sales_channel_id description: A sales channel ID - name: created_at in: query description: Filter by a stock location's creation date. required: false schema: type: object description: Filter by a stock location's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a stock location's update date. required: false schema: type: object description: Filter by a stock location's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a stock location's deletion date. required: false schema: type: object description: Filter by a stock location's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stock-locations' \ -H 'x-medusa-access-token: {api_token}' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostStockLocations summary: Create Stock Location description: Create a stock location. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateStockLocation' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stock-locations' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Maryam", "address_id": "{value}", "metadata": {} }' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createStockLocationsWorkflow /admin/stock-locations/{id}: get: operationId: GetStockLocationsId summary: Get a Stock Location description: Retrieve a stock location by its ID. You can expand the stock location's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stock-locations/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostStockLocationsId summary: Update a Stock Location description: Update a stock location's details. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateStockLocation' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stock-locations/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "address_id": "{value}", "metadata": {} }' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateStockLocationsWorkflow delete: operationId: DeleteStockLocationsId summary: Delete a Stock Location description: Delete a stock location. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/stock-locations/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteStockLocationsWorkflow /admin/stock-locations/{id}/fulfillment-providers: post: operationId: PostStockLocationsIdFulfillmentProviders summary: Manage Fulfillment Providers of a Stock Location x-sidebar-summary: Manage Fulfillment Providers description: Manage the fulfillment providers to add or remove them from a stock location. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The fulfillment providers to add or remove from the stock location. properties: add: type: array description: The fulfillment providers to add to the stock location. items: type: string title: add description: A fulfillment provider's ID. remove: type: array description: The fulfillment providers to remove from the stock location. items: type: string title: remove description: A fulfillment provider's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stock-locations/{id}/fulfillment-providers' \ -H 'x-medusa-access-token: {api_token}' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: batchLinksWorkflow /admin/stock-locations/{id}/fulfillment-sets: post: operationId: PostStockLocationsIdFulfillmentSets summary: Add Fulfillment Set to Stock Location x-sidebar-summary: Add Fulfillment Set description: Create and add a fulfillment set to a stock location. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The fulfillment set to create. required: - name - type properties: name: type: string title: name description: The fulfillment set's name. type: type: string title: type description: The fulfillment set's type. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stock-locations/{id}/fulfillment-sets' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Helene", "type": "{value}" }' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createLocationFulfillmentSetWorkflow /admin/stock-locations/{id}/sales-channels: post: operationId: PostStockLocationsIdSalesChannels summary: Manage Sales Channels of a Stock Location x-sidebar-summary: Manage Sales Channels description: Manage the sales channels in a stock location by adding or removing them. x-authenticated: true parameters: - name: id in: path description: The stock location's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The sales channels to add or remove. properties: add: type: array description: The sales channels to add. items: type: string title: add description: A sales channel's ID. remove: type: array description: The sales channels to remove. items: type: string title: remove description: A sales channel's ID. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stock-locations/{id}/sales-channels' \ -H 'x-medusa-access-token: {api_token}' tags: - Stock Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStockLocationResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: linkSalesChannelsToStockLocationWorkflow /admin/stores: get: operationId: GetStores summary: List Stores description: Retrieve a list of stores. The stores can be filtered by fields such as `id`. The stores can also be sorted or paginated. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter the store's searchable properties. required: false schema: type: string title: q description: Search term to filter the store's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a store ID. - type: array description: Filter by store IDs. items: type: string title: id description: A store ID. - name: name in: query required: false schema: oneOf: - type: string title: name description: Filter by a store name. - type: array description: Filter by store names. items: type: string title: name description: A store name. - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stores' \ -H 'x-medusa-access-token: {api_token}' tags: - Stores responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStoreListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/stores/{id}: get: operationId: GetStoresId summary: Get a Store description: Retrieve a store by its ID. You can expand the store's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The store's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stores/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Stores responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStoreResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostStoresId summary: Update a Store description: Update a store's details. x-authenticated: true parameters: - name: id in: path description: The store's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateStore' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/stores/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Melvina", "default_sales_channel_id": "{value}", "default_region_id": "{value}", "default_location_id": "{value}", "metadata": {} }' tags: - Stores responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminStoreResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateStoresWorkflow /admin/tax-rates: get: operationId: GetTaxRates summary: List Tax Rates description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search terms to filter the tax rate's searchable properties. required: false schema: type: string title: q description: Search terms to filter the tax rate's searchable properties. - name: tax_region_id in: query required: false schema: oneOf: - type: string title: tax_region_id description: Filter by a tax region ID to retrieve its associated rates. - type: array description: Filter by tax region IDs to retrieve their associated rates. items: type: string title: tax_region_id description: A tax region ID. - type: object description: Apply filters on the tax region ID to retrieve the rates associated with the matching tax regions. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: is_default in: query required: false description: Filter by whether the tax rate is a default in its tax region. schema: type: string enum: - 'true' - 'false' - name: created_at in: query description: Filter by a tax rate's creation date. required: false schema: type: object description: Filter by a tax rate's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a tax rate's update date. required: false schema: type: object description: Filter by a tax rate's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a tax rate's deletion date. required: false schema: type: object description: Filter by a tax rate's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or - name: service_zone_id in: query description: Filter by a service zone's ID to retrieve its associated tax rates. required: false schema: type: string title: service_zone_id description: Filter by a service zone's ID to retrieve its associated tax rates. - name: shipping_profile_id in: query description: Filter by a shipping profile's ID to retrieve its associated tax rates. required: false schema: type: string title: shipping_profile_id description: Filter by a shipping profile's ID to retrieve its associated tax rates. - name: provider_id in: query description: Filter by a fulfillment provider's ID to retrieve its associated tax rates. required: false schema: type: string title: provider_id description: Filter by a fulfillment provider's ID to retrieve its associated tax rates. - name: shipping_option_type_id in: query description: Filter by a shipping option type's ID to retrieve its associated tax rates. required: false schema: type: string title: shipping_option_type_id description: Filter by a shipping option type's ID to retrieve its associated tax rates. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-rates' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of tax rates. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of tax rates. required: - tax_rates properties: tax_rates: type: array description: The tax rate's tax rates. items: $ref: '#/components/schemas/AdminTaxRate' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostTaxRates summary: Create Tax Rate description: Create a tax rate. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateTaxRate' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/tax-rates' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "name": "Kaylin", "tax_region_id": "{value}", "metadata": {} }' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRateResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createTaxRatesWorkflow /admin/tax-rates/{id}: get: operationId: GetTaxRatesId summary: Get a Tax Rate description: Retrieve a tax rate by its ID. You can expand the tax rate's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The tax rate's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-rates/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRateResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostTaxRatesId summary: Update a Tax Rate description: Update a tax rate's details. x-authenticated: true parameters: - name: id in: path description: The tax rate's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateTaxRate' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/tax-rates/{id}' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "metadata": {} }' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRateResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateTaxRatesWorkflow delete: operationId: DeleteTaxRatesId summary: Delete a Tax Rate description: Delete a tax rate. x-authenticated: true parameters: - name: id in: path description: The tax rate's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/tax-rates/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRateDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteTaxRatesWorkflow /admin/tax-rates/{id}/rules: post: operationId: PostTaxRatesIdRules summary: Create Tax Rule for a Rate x-sidebar-summary: Create Tax Rule description: Create a tax rule for a rate. x-authenticated: true parameters: - name: id in: path description: The tax rate's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateTaxRateRule' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/tax-rates/{id}/rules' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "reference": "{value}", "reference_id": "{value}" }' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRateResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createTaxRateRulesWorkflow /admin/tax-rates/{id}/rules/{rule_id}: delete: operationId: DeleteTaxRatesIdRulesRule_id summary: Remove Rule of Tax Rate x-sidebar-summary: Remove Rule description: Remove a tax rate's rule. x-authenticated: true parameters: - name: id in: path description: The tax rate's ID. required: true schema: type: string - name: rule_id in: path description: The tax rate rule's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/tax-rates/{id}/rules/{rule_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: allOf: - type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The tax rate's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Tax Rate was deleted. - type: object description: SUMMARY properties: parent: $ref: '#/components/schemas/AdminTaxRate' description: SUMMARY '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteTaxRateRulesWorkflow /admin/tax-regions: get: operationId: GetTaxRegions summary: List Tax Regions description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: Search term to filter a tax region's searchable properties. required: false schema: type: string title: q description: Search term to filter a tax region's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a tax region ID. - type: array description: Filter by tax region IDs. items: type: string title: id description: A tax region ID. - name: country_code in: query required: false schema: oneOf: - type: string title: country_code description: Filter by a country code. - type: array description: Filter by country codes. items: type: string title: country_code description: A country code. - type: object description: Apply filters on the currency code. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: province_code in: query required: false schema: oneOf: - type: string title: province_code description: Filter by a province code. - type: array description: Filter by province codes. items: type: string title: province_code description: A province code. - type: object description: Apply filters on the province code. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: parent_id in: query required: false schema: oneOf: - type: string title: parent_id description: Filter by the ID of a parent tax region to retrieve its child tax regions. - type: array description: Filter by the IDs of parent tax regions to retrieve their child tax regions. items: type: string title: parent_id description: A tax region's ID. - type: object description: Apply filters on the parent tax region's ID to retrieve its child tax regions. properties: $eq: type: string description: Filter by an exact match. $ne: type: string description: Filter by values not matching this parameter. $in: type: array description: Filter by values in this array's items. items: type: string $nin: type: array description: Filter by values not in this array's items. items: type: string $like: type: string description: Apply a `like` filter. Useful for strings only. $ilike: type: string description: Apply a case-insensitive `like` filter. Useful for strings only. $re: type: string description: Apply a regex filter. Useful for strings only. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string $gt: type: string description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. - name: created_by in: query required: false schema: oneOf: - type: string title: created_by description: Filter by the ID of the user to retrieve the tax regions they created. - type: array description: Filter by user IDs to retrieve their tax regions they created. items: type: string title: created_by description: A user ID. - name: created_at in: query description: Filter by a tax region's creation date. required: false schema: oneOf: - type: string title: created_at description: Filter by a tax region's creation date. - type: object description: Apply filters on the tax region's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a tax region's update date. required: false schema: oneOf: - type: string title: updated_at description: Filter by a tax region's update date. - type: object description: Apply filters on the tax region's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a tax region's deletion date. required: false schema: oneOf: - type: string title: deleted_at description: Filter by a tax region's deletion date. - type: object description: Apply filters on the tax region's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: $and in: query required: false schema: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and - name: $or in: query required: false schema: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-regions' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Regions responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of tax regions. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of tax regions. required: - tax_regions properties: tax_regions: type: array description: The list of tax regions. items: type: object '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostTaxRegions summary: Create Tax Region description: Create a tax region. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateTaxRegion' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/tax-regions' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "country_code": "{value}", "province_code": "{value}", "parent_id": "{value}", "metadata": {} }' tags: - Tax Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRegionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: createTaxRegionsWorkflow /admin/tax-regions/{id}: get: operationId: GetTaxRegionsId summary: Get a Tax Region description: Retrieve a tax region by its ID. You can expand the tax region's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The tax region's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-regions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRegionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' delete: operationId: DeleteTaxRegionsId summary: Delete a Tax Region description: Delete a tax region. x-authenticated: true parameters: - name: id in: path description: The tax region's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/tax-regions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Tax Regions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminTaxRegionDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteTaxRegionsWorkflow /admin/uploads: post: operationId: PostUploads summary: Upload Files description: Upload files to the configured File Module Provider. x-authenticated: true security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: oneOf: - type: object description: The files to upload. required: - files properties: files: type: array description: The files to upload. items: oneOf: - type: object description: A file's details. required: - name - content properties: name: type: string title: name description: The file's name. content: type: string title: content description: The file's base64 content. - $ref: '#/components/schemas/File' - $ref: '#/components/schemas/FileList' description: The files to upload. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/uploads' \ -H 'x-medusa-access-token: {api_token}' tags: - Uploads responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFileListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: uploadFilesWorkflow /admin/uploads/{id}: get: operationId: GetUploadsId summary: Get a File description: Retrieve an uploaded file by its ID. You can expand the file's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The upload's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/uploads/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Uploads responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminFileResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' delete: operationId: DeleteUploadsId summary: Delete a File description: Delete a file. Uses the installed file module provider to delete the file. x-authenticated: true parameters: - name: id in: path description: The file's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/admin/uploads/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Uploads responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - id - object - deleted properties: id: type: string title: id description: The file's ID. object: type: string title: object description: The name of the deleted object. default: file deleted: type: boolean title: deleted description: Whether the file was deleted. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteFilesWorkflow /admin/users: get: operationId: GetUsers summary: List Users description: Retrieve a list of users. The users can be filtered by fields such as `id`. The users can also be sorted or paginated. x-authenticated: false parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: q in: query description: The search term to filter the user's searchable properties. required: false schema: type: string title: q description: The search term to filter the user's searchable properties. - name: id in: query required: false schema: oneOf: - type: string title: id description: Filter by a user's ID. - type: array description: Filter by user IDs. items: type: string title: id description: A user's ID. - name: email in: query description: Filter by an email. required: false schema: type: string title: email description: Filter by an email. format: email - name: first_name in: query description: Filter by a first name. required: false schema: type: string title: first_name description: Filter by a first name. - name: last_name in: query description: Filter by a last name. required: false schema: type: string title: last_name description: Filter by a last name. - name: created_at in: query description: Filter by a user's creation date. required: false schema: type: object description: Filter by a user's creation date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: updated_at in: query description: Filter by a user's update date. required: false schema: type: object description: Filter by a user's update date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - name: deleted_at in: query description: Filter by a user's deletion date. required: false schema: type: object description: Filter by a user's deletion date. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). x-codeSamples: - lang: Shell label: cURL source: curl '{backend_url}/admin/users' tags: - Users responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminUserListResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/users/me: get: operationId: GetUsersMe summary: Get Logged-In User description: Retrieve the logged-in user's details. x-authenticated: false parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. x-codeSamples: - lang: Shell label: cURL source: curl '{backend_url}/admin/users/me' tags: - Users responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminUserResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/users/{id}: get: operationId: GetUsersId summary: Get a User description: Retrieve a user by its ID. You can expand the user's relations or select the fields that should be returned. x-authenticated: false parameters: - name: id in: path description: The user's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. x-codeSamples: - lang: Shell label: cURL source: curl '{backend_url}/admin/users/{id}' tags: - Users responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminUserResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' post: operationId: PostUsersId summary: Update a User description: Update a user's details. x-authenticated: false parameters: - name: id in: path description: The user's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateUser' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/users/{id}' \ -H 'Content-Type: application/json' \ --data-raw '{ "first_name": "{value}", "last_name": "{value}", "avatar_url": "{value}" }' tags: - Users responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminUserResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: updateUsersWorkflow delete: operationId: DeleteUsersId summary: Delete a User description: Delete a user. x-authenticated: false parameters: - name: id in: path description: The user's ID. required: true schema: type: string x-codeSamples: - lang: Shell label: cURL source: curl -X DELETE '{backend_url}/admin/users/{id}' tags: - Users responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminUserDeleteResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' x-workflow: deleteUsersWorkflow /admin/workflows-executions: get: operationId: GetWorkflowsExecutions summary: List Workflows Executions description: 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. x-authenticated: true parameters: - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. - name: offset in: query description: The number of items to skip when retrieving a list. required: false schema: type: number title: offset description: The number of items to skip when retrieving a list. - name: limit in: query description: Limit the number of items returned in the list. required: false schema: type: number title: limit description: Limit the number of items returned in the list. - name: order in: query description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. required: false schema: type: string title: order description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`. - name: transaction_id in: query required: false schema: oneOf: - type: string title: transaction_id description: Filter by a transaction ID. - type: array description: Filter by transaction IDs. items: type: string title: transaction_id description: A transaction ID. - name: workflow_id in: query required: false schema: oneOf: - type: string title: workflow_id description: Filter by a workflow ID. - type: array description: Filter by workflow IDs. items: type: string title: workflow_id description: A workflow ID. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of workflow executions. required: - limit - offset - count properties: limit: type: number title: limit description: The maximum number of items returned. offset: type: number title: offset description: The number of items skipped before retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of workflow executions. required: - workflow_executions properties: workflow_executions: type: array description: The workflows execution's workflow executions. items: $ref: '#/components/schemas/AdminWorkflowExecution' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{id}: get: operationId: GetWorkflowsExecutionsId summary: Get a Workflows Execution description: Retrieve a workflows execution by its ID. You can expand the workflows execution's relations or select the fields that should be returned. x-authenticated: true parameters: - name: id in: path description: The workflows execution's ID. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions/{id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminWorkflowExecutionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/run: post: operationId: PostWorkflowsExecutionsWorkflow_idRun summary: Execute a Workflow description: Execute a workflow by its ID. x-authenticated: true parameters: - name: workflow_id in: path description: The workflow's ID. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateWorkflowsRun' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/workflows-executions/{workflow_id}/run' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: type: object description: The execution's details. required: - acknowledgement properties: acknowledgement: type: object description: The workflow's details required: - workflowId - transactionId properties: workflowId: type: string description: The ID of the executed workflow. title: workflowId transactionId: type: string description: The ID of the workflow exection's transaction. Use this later to track the workflow execution's progress or succeed / fail its steps. title: transactionId '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/steps/failure: post: operationId: PostWorkflowsExecutionsWorkflow_idStepsFailure summary: Fail a Step in a Workflow's Execution x-sidebar-summary: Fail a Step description: Set the status of a step in a workflow's execution as failed. This is useful for long-running workflows. x-authenticated: true parameters: - name: workflow_id in: path description: The workflows execution's workflow id. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateWorkflowsAsyncResponse' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/workflows-executions/{workflow_id}/steps/failure' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "transaction_id": "{value}", "step_id": "{value}" }' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: type: object description: The details of failing the workflow step. required: - success properties: success: type: boolean title: success description: Whether the workflow step has failed successfully. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/steps/success: post: operationId: PostWorkflowsExecutionsWorkflow_idStepsSuccess summary: Succeed a Step in a Workflow's Execution x-sidebar-summary: Succed a Step description: Set the status of a step in a workflow's execution as successful. This is useful for long-running workflows. x-authenticated: true parameters: - name: workflow_id in: path description: The workflows execution's workflow id. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateWorkflowsAsyncResponse' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/workflows-executions/{workflow_id}/steps/success' \ -H 'x-medusa-access-token: {api_token}' \ -H 'Content-Type: application/json' \ --data-raw '{ "transaction_id": "{value}", "step_id": "{value}" }' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: type: object description: The details of succeeding the workflow step. required: - success properties: success: type: boolean title: success description: Whether the workflow step was succeeded. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/subscribe: get: operationId: GetWorkflowsExecutionsWorkflow_idSubscribe summary: Subscribe to a Workflow's Execution x-sidebar-summary: Subscribe to Workflow description: | Subscribe to a workflow's execution to receive real-time information about its steps, status, and data. This route returns an event stream that you can consume using the [EventSource API](https://developer.mozilla.org/en-US/docs/Web/API/EventSource). x-authenticated: true parameters: - name: workflow_id in: path description: The workflows execution's workflow id. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions/{workflow_id}/subscribe' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: Stream of the step's status. content: text/event-stream: schema: type: string description: The step's status update and data changes. example: |- event: success data: {} '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/{transaction_id}: get: operationId: GetWorkflowsExecutionsWorkflow_idTransaction_id summary: Get Workflow Execution's Details x-sidebar-summary: Get Exection description: Get the details of the workflow's execution. x-authenticated: true parameters: - name: workflow_id in: path description: The workflows execution's workflow id. required: true schema: type: string - name: transaction_id in: path description: The workflows execution's transaction id. required: true schema: type: string - name: expand in: query description: Comma-separated relations that should be expanded in the returned data. required: false schema: type: string title: expand description: Comma-separated relations that should be expanded in the returned data. - name: fields in: query description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. required: false schema: type: string title: fields description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions/{workflow_id}/{transaction_id}' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AdminWorkflowExecutionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /admin/workflows-executions/{workflow_id}/{transaction_id}/{step_id}/subscribe: get: operationId: GetWorkflowsExecutionsWorkflow_idTransaction_idStep_idSubscribe summary: Subscribe to Step of a Workflow's Execution x-sidebar-summary: Subscribe to Step description: | Subscribe to a step in a workflow's execution to receive real-time information about its status and data. This route returns an event stream that you can consume using the [EventSource API](https://developer.mozilla.org/en-US/docs/Web/API/EventSource). x-authenticated: true parameters: - name: workflow_id in: path description: The workflows execution's workflow id. required: true schema: type: string - name: transaction_id in: path description: The workflows execution's transaction id. required: true schema: type: string - name: step_id in: path description: The workflows execution's step id. required: true schema: type: string security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions/{workflow_id}/{transaction_id}/{step_id}/subscribe' \ -H 'x-medusa-access-token: {api_token}' tags: - Workflows Executions responses: '200': description: Stream of the step's status. content: text/event-stream: schema: type: string description: The step's status update and data changes. example: |- event: success data: {} '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /auth/session: post: operationId: PostSession summary: Set Authentication Session description: Set the cookie session ID of an admin user. The admin must be previously authenticated with the `/auth/user/{provider}` API route first, as the JWT token is required in the header of the request. x-authenticated: true x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/auth/session' \ -H 'Authorization: Bearer {jwt_token}' tags: - Auth responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthAdminSessionResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' delete: operationId: DeleteSession summary: Delete Authentication Session description: Deletes the cookie session ID previously set for authentication. x-authenticated: true x-codeSamples: - lang: Shell label: cURL source: |- curl -X DELETE '{backend_url}/auth/session' \ -H 'Cookie: connect.sid={sid}' tags: - Auth responses: '200': description: OK content: application/json: schema: type: object description: SUMMARY required: - success properties: success: type: boolean title: success description: Whether the session was deleted successfully. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /auth/user/{auth_provider}: post: operationId: PostActor_typeAuth_provider summary: Authenticate User description: Authenticate an admin user and receive the JWT token to be used in the header of subsequent requests. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass x-codeSamples: - lang: Shell label: cURL source: curl -X POST '{backend_url}/auth/user/{auth_provider}' tags: - Auth responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /auth/user/{auth_provider}/callback: post: operationId: PostActor_typeAuth_providerCallback summary: Validate Authentication Callback description: Third-party authentication providers, such as Google, require an API route to call once authentication with the third-party provider is finished. This API route validates callback for admin users logged-in with third-party providers. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: google x-codeSamples: - lang: Shell label: cURL source: curl -X POST '{backend_url}/auth/user/{auth_provider}/callback' tags: - Auth responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' /auth/user/{auth_provider}/register: post: operationId: PostActor_typeAuth_provider_register summary: Retrieve Registration JWT Token description: A registration JWT token is used in the header of requests that create a user, such as the accept invitation request. This API route retrieves the JWT token of a user that hasn't been registered yet. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass x-codeSamples: - lang: Shell label: cURL source: curl -X POST '{backend_url}/auth/user/{auth_provider}/register' tags: - Auth responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/responses/not_found_error' '409': $ref: '#/components/responses/invalid_state_error' '422': $ref: '#/components/responses/invalid_request_error' '500': $ref: '#/components/responses/500_error' components: schemas: AdminApiKey: type: object description: The api key's details. x-schemaName: AdminApiKey required: - id - token - redacted - title - type - last_used_at - created_by - created_at - revoked_by - revoked_at properties: id: type: string title: id description: The api key's ID. token: type: string title: token description: The api key's token. redacted: type: string title: redacted description: The api key's redacted. title: type: string title: title description: The api key's title. type: type: string description: The api key's type. enum: - secret - publishable last_used_at: type: string title: last_used_at description: The api key's last used at. format: date-time created_by: type: string title: created_by description: The api key's created by. created_at: type: string format: date-time title: created_at description: The api key's created at. revoked_by: type: string title: revoked_by description: The api key's revoked by. revoked_at: type: string title: revoked_at description: The api key's revoked at. format: date-time AdminApiKeyResponse: type: object description: SUMMARY x-schemaName: AdminApiKeyResponse required: - api_key properties: api_key: $ref: '#/components/schemas/AdminApiKey' AdminArchiveOrder: type: object description: SUMMARY x-schemaName: AdminArchiveOrder required: - order_id properties: order_id: type: string title: order_id description: The order's order id. AdminBatchProductRequest: type: object description: SUMMARY x-schemaName: AdminBatchProductRequest properties: create: type: array description: The product's create. items: $ref: '#/components/schemas/AdminCreateProduct' update: type: array description: The product's update. items: $ref: '#/components/schemas/AdminUpdateProduct' delete: type: array description: The product's delete. items: type: string title: delete description: The delete's details. AdminBatchProductResponse: type: object description: SUMMARY x-schemaName: AdminBatchProductResponse required: - created - updated - deleted properties: created: type: array description: The product's created. items: $ref: '#/components/schemas/AdminProduct' updated: type: array description: The product's updated. items: $ref: '#/components/schemas/AdminProduct' deleted: type: object description: SUMMARY required: - ids - object - deleted properties: ids: type: array description: The deleted's ids. items: type: string title: ids description: The id's ids. object: type: string title: object description: SUMMARY deleted: type: boolean title: deleted description: SUMMARY AdminBatchProductVariantRequest: type: object description: SUMMARY x-schemaName: AdminBatchProductVariantRequest properties: create: type: array description: The product's create. items: $ref: '#/components/schemas/AdminCreateProductVariant' update: type: array description: The product's update. items: $ref: '#/components/schemas/AdminUpdateProductVariant' delete: type: array description: The product's delete. items: type: string title: delete description: The delete's details. AdminBatchProductVariantResponse: type: object description: SUMMARY x-schemaName: AdminBatchProductVariantResponse required: - created - updated - deleted properties: created: type: array description: The product's created. items: $ref: '#/components/schemas/AdminProductVariant' updated: type: array description: The product's updated. items: $ref: '#/components/schemas/AdminProductVariant' deleted: type: object description: SUMMARY required: - ids - object - deleted properties: ids: type: array description: The deleted's ids. items: type: string title: ids description: The id's ids. object: type: string title: object description: SUMMARY deleted: type: boolean title: deleted description: SUMMARY AdminCampaign: type: object description: The campaign's details. x-schemaName: AdminCampaign required: - id - name - description - currency - campaign_identifier - starts_at - ends_at - budget properties: id: type: string title: id description: The campaign's ID. name: type: string title: name description: The campaign's name. description: type: string title: description description: The campaign's description. currency: type: string title: currency description: The campaign's currency. campaign_identifier: type: string title: campaign_identifier description: The campaign's campaign identifier. starts_at: type: string title: starts_at description: The campaign's starts at. ends_at: type: string title: ends_at description: The campaign's ends at. budget: type: object description: The campaign's budget. required: - id - type - currency_code - limit - used properties: id: type: string title: id description: The budget's ID. type: type: string description: The budget's type. enum: - spend - usage currency_code: type: string title: currency_code description: The budget's currency code. limit: type: number title: limit description: The budget's limit. used: type: number title: used description: The budget's used. AdminCampaignResponse: type: object description: SUMMARY x-schemaName: AdminCampaignResponse required: - campaign properties: campaign: $ref: '#/components/schemas/AdminCampaign' AdminCancelFulfillment: type: object description: SUMMARY x-schemaName: AdminCancelFulfillment AdminClaim: type: object description: The claim's details. x-schemaName: AdminClaim required: - order_id - claim_items - additional_items - currency_code - id - region_id - customer_id - sales_channel_id - email - shipping_methods - payment_status - fulfillment_status - summary - metadata - created_at - updated_at - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: order_id: type: string title: order_id description: The claim's order id. claim_items: type: array description: The claim's claim items. items: $ref: '#/components/schemas/BaseClaimItem' additional_items: type: array description: The claim's additional items. items: {} return: $ref: '#/components/schemas/Return' return_id: type: string title: return_id description: The claim's return id. no_notification: type: boolean title: no_notification description: The claim's no notification. refund_amount: type: number title: refund_amount description: The claim's refund amount. currency_code: type: string title: currency_code description: The claim's currency code. id: type: string title: id description: The claim's ID. region_id: type: string title: region_id description: The claim's region id. customer_id: type: string title: customer_id description: The claim's customer id. sales_channel_id: type: string title: sales_channel_id description: The claim's sales channel id. email: type: string title: email description: The claim's email. format: email display_id: type: number title: display_id description: The claim's display id. shipping_address: $ref: '#/components/schemas/BaseOrderAddress' billing_address: $ref: '#/components/schemas/BaseOrderAddress' shipping_methods: type: array description: The claim's shipping methods. items: $ref: '#/components/schemas/BaseOrderShippingMethod' payment_collections: type: array description: The claim's payment collections. items: $ref: '#/components/schemas/BasePaymentCollection' payment_status: type: string description: The claim's payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action fulfillments: type: array description: The claim's fulfillments. items: $ref: '#/components/schemas/BaseOrderFulfillment' fulfillment_status: type: string description: The claim's fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered transactions: type: array description: The claim's transactions. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The claim's metadata. created_at: type: string format: date-time title: created_at description: The claim's created at. updated_at: type: string format: date-time title: updated_at description: The claim's updated at. original_item_total: type: number title: original_item_total description: The claim's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The claim's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The claim's original item tax total. item_total: type: number title: item_total description: The claim's item total. item_subtotal: type: number title: item_subtotal description: The claim's item subtotal. item_tax_total: type: number title: item_tax_total description: The claim's item tax total. original_total: type: number title: original_total description: The claim's original total. original_subtotal: type: number title: original_subtotal description: The claim's original subtotal. original_tax_total: type: number title: original_tax_total description: The claim's original tax total. total: type: number title: total description: The claim's total. subtotal: type: number title: subtotal description: The claim's subtotal. tax_total: type: number title: tax_total description: The claim's tax total. discount_total: type: number title: discount_total description: The claim's discount total. discount_tax_total: type: number title: discount_tax_total description: The claim's discount tax total. gift_card_total: type: number title: gift_card_total description: The claim's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The claim's gift card tax total. shipping_total: type: number title: shipping_total description: The claim's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The claim's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The claim's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The claim's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The claim's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The claim's original shipping tax total. AdminClaimDeleteResponse: type: object description: SUMMARY x-schemaName: AdminClaimDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The claim's ID. object: type: string title: object description: The name of the deleted object. default: claim deleted: type: boolean title: deleted description: Whether the Claim was deleted. AdminClaimListResponse: type: object description: SUMMARY x-schemaName: AdminClaimListResponse required: - limit - offset - count - claims properties: limit: type: number title: limit description: The claim's limit. offset: type: number title: offset description: The claim's offset. count: type: number title: count description: The claim's count. claims: type: array description: The claim's claims. items: $ref: '#/components/schemas/AdminClaim' AdminClaimOrderResponse: type: object description: SUMMARY x-schemaName: AdminClaimOrderResponse required: - order - claim properties: order: $ref: '#/components/schemas/Order' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimPreviewResponse: type: object description: SUMMARY x-schemaName: AdminClaimPreviewResponse required: - order_preview - claim properties: order_preview: $ref: '#/components/schemas/OrderPreview' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimRequestResponse: type: object description: SUMMARY x-schemaName: AdminClaimRequestResponse required: - return - order_preview - claim properties: return: $ref: '#/components/schemas/AdminReturn' order_preview: $ref: '#/components/schemas/OrderPreview' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimResponse: type: object description: SUMMARY x-schemaName: AdminClaimResponse required: - claim properties: claim: $ref: '#/components/schemas/AdminClaim' AdminClaimReturnPreviewResponse: type: object description: SUMMARY x-schemaName: AdminClaimReturnPreviewResponse required: - order_preview - return properties: order_preview: $ref: '#/components/schemas/OrderPreview' return: $ref: '#/components/schemas/AdminReturn' AdminCollection: type: object description: The parent's collection. x-schemaName: AdminCollection required: - id - title - handle - created_at - updated_at - deleted_at - metadata properties: id: type: string title: id description: The collection's ID. title: type: string title: title description: The collection's title. handle: type: string title: handle description: The collection's handle. created_at: type: string format: date-time title: created_at description: The collection's created at. updated_at: type: string format: date-time title: updated_at description: The collection's updated at. deleted_at: type: string format: date-time title: deleted_at description: The collection's deleted at. products: type: array description: The collection's products. items: type: object metadata: type: object description: The collection's metadata. AdminCollectionDeleteResponse: type: object description: SUMMARY x-schemaName: AdminCollectionDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The collection's ID. object: type: string title: object description: The name of the deleted object. default: collection deleted: type: boolean title: deleted description: Whether the Collection was deleted. AdminCollectionListResponse: type: object description: SUMMARY x-schemaName: AdminCollectionListResponse required: - limit - offset - count - collections properties: limit: type: number title: limit description: The collection's limit. offset: type: number title: offset description: The collection's offset. count: type: number title: count description: The collection's count. collections: type: array description: The collection's collections. items: $ref: '#/components/schemas/AdminCollection' AdminCollectionResponse: type: object description: SUMMARY x-schemaName: AdminCollectionResponse required: - collection properties: collection: $ref: '#/components/schemas/AdminCollection' AdminCreateApiKey: type: object description: SUMMARY x-schemaName: AdminCreateApiKey required: - title - type properties: title: type: string title: title description: The api key's title. type: type: string description: The api key's type. enum: - publishable - secret AdminCreateApplicationMethod: type: object description: The promotion's application method. x-schemaName: AdminCreateApplicationMethod required: - value - type - target_type properties: description: type: string title: description description: The application method's description. value: type: number title: value description: The application method's value. currency_code: type: string title: currency_code description: The application method's currency code. max_quantity: type: number title: max_quantity description: The application method's max quantity. type: type: string description: The application method's type. enum: - fixed - percentage target_type: type: string description: The application method's target type. enum: - items - shipping_methods - order allocation: type: string description: The application method's allocation. enum: - each - across target_rules: type: array description: The application method's target rules. items: $ref: '#/components/schemas/AdminCreatePromotionRule' buy_rules: type: array description: The application method's buy rules. items: $ref: '#/components/schemas/AdminCreatePromotionRule' apply_to_quantity: type: number title: apply_to_quantity description: The application method's apply to quantity. buy_rules_min_quantity: type: number title: buy_rules_min_quantity description: The application method's buy rules min quantity. AdminCreateCampaign: type: object description: The promotion's campaign. x-schemaName: AdminCreateCampaign properties: name: type: string title: name description: The campaign's name. description: type: string title: description description: The campaign's description. currency: type: string title: currency description: The campaign's currency. campaign_identifier: type: string title: campaign_identifier description: The campaign's campaign identifier. starts_at: type: string title: starts_at description: The campaign's starts at. format: date-time ends_at: type: string title: ends_at description: The campaign's ends at. format: date-time budget: type: object description: The campaign's budget. properties: type: type: string description: The budget's type. enum: - spend - usage currency_code: type: string title: currency_code description: The budget's currency code. limit: type: number title: limit description: The budget's limit. AdminCreateCollection: type: object description: SUMMARY x-schemaName: AdminCreateCollection required: - title properties: title: type: string title: title description: The collection's title. handle: type: string title: handle description: The collection's handle. metadata: type: object description: The collection's metadata. AdminCreateCustomerGroup: type: object description: SUMMARY x-schemaName: AdminCreateCustomerGroup required: - name properties: name: type: string title: name description: The customer group's name. metadata: type: object description: The customer group's metadata. AdminCreateFulfillment: type: object description: SUMMARY x-schemaName: AdminCreateFulfillment required: - location_id - provider_id - delivery_address - items - labels - order - order_id - data - metadata properties: location_id: type: string title: location_id description: The fulfillment's location id. provider_id: type: string title: provider_id description: The fulfillment's provider id. delivery_address: type: object description: The fulfillment's delivery address. properties: first_name: type: string title: first_name description: The delivery address's first name. last_name: type: string title: last_name description: The delivery address's last name. phone: type: string title: phone description: The delivery address's phone. company: type: string title: company description: The delivery address's company. address_1: type: string title: address_1 description: The delivery address's address 1. address_2: type: string title: address_2 description: The delivery address's address 2. city: type: string title: city description: The delivery address's city. country_code: type: string title: country_code description: The delivery address's country code. province: type: string title: province description: The delivery address's province. postal_code: type: string title: postal_code description: The delivery address's postal code. metadata: type: object description: The delivery address's metadata. items: type: array description: The fulfillment's items. items: type: object description: The item's items. required: - title - sku - quantity - barcode properties: title: type: string title: title description: The item's title. sku: type: string title: sku description: The item's sku. quantity: type: number title: quantity description: The item's quantity. barcode: type: string title: barcode description: The item's barcode. line_item_id: type: string title: line_item_id description: The item's line item id. inventory_item_id: type: string title: inventory_item_id description: The item's inventory item id. labels: type: array description: The fulfillment's labels. items: type: object description: The label's labels. required: - tracking_number - tracking_url - label_url properties: tracking_number: type: string title: tracking_number description: The label's tracking number. tracking_url: type: string title: tracking_url description: The label's tracking url. label_url: type: string title: label_url description: The label's label url. order: type: object description: The fulfillment's order. order_id: type: string title: order_id description: The fulfillment's order id. shipping_option_id: type: string title: shipping_option_id description: The fulfillment's shipping option id. data: type: object description: The fulfillment's data. packed_at: type: string title: packed_at description: The fulfillment's packed at. format: date-time shipped_at: type: string title: shipped_at description: The fulfillment's shipped at. format: date-time delivered_at: type: string title: delivered_at description: The fulfillment's delivered at. format: date-time canceled_at: type: string title: canceled_at description: The fulfillment's canceled at. format: date-time metadata: type: object description: The fulfillment's metadata. AdminCreateInventoryItem: type: object description: SUMMARY x-schemaName: AdminCreateInventoryItem properties: sku: type: string title: sku description: The inventory item's sku. hs_code: type: string title: hs_code description: The inventory item's hs code. weight: type: number title: weight description: The inventory item's weight. length: type: number title: length description: The inventory item's length. height: type: number title: height description: The inventory item's height. width: type: number title: width description: The inventory item's width. origin_country: type: string title: origin_country description: The inventory item's origin country. mid_code: type: string title: mid_code description: The inventory item's mid code. material: type: string title: material description: The inventory item's material. title: type: string title: title description: The inventory item's title. description: type: string title: description description: The inventory item's description. requires_shipping: type: boolean title: requires_shipping description: The inventory item's requires shipping. thumbnail: type: string title: thumbnail description: The inventory item's thumbnail. metadata: type: object description: The inventory item's metadata. AdminCreatePriceList: type: object description: SUMMARY x-schemaName: AdminCreatePriceList required: - title - description properties: title: type: string title: title description: The price list's title. description: type: string title: description description: The price list's description. starts_at: type: string title: starts_at description: The price list's starts at. ends_at: type: string title: ends_at description: The price list's ends at. status: type: string description: The price list's status. enum: - active - draft type: type: string description: The price list's type. enum: - sale - override rules: type: object description: The price list's rules. prices: type: array description: The price list's prices. items: type: object description: The price's prices. required: - currency_code - amount - variant_id properties: currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. variant_id: type: string title: variant_id description: The price's variant id. min_quantity: type: number title: min_quantity description: The price's min quantity. max_quantity: type: number title: max_quantity description: The price's max quantity. rules: type: object description: The price's rules. AdminCreatePricePreference: type: object description: SUMMARY x-schemaName: AdminCreatePricePreference properties: attribute: type: string title: attribute description: The price preference's attribute. value: type: string title: value description: The price preference's value. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The price preference's is tax inclusive. AdminCreateProduct: type: object description: The create's details. x-schemaName: AdminCreateProduct required: - title properties: title: type: string title: title description: The create's title. subtitle: type: string title: subtitle description: The create's subtitle. description: type: string title: description description: The create's description. is_giftcard: type: boolean title: is_giftcard description: The create's is giftcard. discountable: type: boolean title: discountable description: The create's discountable. images: type: array description: The create's images. items: type: object description: The image's images. required: - url properties: url: type: string title: url description: The image's url. thumbnail: type: string title: thumbnail description: The create's thumbnail. handle: type: string title: handle description: The create's handle. status: type: string description: The create's status. enum: - draft - proposed - published - rejected type_id: type: string title: type_id description: The create's type id. collection_id: type: string title: collection_id description: The create's collection id. categories: type: array description: The create's categories. items: type: object description: The category's categories. required: - id properties: id: type: string title: id description: The category's ID. tags: type: array description: The create's tags. items: type: object description: The tag's tags. required: - id properties: id: type: string title: id description: The tag's ID. options: type: array description: The create's options. items: $ref: '#/components/schemas/AdminCreateProductOption' variants: type: array description: The create's variants. items: $ref: '#/components/schemas/AdminCreateProductVariant' sales_channels: type: array description: The create's sales channels. items: type: object description: The sales channel's sales channels. required: - id properties: id: type: string title: id description: The sales channel's ID. weight: type: number title: weight description: The create's weight. length: type: number title: length description: The create's length. height: type: number title: height description: The create's height. width: type: number title: width description: The create's width. hs_code: type: string title: hs_code description: The create's hs code. mid_code: type: string title: mid_code description: The create's mid code. origin_country: type: string title: origin_country description: The create's origin country. material: type: string title: material description: The create's material. metadata: type: object description: The create's metadata. AdminCreateProductCategory: type: object description: SUMMARY x-schemaName: AdminCreateProductCategory required: - name properties: name: type: string title: name description: The product category's name. description: type: string title: description description: The product category's description. handle: type: string title: handle description: The product category's handle. is_internal: type: boolean title: is_internal description: The product category's is internal. is_active: type: boolean title: is_active description: The product category's is active. parent_category_id: type: string title: parent_category_id description: The product category's parent category id. rank: type: number title: rank description: The product category's rank. metadata: type: object description: The product category's metadata. AdminCreateProductOption: type: object description: SUMMARY x-schemaName: AdminCreateProductOption required: - title - values properties: title: type: string title: title description: The product's title. values: type: array description: The product's values. items: type: string title: values description: The value's values. AdminCreateProductTag: type: object description: SUMMARY x-schemaName: AdminCreateProductTag required: - value properties: value: type: string title: value description: The product tag's value. metadata: type: object description: The product tag's metadata. AdminCreateProductVariant: type: object description: The create's details. x-schemaName: AdminCreateProductVariant required: - title - prices properties: title: type: string title: title description: The create's title. sku: type: string title: sku description: The create's sku. ean: type: string title: ean description: The create's ean. upc: type: string title: upc description: The create's upc. barcode: type: string title: barcode description: The create's barcode. hs_code: type: string title: hs_code description: The create's hs code. mid_code: type: string title: mid_code description: The create's mid code. allow_backorder: type: boolean title: allow_backorder description: The create's allow backorder. manage_inventory: type: boolean title: manage_inventory description: The create's manage inventory. variant_rank: type: number title: variant_rank description: The create's variant rank. weight: type: number title: weight description: The create's weight. length: type: number title: length description: The create's length. height: type: number title: height description: The create's height. width: type: number title: width description: The create's width. origin_country: type: string title: origin_country description: The create's origin country. material: type: string title: material description: The create's material. metadata: type: object description: The create's metadata. prices: type: array description: The create's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The create's options. AdminCreateProductVariantPrice: type: object description: The price's prices. x-schemaName: AdminCreateProductVariantPrice required: - currency_code - amount properties: currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. min_quantity: type: number title: min_quantity description: The price's min quantity. max_quantity: type: number title: max_quantity description: The price's max quantity. rules: type: object description: The price's rules. AdminCreatePromotionRule: type: object description: The rule's rules. x-schemaName: AdminCreatePromotionRule required: - operator - attribute - values properties: operator: type: string description: The rule's operator. enum: - gt - lt - eq - ne - in - lte - gte description: type: string title: description description: The rule's description. attribute: type: string title: attribute description: The rule's attribute. values: oneOf: - type: string title: values description: The rule's values. - type: array description: The rule's values. items: type: string title: values description: The value's values. AdminCreateRefundReason: type: object description: SUMMARY x-schemaName: AdminCreateRefundReason required: - label properties: label: type: string title: label description: The refund reason's label. description: type: string title: description description: The refund reason's description. AdminCreateRegion: type: object description: SUMMARY x-schemaName: AdminCreateRegion required: - name - currency_code properties: name: type: string title: name description: The region's name. currency_code: type: string title: currency_code description: The region's currency code. countries: type: array description: The region's countries. items: type: string title: countries description: The country's countries. automatic_taxes: type: boolean title: automatic_taxes description: The region's automatic taxes. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The region's is tax inclusive. payment_providers: type: array description: The region's payment providers. items: type: string title: payment_providers description: The payment provider's payment providers. metadata: type: object description: The region's metadata. AdminCreateReservation: type: object description: SUMMARY x-schemaName: AdminCreateReservation required: - location_id - inventory_item_id - quantity properties: line_item_id: type: string title: line_item_id description: The reservation's line item id. location_id: type: string title: location_id description: The reservation's location id. inventory_item_id: type: string title: inventory_item_id description: The reservation's inventory item id. quantity: type: number title: quantity description: The reservation's quantity. description: type: string title: description description: The reservation's description. metadata: type: object description: The reservation's metadata. AdminCreateSalesChannel: type: object description: SUMMARY x-schemaName: AdminCreateSalesChannel required: - name properties: name: type: string title: name description: The sales channel's name. description: type: string title: description description: The sales channel's description. is_disabled: type: boolean title: is_disabled description: The sales channel's is disabled. metadata: type: object description: The sales channel's metadata. AdminCreateShipment: type: object description: SUMMARY x-schemaName: AdminCreateShipment required: - labels properties: labels: type: array description: The fulfillment's labels. items: type: object description: The label's labels. required: - tracking_number - tracking_url - label_url properties: tracking_number: type: string title: tracking_number description: The label's tracking number. tracking_url: type: string title: tracking_url description: The label's tracking url. label_url: type: string title: label_url description: The label's label url. AdminCreateShippingOption: type: object description: SUMMARY x-schemaName: AdminCreateShippingOption required: - name - service_zone_id - shipping_profile_id - price_type - provider_id - type - prices properties: name: type: string title: name description: The shipping option's name. service_zone_id: type: string title: service_zone_id description: The shipping option's service zone id. shipping_profile_id: type: string title: shipping_profile_id description: The shipping option's shipping profile id. data: type: object description: The shipping option's data. price_type: type: string description: The shipping option's price type. enum: - flat - calculated provider_id: type: string title: provider_id description: The shipping option's provider id. type: type: object prices: type: array description: The shipping option's prices. items: oneOf: - type: object description: The price's prices. x-schemaName: AdminCreateShippingOptionPriceWithCurrency required: - currency_code - amount properties: currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. - type: object description: The price's prices. x-schemaName: AdminCreateShippingOptionPriceWithRegion required: - region_id - amount properties: region_id: type: string title: region_id description: The price's region id. amount: type: number title: amount description: The price's amount. rules: type: array description: The shipping option's rules. items: $ref: '#/components/schemas/AdminCreateShippingOptionRule' AdminCreateShippingOptionRule: type: object description: The rule's rules. x-schemaName: AdminCreateShippingOptionRule required: - operator - attribute - value properties: operator: type: string description: The rule's operator. enum: - gt - lt - eq - ne - in - lte - gte - nin attribute: type: string title: attribute description: The rule's attribute. value: oneOf: - type: string title: value description: The rule's value. - type: array description: The rule's value. items: type: string title: value description: The value's details. AdminCreateShippingProfile: type: object description: SUMMARY x-schemaName: AdminCreateShippingProfile required: - name - type properties: name: type: string title: name description: The shipping profile's name. type: type: string title: type description: The shipping profile's type. metadata: type: object description: The shipping profile's metadata. AdminCreateStockLocation: type: object description: SUMMARY x-schemaName: AdminCreateStockLocation required: - name properties: name: type: string title: name description: The stock location's name. address_id: type: string title: address_id description: The stock location's address id. address: $ref: '#/components/schemas/AdminUpsertStockLocationAddress' metadata: type: object description: The stock location's metadata. AdminCreateTaxRate: type: object description: SUMMARY x-schemaName: AdminCreateTaxRate required: - name - tax_region_id properties: name: type: string title: name description: The tax rate's name. tax_region_id: type: string title: tax_region_id description: The tax rate's tax region id. rate: type: number title: rate description: The tax rate's rate. code: type: string title: code description: The tax rate's code. rules: type: array description: The tax rate's rules. items: $ref: '#/components/schemas/AdminCreateTaxRateRule' is_default: type: boolean title: is_default description: The tax rate's is default. is_combinable: type: boolean title: is_combinable description: The tax rate's is combinable. metadata: type: object description: The tax rate's metadata. AdminCreateTaxRateRule: type: object description: SUMMARY x-schemaName: AdminCreateTaxRateRule required: - reference - reference_id properties: reference: type: string title: reference description: The tax rate's reference. reference_id: type: string title: reference_id description: The tax rate's reference id. AdminCreateTaxRegion: type: object description: SUMMARY x-schemaName: AdminCreateTaxRegion required: - country_code properties: country_code: type: string title: country_code description: The tax region's country code. province_code: type: string title: province_code description: The tax region's province code. parent_id: type: string title: parent_id description: The tax region's parent id. default_tax_rate: type: object description: The tax region's default tax rate. required: - name properties: rate: type: number title: rate description: The default tax rate's rate. code: type: string title: code description: The default tax rate's code. name: type: string title: name description: The default tax rate's name. is_combinable: type: boolean title: is_combinable description: The default tax rate's is combinable. metadata: type: object description: The default tax rate's metadata. metadata: type: object description: The tax region's metadata. AdminCreateVariantInventoryItem: type: object description: SUMMARY x-schemaName: AdminCreateVariantInventoryItem required: - required_quantity - inventory_item_id properties: required_quantity: type: number title: required_quantity description: The product's required quantity. inventory_item_id: type: string title: inventory_item_id description: The product's inventory item id. AdminCreateWorkflowsAsyncResponse: type: object description: SUMMARY x-schemaName: AdminCreateWorkflowsAsyncResponse required: - transaction_id - step_id properties: transaction_id: type: string title: transaction_id description: The workflows execution's transaction id. step_id: type: string title: step_id description: The workflows execution's step id. response: {} compensate_input: {} action: type: string description: The workflows execution's action. enum: - invoke - compensate AdminCreateWorkflowsRun: type: object description: SUMMARY x-schemaName: AdminCreateWorkflowsRun properties: input: {} transaction_id: type: string title: transaction_id description: The workflows execution's transaction id. AdminCurrency: type: object description: The supported currency's currency. x-schemaName: AdminCurrency AdminCurrencyListResponse: type: object description: SUMMARY x-schemaName: AdminCurrencyListResponse required: - limit - offset - count - currencies properties: limit: type: number title: limit description: The currency's limit. offset: type: number title: offset description: The currency's offset. count: type: number title: count description: The currency's count. currencies: type: array description: The currency's currencies. items: $ref: '#/components/schemas/AdminCurrency' AdminCurrencyResponse: type: object description: SUMMARY x-schemaName: AdminCurrencyResponse required: - currency properties: currency: $ref: '#/components/schemas/AdminCurrency' AdminCustomer: type: object description: The order's customer. x-schemaName: AdminCustomer required: - has_account - id - email - default_billing_address_id - default_shipping_address_id - company_name - first_name - last_name - addresses properties: has_account: type: boolean title: has_account description: The customer's has account. groups: type: array description: The customer's groups. items: $ref: '#/components/schemas/AdminCustomerGroup' id: type: string title: id description: The customer's ID. email: type: string title: email description: The customer's email. format: email default_billing_address_id: type: string title: default_billing_address_id description: The customer's default billing address id. default_shipping_address_id: type: string title: default_shipping_address_id description: The customer's default shipping address id. company_name: type: string title: company_name description: The customer's company name. first_name: type: string title: first_name description: The customer's first name. last_name: type: string title: last_name description: The customer's last name. addresses: type: array description: The customer's addresses. items: $ref: '#/components/schemas/BaseCustomerAddress' phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata. created_by: type: string title: created_by description: The customer's created by. deleted_at: type: string format: date-time title: deleted_at description: The customer's deleted at. created_at: type: string format: date-time title: created_at description: The customer's created at. updated_at: type: string format: date-time title: updated_at description: The customer's updated at. AdminCustomerAddress: type: object description: The customer's address. x-schemaName: AdminCustomerAddress required: - id - address_name - is_default_shipping - is_default_billing - customer_id - company - first_name - last_name - address_1 - address_2 - city - country_code - province - postal_code - phone - metadata - created_at - updated_at properties: id: type: string title: id description: The address's ID. address_name: type: string title: address_name description: The address's address name. is_default_shipping: type: boolean title: is_default_shipping description: The address's is default shipping. is_default_billing: type: boolean title: is_default_billing description: The address's is default billing. customer_id: type: string title: customer_id description: The address's customer id. company: type: string title: company description: The address's company. first_name: type: string title: first_name description: The address's first name. last_name: type: string title: last_name description: The address's last name. address_1: type: string title: address_1 description: The address's address 1. address_2: type: string title: address_2 description: The address's address 2. city: type: string title: city description: The address's city. country_code: type: string title: country_code description: The address's country code. province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. phone: type: string title: phone description: The address's phone. metadata: type: object description: The address's metadata. created_at: type: string format: date-time title: created_at description: The address's created at. updated_at: type: string format: date-time title: updated_at description: The address's updated at. AdminCustomerAddressResponse: type: object description: SUMMARY x-schemaName: AdminCustomerAddressResponse required: - address properties: address: $ref: '#/components/schemas/AdminCustomerAddress' AdminCustomerGroup: type: object description: The group's groups. x-schemaName: AdminCustomerGroup AdminCustomerGroupResponse: type: object description: SUMMARY x-schemaName: AdminCustomerGroupResponse required: - customer_group properties: customer_group: $ref: '#/components/schemas/AdminCustomerGroup' AdminCustomerInGroupFilters: type: object description: The customer group's customers. x-schemaName: AdminCustomerInGroupFilters properties: id: oneOf: - type: string title: id description: The customer's ID. - type: array description: The customer's ID. items: type: string title: id description: The id's ID. email: oneOf: - type: string title: email description: The customer's email. format: email - type: array description: The customer's email. items: type: string title: email description: The email's details. format: email - type: object description: The customer's email. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). default_billing_address_id: oneOf: - type: string title: default_billing_address_id description: The customer's default billing address id. - type: array description: The customer's default billing address id. items: type: string title: default_billing_address_id description: The default billing address id's details. default_shipping_address_id: oneOf: - type: string title: default_shipping_address_id description: The customer's default shipping address id. - type: array description: The customer's default shipping address id. items: type: string title: default_shipping_address_id description: The default shipping address id's details. company_name: oneOf: - type: string title: company_name description: The customer's company name. - type: array description: The customer's company name. items: type: string title: company_name description: The company name's details. first_name: oneOf: - type: string title: first_name description: The customer's first name. - type: array description: The customer's first name. items: type: string title: first_name description: The first name's details. last_name: oneOf: - type: string title: last_name description: The customer's last name. - type: array description: The customer's last name. items: type: string title: last_name description: The last name's details. created_by: oneOf: - type: string title: created_by description: The customer's created by. - type: array description: The customer's created by. items: type: string title: created_by description: The created by's details. created_at: type: object description: The customer's created at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). updated_at: type: object description: The customer's updated at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). deleted_at: type: object description: The customer's deleted at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). AdminCustomerResponse: type: object description: SUMMARY x-schemaName: AdminCustomerResponse required: - customer properties: customer: $ref: '#/components/schemas/AdminCustomer' AdminDeletePaymentCollectionResponse: type: object description: SUMMARY x-schemaName: AdminDeletePaymentCollectionResponse required: - id - object - deleted properties: id: type: string title: id description: The payment collection's ID. object: type: string title: object description: SUMMARY default: payment-collection deleted: type: boolean title: deleted description: SUMMARY AdminDraftOrderResponse: type: object description: SUMMARY x-schemaName: AdminDraftOrderResponse required: - draft_order properties: draft_order: $ref: '#/components/schemas/AdminOrder' AdminExchange: type: object description: The exchange's details. x-schemaName: AdminExchange required: - order_id - return_items - additional_items - currency_code - id - region_id - customer_id - sales_channel_id - email - shipping_methods - payment_status - fulfillment_status - summary - metadata - created_at - updated_at - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: order_id: type: string title: order_id description: The exchange's order id. return_items: type: array description: The exchange's return items. items: $ref: '#/components/schemas/AdminReturnItem' additional_items: type: array description: The exchange's additional items. items: $ref: '#/components/schemas/BaseExchangeItem' no_notification: type: boolean title: no_notification description: The exchange's no notification. difference_due: type: number title: difference_due description: The exchange's difference due. return: $ref: '#/components/schemas/AdminReturn' return_id: type: string title: return_id description: The exchange's return id. currency_code: type: string title: currency_code description: The exchange's currency code. id: type: string title: id description: The exchange's ID. region_id: type: string title: region_id description: The exchange's region id. customer_id: type: string title: customer_id description: The exchange's customer id. sales_channel_id: type: string title: sales_channel_id description: The exchange's sales channel id. email: type: string title: email description: The exchange's email. format: email display_id: type: number title: display_id description: The exchange's display id. shipping_address: $ref: '#/components/schemas/BaseOrderAddress' billing_address: $ref: '#/components/schemas/BaseOrderAddress' shipping_methods: type: array description: The exchange's shipping methods. items: $ref: '#/components/schemas/BaseOrderShippingMethod' payment_collections: type: array description: The exchange's payment collections. items: $ref: '#/components/schemas/BasePaymentCollection' payment_status: type: string description: The exchange's payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action fulfillments: type: array description: The exchange's fulfillments. items: $ref: '#/components/schemas/BaseOrderFulfillment' fulfillment_status: type: string description: The exchange's fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered transactions: type: array description: The exchange's transactions. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The exchange's metadata. created_at: type: string format: date-time title: created_at description: The exchange's created at. updated_at: type: string format: date-time title: updated_at description: The exchange's updated at. original_item_total: type: number title: original_item_total description: The exchange's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The exchange's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The exchange's original item tax total. item_total: type: number title: item_total description: The exchange's item total. item_subtotal: type: number title: item_subtotal description: The exchange's item subtotal. item_tax_total: type: number title: item_tax_total description: The exchange's item tax total. original_total: type: number title: original_total description: The exchange's original total. original_subtotal: type: number title: original_subtotal description: The exchange's original subtotal. original_tax_total: type: number title: original_tax_total description: The exchange's original tax total. total: type: number title: total description: The exchange's total. subtotal: type: number title: subtotal description: The exchange's subtotal. tax_total: type: number title: tax_total description: The exchange's tax total. discount_total: type: number title: discount_total description: The exchange's discount total. discount_tax_total: type: number title: discount_tax_total description: The exchange's discount tax total. gift_card_total: type: number title: gift_card_total description: The exchange's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The exchange's gift card tax total. shipping_total: type: number title: shipping_total description: The exchange's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The exchange's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The exchange's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The exchange's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The exchange's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The exchange's original shipping tax total. AdminExchangeDeleteResponse: type: object description: SUMMARY x-schemaName: AdminExchangeDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The exchange's ID. object: type: string title: object description: The name of the deleted object. default: exchange deleted: type: boolean title: deleted description: Whether the Exchange was deleted. AdminExchangeOrderResponse: type: object description: SUMMARY x-schemaName: AdminExchangeOrderResponse required: - order - exchange properties: order: $ref: '#/components/schemas/Order' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangePreviewResponse: type: object description: SUMMARY x-schemaName: AdminExchangePreviewResponse required: - order_preview - exchange properties: order_preview: $ref: '#/components/schemas/OrderPreview' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeRequestResponse: type: object description: SUMMARY x-schemaName: AdminExchangeRequestResponse required: - return - order_preview - exchange properties: return: $ref: '#/components/schemas/AdminReturn' order_preview: $ref: '#/components/schemas/OrderPreview' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeResponse: type: object description: SUMMARY x-schemaName: AdminExchangeResponse required: - exchange properties: exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeReturnResponse: type: object description: SUMMARY x-schemaName: AdminExchangeReturnResponse required: - order_preview - return properties: order_preview: $ref: '#/components/schemas/OrderPreview' return: $ref: '#/components/schemas/AdminReturn' AdminExportProductRequest: type: object description: SUMMARY x-schemaName: AdminExportProductRequest AdminExportProductResponse: type: object description: SUMMARY x-schemaName: AdminExportProductResponse required: - transaction_id properties: transaction_id: type: string title: transaction_id description: The product's transaction id. AdminFile: type: object description: The upload's file. x-schemaName: AdminFile required: - id - url properties: id: type: string title: id description: The file's ID. url: type: string title: url description: The file's url. AdminFileListResponse: type: object description: SUMMARY x-schemaName: AdminFileListResponse required: - files properties: files: type: array description: The upload's files. items: $ref: '#/components/schemas/AdminFile' AdminFileResponse: type: object description: SUMMARY x-schemaName: AdminFileResponse required: - file properties: file: $ref: '#/components/schemas/AdminFile' AdminFulfillment: type: object description: The fulfillment's details. x-schemaName: AdminFulfillment required: - id - location_id - provider_id - shipping_option_id - provider - delivery_address - items - labels - packed_at - shipped_at - delivered_at - canceled_at - data - metadata - created_at - updated_at - deleted_at properties: id: type: string title: id description: The fulfillment's ID. location_id: type: string title: location_id description: The fulfillment's location id. provider_id: type: string title: provider_id description: The fulfillment's provider id. shipping_option_id: type: string title: shipping_option_id description: The fulfillment's shipping option id. provider: $ref: '#/components/schemas/AdminFulfillmentProvider' delivery_address: $ref: '#/components/schemas/AdminFulfillmentAddress' items: type: array description: The fulfillment's items. items: $ref: '#/components/schemas/AdminFulfillmentItem' labels: type: array description: The fulfillment's labels. items: $ref: '#/components/schemas/AdminFulfillmentLabel' packed_at: type: string title: packed_at description: The fulfillment's packed at. shipped_at: type: string title: shipped_at description: The fulfillment's shipped at. delivered_at: type: string title: delivered_at description: The fulfillment's delivered at. canceled_at: type: string title: canceled_at description: The fulfillment's canceled at. data: type: object description: The fulfillment's data. metadata: type: object description: The fulfillment's metadata. created_at: type: string format: date-time title: created_at description: The fulfillment's created at. updated_at: type: string format: date-time title: updated_at description: The fulfillment's updated at. deleted_at: type: string format: date-time title: deleted_at description: The fulfillment's deleted at. AdminFulfillmentAddress: type: object description: The fulfillment's delivery address. x-schemaName: AdminFulfillmentAddress required: - id - fulfillment_id - company - first_name - last_name - address_1 - address_2 - city - country_code - province - postal_code - phone - metadata - created_at - updated_at - deleted_at properties: id: type: string title: id description: The delivery address's ID. fulfillment_id: type: string title: fulfillment_id description: The delivery address's fulfillment id. company: type: string title: company description: The delivery address's company. first_name: type: string title: first_name description: The delivery address's first name. last_name: type: string title: last_name description: The delivery address's last name. address_1: type: string title: address_1 description: The delivery address's address 1. address_2: type: string title: address_2 description: The delivery address's address 2. city: type: string title: city description: The delivery address's city. country_code: type: string title: country_code description: The delivery address's country code. province: type: string title: province description: The delivery address's province. postal_code: type: string title: postal_code description: The delivery address's postal code. phone: type: string title: phone description: The delivery address's phone. metadata: type: object description: The delivery address's metadata. created_at: type: string format: date-time title: created_at description: The delivery address's created at. updated_at: type: string format: date-time title: updated_at description: The delivery address's updated at. deleted_at: type: string format: date-time title: deleted_at description: The delivery address's deleted at. AdminFulfillmentItem: type: object description: The item's items. x-schemaName: AdminFulfillmentItem required: - id - title - quantity - sku - barcode - line_item_id - inventory_item_id - fulfillment_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. quantity: type: number title: quantity description: The item's quantity. sku: type: string title: sku description: The item's sku. barcode: type: string title: barcode description: The item's barcode. line_item_id: type: string title: line_item_id description: The item's line item id. inventory_item_id: type: string title: inventory_item_id description: The item's inventory item id. fulfillment_id: type: string title: fulfillment_id description: The item's fulfillment id. created_at: type: string format: date-time title: created_at description: The item's created at. updated_at: type: string format: date-time title: updated_at description: The item's updated at. deleted_at: type: string format: date-time title: deleted_at description: The item's deleted at. AdminFulfillmentLabel: type: object description: The label's labels. x-schemaName: AdminFulfillmentLabel required: - id - tracking_number - tracking_url - label_url - fulfillment_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The label's ID. tracking_number: type: string title: tracking_number description: The label's tracking number. tracking_url: type: string title: tracking_url description: The label's tracking url. label_url: type: string title: label_url description: The label's label url. fulfillment_id: type: string title: fulfillment_id description: The label's fulfillment id. created_at: type: string format: date-time title: created_at description: The label's created at. updated_at: type: string format: date-time title: updated_at description: The label's updated at. deleted_at: type: string format: date-time title: deleted_at description: The label's deleted at. AdminFulfillmentProvider: type: object description: The fulfillment provider's fulfillment providers. x-schemaName: AdminFulfillmentProvider AdminFulfillmentProviderListResponse: type: object description: SUMMARY x-schemaName: AdminFulfillmentProviderListResponse required: - limit - offset - count - fulfillment_providers properties: limit: type: number title: limit description: The fulfillment provider's limit. offset: type: number title: offset description: The fulfillment provider's offset. count: type: number title: count description: The fulfillment provider's count. fulfillment_providers: type: array description: The fulfillment provider's fulfillment providers. items: $ref: '#/components/schemas/AdminFulfillmentProvider' AdminFulfillmentResponse: type: object description: SUMMARY x-schemaName: AdminFulfillmentResponse required: - fulfillment properties: fulfillment: $ref: '#/components/schemas/AdminFulfillment' AdminFulfillmentSet: type: object description: The fulfillment set's parent. x-schemaName: AdminFulfillmentSet required: - id - name - type - location - service_zones - created_at - updated_at - deleted_at properties: id: type: string title: id description: The parent's ID. name: type: string title: name description: The parent's name. type: type: string title: type description: The parent's type. location: $ref: '#/components/schemas/AdminStockLocation' service_zones: type: array description: The parent's service zones. items: $ref: '#/components/schemas/AdminServiceZone' created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. deleted_at: type: string format: date-time title: deleted_at description: The parent's deleted at. AdminFulfillmentSetDeleteResponse: type: object description: SUMMARY x-schemaName: AdminFulfillmentSetDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The fulfillment set's ID. object: type: string title: object description: The name of the deleted object. default: fulfillment_set deleted: type: boolean title: deleted description: Whether the Fulfillment Set was deleted. AdminFulfillmentSetResponse: type: object description: SUMMARY x-schemaName: AdminFulfillmentSetResponse required: - fulfillment_set properties: fulfillment_set: $ref: '#/components/schemas/AdminFulfillmentSet' AdminGeoZone: type: object description: The geo zone's geo zones. x-schemaName: AdminGeoZone AdminImportProductRequest: type: object description: SUMMARY x-schemaName: AdminImportProductRequest required: - file properties: file: $ref: '#/components/schemas/File' AdminImportProductResponse: type: object description: SUMMARY x-schemaName: AdminImportProductResponse required: - transaction_id - summary properties: transaction_id: type: string title: transaction_id description: The product's transaction id. summary: type: object description: The product's summary. required: - toCreate - toUpdate properties: toCreate: type: number title: toCreate description: The summary's tocreate. toUpdate: type: number title: toUpdate description: The summary's toupdate. AdminInventoryItem: type: object description: The inventory item's details. x-schemaName: AdminInventoryItem required: - id - requires_shipping properties: id: type: string title: id description: The inventory item's ID. sku: type: string title: sku description: The inventory item's sku. origin_country: type: string title: origin_country description: The inventory item's origin country. hs_code: type: string title: hs_code description: The inventory item's hs code. requires_shipping: type: boolean title: requires_shipping description: The inventory item's requires shipping. mid_code: type: string title: mid_code description: The inventory item's mid code. material: type: string title: material description: The inventory item's material. weight: type: number title: weight description: The inventory item's weight. length: type: number title: length description: The inventory item's length. height: type: number title: height description: The inventory item's height. width: type: number title: width description: The inventory item's width. title: type: string title: title description: The inventory item's title. description: type: string title: description description: The inventory item's description. thumbnail: type: string title: thumbnail description: The inventory item's thumbnail. metadata: type: object description: The inventory item's metadata. location_levels: type: array description: The inventory item's location levels. items: $ref: '#/components/schemas/AdminInventoryLevel' AdminInventoryItemResponse: type: object description: SUMMARY x-schemaName: AdminInventoryItemResponse required: - inventory_item properties: inventory_item: $ref: '#/components/schemas/AdminInventoryItem' AdminInventoryLevel: type: object description: The location level's location levels. x-schemaName: AdminInventoryLevel required: - id - created_at - updated_at - deleted_at - inventory_item_id - location_id - stocked_quantity - raw_stocked_quantity - reserved_quantity - raw_reserved_quantity - incoming_quantity - raw_incoming_quantity - metadata - available_quantity properties: id: type: string title: id description: The location level's ID. created_at: type: string format: date-time title: created_at description: The location level's created at. updated_at: type: string format: date-time title: updated_at description: The location level's updated at. deleted_at: type: string format: date-time title: deleted_at description: The location level's deleted at. inventory_item_id: type: string title: inventory_item_id description: The location level's inventory item id. location_id: type: string title: location_id description: The location level's location id. stocked_quantity: type: number title: stocked_quantity description: The location level's stocked quantity. raw_stocked_quantity: type: object description: The location level's raw stocked quantity. reserved_quantity: type: number title: reserved_quantity description: The location level's reserved quantity. raw_reserved_quantity: type: object description: The location level's raw reserved quantity. incoming_quantity: type: number title: incoming_quantity description: The location level's incoming quantity. raw_incoming_quantity: type: object description: The location level's raw incoming quantity. metadata: type: object description: The location level's metadata. inventory_item: type: object available_quantity: type: number title: available_quantity description: The location level's available quantity. AdminInvite: type: object description: The invite's details. x-schemaName: AdminInvite required: - id - email - accepted - token properties: id: type: string title: id description: The invite's ID. email: type: string title: email description: The invite's email. format: email accepted: type: boolean title: accepted description: The invite's accepted. token: type: string title: token description: The invite's token. expires_at: type: string title: expires_at description: The invite's expires at. format: date-time metadata: type: object description: The invite's metadata. created_at: type: string format: date-time title: created_at description: The invite's created at. updated_at: type: string format: date-time title: updated_at description: The invite's updated at. AdminInviteResponse: type: object description: SUMMARY x-schemaName: AdminInviteResponse required: - invite properties: invite: $ref: '#/components/schemas/AdminInvite' AdminLinkPriceListProducts: type: object description: The removal details. properties: remove: type: array description: The products to remove from the price list. items: type: string title: remove description: The ID of a product. x-schemaName: AdminLinkPriceListProducts AdminNotification: type: object description: The notification's details. x-schemaName: AdminNotification required: - id - to - channel - template - provider_id - created_at properties: id: type: string title: id description: The notification's ID. to: type: string title: to description: The notification's to. channel: type: string title: channel description: The notification's channel. template: type: string title: template description: The notification's template. data: type: object description: The notification's data. trigger_type: type: string title: trigger_type description: The notification's trigger type. resource_id: type: string title: resource_id description: The notification's resource id. resource_type: type: string title: resource_type description: The notification's resource type. receiver_id: type: string title: receiver_id description: The notification's receiver id. original_notification_id: type: string title: original_notification_id description: The notification's original notification id. external_id: type: string title: external_id description: The notification's external id. provider_id: type: string title: provider_id description: The notification's provider id. created_at: type: string format: date-time title: created_at description: The notification's created at. AdminNotificationListResponse: type: object description: SUMMARY x-schemaName: AdminNotificationListResponse required: - limit - offset - count - notifications properties: limit: type: number title: limit description: The notification's limit. offset: type: number title: offset description: The notification's offset. count: type: number title: count description: The notification's count. notifications: type: array description: The notification's notifications. items: $ref: '#/components/schemas/AdminNotification' AdminNotificationResponse: type: object description: SUMMARY x-schemaName: AdminNotificationResponse required: - notification properties: notification: $ref: '#/components/schemas/AdminNotification' AdminOrder: type: object description: The order's details. x-schemaName: AdminOrder required: - payment_collections - id - version - region_id - customer_id - sales_channel_id - email - currency_code - items - shipping_methods - payment_status - fulfillment_status - summary - metadata - created_at - updated_at - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: payment_collections: type: array description: The order's payment collections. items: $ref: '#/components/schemas/AdminPaymentCollection' fulfillments: type: array description: The order's fulfillments. items: $ref: '#/components/schemas/BaseOrderFulfillment' sales_channel: $ref: '#/components/schemas/AdminSalesChannel' customer: $ref: '#/components/schemas/AdminCustomer' shipping_address: $ref: '#/components/schemas/AdminOrderAddress' billing_address: $ref: '#/components/schemas/AdminOrderAddress' id: type: string title: id description: The order's ID. version: type: number title: version description: The order's version. region_id: type: string title: region_id description: The order's region id. customer_id: type: string title: customer_id description: The order's customer id. sales_channel_id: type: string title: sales_channel_id description: The order's sales channel id. email: type: string title: email description: The order's email. format: email currency_code: type: string title: currency_code description: The order's currency code. display_id: type: number title: display_id description: The order's display id. items: type: array description: The order's items. items: $ref: '#/components/schemas/BaseOrderLineItem' shipping_methods: type: array description: The order's shipping methods. items: $ref: '#/components/schemas/BaseOrderShippingMethod' payment_status: type: string description: The order's payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action fulfillment_status: type: string description: The order's fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered transactions: type: array description: The order's transactions. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The order's metadata. created_at: type: string format: date-time title: created_at description: The order's created at. updated_at: type: string format: date-time title: updated_at description: The order's updated at. original_item_total: type: number title: original_item_total description: The order's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The order's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The order's original item tax total. item_total: type: number title: item_total description: The order's item total. item_subtotal: type: number title: item_subtotal description: The order's item subtotal. item_tax_total: type: number title: item_tax_total description: The order's item tax total. original_total: type: number title: original_total description: The order's original total. original_subtotal: type: number title: original_subtotal description: The order's original subtotal. original_tax_total: type: number title: original_tax_total description: The order's original tax total. total: type: number title: total description: The order's total. subtotal: type: number title: subtotal description: The order's subtotal. tax_total: type: number title: tax_total description: The order's tax total. discount_total: type: number title: discount_total description: The order's discount total. discount_tax_total: type: number title: discount_tax_total description: The order's discount tax total. gift_card_total: type: number title: gift_card_total description: The order's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The order's gift card tax total. shipping_total: type: number title: shipping_total description: The order's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The order's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The order's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The order's original shipping tax total. AdminOrderAddress: type: object description: The order's billing address. x-schemaName: AdminOrderAddress required: - id - metadata - created_at - updated_at properties: country: $ref: '#/components/schemas/AdminRegionCountry' id: type: string title: id description: The billing address's ID. customer_id: type: string title: customer_id description: The billing address's customer id. first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. created_at: type: string format: date-time title: created_at description: The billing address's created at. updated_at: type: string format: date-time title: updated_at description: The billing address's updated at. AdminOrderChangesResponse: type: object description: SUMMARY x-schemaName: AdminOrderChangesResponse required: - order_changes properties: order_changes: type: array description: The order's order changes. items: $ref: '#/components/schemas/BaseOrderChange' AdminOrderEditPreviewResponse: type: object description: SUMMARY x-schemaName: AdminOrderEditPreviewResponse required: - order_preview properties: order_preview: $ref: '#/components/schemas/OrderPreview' AdminOrderEditResponse: type: object description: SUMMARY x-schemaName: AdminOrderEditResponse required: - order_change properties: order_change: $ref: '#/components/schemas/OrderChange' AdminOrderPreview: type: object description: The return's order preview. x-schemaName: AdminOrderPreview required: - return_requested_total - order_change - currency_code - version - id - region_id - customer_id - sales_channel_id - email - payment_collections - payment_status - fulfillment_status - summary - metadata - created_at - updated_at - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: return_requested_total: type: number title: return_requested_total description: The order preview's return requested total. order_change: $ref: '#/components/schemas/BaseOrderChange' items: type: array description: The order preview's items. items: allOf: - type: object description: The item's items. x-schemaName: BaseOrderLineItem required: - id - title - subtitle - thumbnail - variant_id - product_id - product_title - product_description - product_subtitle - product_type - product_collection - product_handle - variant_sku - variant_barcode - variant_title - variant_option_values - requires_shipping - is_discountable - is_tax_inclusive - unit_price - quantity - detail - created_at - updated_at - metadata - original_total - original_subtotal - original_tax_total - item_total - item_subtotal - item_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - refundable_total - refundable_total_per_unit properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The item's variant id. product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. compare_at_unit_price: type: number title: compare_at_unit_price description: The item's compare at unit price. unit_price: type: number title: unit_price description: The item's unit price. quantity: type: number title: quantity description: The item's quantity. tax_lines: type: array description: The item's tax lines. items: $ref: '#/components/schemas/BaseOrderLineItemTaxLine' adjustments: type: array description: The item's adjustments. items: $ref: '#/components/schemas/BaseOrderLineItemAdjustment' detail: $ref: '#/components/schemas/BaseOrderItemDetail' created_at: type: string format: date-time title: created_at description: The item's created at. updated_at: type: string format: date-time title: updated_at description: The item's updated at. metadata: type: object description: The item's metadata. original_total: type: number title: original_total description: The item's original total. original_subtotal: type: number title: original_subtotal description: The item's original subtotal. original_tax_total: type: number title: original_tax_total description: The item's original tax total. item_total: type: number title: item_total description: The item's item total. item_subtotal: type: number title: item_subtotal description: The item's item subtotal. item_tax_total: type: number title: item_tax_total description: The item's item tax total. total: type: number title: total description: The item's total. subtotal: type: number title: subtotal description: The item's subtotal. tax_total: type: number title: tax_total description: The item's tax total. discount_total: type: number title: discount_total description: The item's discount total. discount_tax_total: type: number title: discount_tax_total description: The item's discount tax total. refundable_total: type: number title: refundable_total description: The item's refundable total. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The item's refundable total per unit. - type: object description: The item's items. properties: actions: type: array description: The item's actions. items: type: object description: The action's actions. x-schemaName: BaseOrderChangeAction shipping_methods: type: array description: The order preview's shipping methods. items: allOf: - type: object description: The shipping method's shipping methods. x-schemaName: BaseOrderShippingMethod required: - id - order_id - name - amount - is_tax_inclusive - shipping_option_id - data - metadata - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - created_at - updated_at properties: id: type: string title: id description: The shipping method's ID. order_id: type: string title: order_id description: The shipping method's order id. name: type: string title: name description: The shipping method's name. description: type: string title: description description: The shipping method's description. amount: type: number title: amount description: The shipping method's amount. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The shipping method's is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The shipping method's shipping option id. data: type: object description: The shipping method's data. metadata: type: object description: The shipping method's metadata. tax_lines: type: array description: The shipping method's tax lines. items: $ref: '#/components/schemas/BaseOrderShippingMethodTaxLine' adjustments: type: array description: The shipping method's adjustments. items: $ref: '#/components/schemas/BaseOrderShippingMethodAdjustment' original_total: oneOf: - type: string title: original_total description: The shipping method's original total. - type: number title: original_total description: The shipping method's original total. - type: string title: original_total description: The shipping method's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The shipping method's original subtotal. - type: number title: original_subtotal description: The shipping method's original subtotal. - type: string title: original_subtotal description: The shipping method's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The shipping method's original tax total. - type: number title: original_tax_total description: The shipping method's original tax total. - type: string title: original_tax_total description: The shipping method's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The shipping method's total. - type: number title: total description: The shipping method's total. - type: string title: total description: The shipping method's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The shipping method's subtotal. - type: number title: subtotal description: The shipping method's subtotal. - type: string title: subtotal description: The shipping method's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The shipping method's tax total. - type: number title: tax_total description: The shipping method's tax total. - type: string title: tax_total description: The shipping method's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The shipping method's discount total. - type: number title: discount_total description: The shipping method's discount total. - type: string title: discount_total description: The shipping method's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The shipping method's discount tax total. - type: number title: discount_tax_total description: The shipping method's discount tax total. - type: string title: discount_tax_total description: The shipping method's discount tax total. - $ref: '#/components/schemas/IBigNumber' created_at: type: string format: date-time title: created_at description: The shipping method's created at. updated_at: type: string format: date-time title: updated_at description: The shipping method's updated at. - type: object description: The shipping method's shipping methods. properties: actions: type: array description: The shipping method's actions. items: type: object description: The action's actions. x-schemaName: BaseOrderChangeAction currency_code: type: string title: currency_code description: The order preview's currency code. version: type: number title: version description: The order preview's version. id: type: string title: id description: The order preview's ID. region_id: type: string title: region_id description: The order preview's region id. customer_id: type: string title: customer_id description: The order preview's customer id. sales_channel_id: type: string title: sales_channel_id description: The order preview's sales channel id. email: type: string title: email description: The order preview's email. format: email display_id: type: number title: display_id description: The order preview's display id. shipping_address: $ref: '#/components/schemas/AdminOrderAddress' billing_address: $ref: '#/components/schemas/AdminOrderAddress' payment_collections: type: array description: The order preview's payment collections. items: $ref: '#/components/schemas/AdminPaymentCollection' payment_status: type: string description: The order preview's payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action fulfillments: type: array description: The order preview's fulfillments. items: $ref: '#/components/schemas/BaseOrderFulfillment' fulfillment_status: type: string description: The order preview's fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered transactions: type: array description: The order preview's transactions. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The order preview's metadata. created_at: type: string format: date-time title: created_at description: The order preview's created at. updated_at: type: string format: date-time title: updated_at description: The order preview's updated at. original_item_total: type: number title: original_item_total description: The order preview's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The order preview's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The order preview's original item tax total. item_total: type: number title: item_total description: The order preview's item total. item_subtotal: type: number title: item_subtotal description: The order preview's item subtotal. item_tax_total: type: number title: item_tax_total description: The order preview's item tax total. original_total: type: number title: original_total description: The order preview's original total. original_subtotal: type: number title: original_subtotal description: The order preview's original subtotal. original_tax_total: type: number title: original_tax_total description: The order preview's original tax total. total: type: number title: total description: The order preview's total. subtotal: type: number title: subtotal description: The order preview's subtotal. tax_total: type: number title: tax_total description: The order preview's tax total. discount_total: type: number title: discount_total description: The order preview's discount total. discount_tax_total: type: number title: discount_tax_total description: The order preview's discount tax total. gift_card_total: type: number title: gift_card_total description: The order preview's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The order preview's gift card tax total. shipping_total: type: number title: shipping_total description: The order preview's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The order preview's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The order preview's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The order preview's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order preview's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The order preview's original shipping tax total. customer: $ref: '#/components/schemas/AdminCustomer' sales_channel: $ref: '#/components/schemas/AdminSalesChannel' AdminOrderPreviewResponse: type: object description: SUMMARY x-schemaName: AdminOrderPreviewResponse required: - order properties: order: $ref: '#/components/schemas/AdminOrderPreview' AdminOrderResponse: type: object description: SUMMARY x-schemaName: AdminOrderResponse required: - order properties: order: $ref: '#/components/schemas/AdminOrder' AdminOrderReturnResponse: type: object description: SUMMARY x-schemaName: AdminOrderReturnResponse required: - order - return properties: order: $ref: '#/components/schemas/Order' return: $ref: '#/components/schemas/AdminReturn' AdminPayment: type: object description: The payment's details. x-schemaName: AdminPayment required: - id - amount - currency_code - provider_id properties: id: type: string title: id description: The payment's ID. amount: oneOf: - type: string title: amount description: The payment's amount. - type: number title: amount description: The payment's amount. - type: string title: amount description: The payment's amount. - $ref: '#/components/schemas/IBigNumber' authorized_amount: oneOf: - type: string title: authorized_amount description: The payment's authorized amount. - type: number title: authorized_amount description: The payment's authorized amount. - type: string title: authorized_amount description: The payment's authorized amount. - $ref: '#/components/schemas/IBigNumber' currency_code: type: string title: currency_code description: The payment's currency code. provider_id: type: string title: provider_id description: The payment's provider id. cart_id: type: string title: cart_id description: The payment's cart id. order_id: type: string title: order_id description: The payment's order id. order_edit_id: type: string title: order_edit_id description: The payment's order edit id. customer_id: type: string title: customer_id description: The payment's customer id. data: type: object description: The payment's data. created_at: type: string format: date-time title: created_at description: The payment's created at. updated_at: type: string format: date-time title: updated_at description: The payment's updated at. captured_at: oneOf: - type: string title: captured_at description: The payment's captured at. - type: string title: captured_at description: The payment's captured at. format: date-time canceled_at: oneOf: - type: string title: canceled_at description: The payment's canceled at. - type: string title: canceled_at description: The payment's canceled at. format: date-time captured_amount: oneOf: - type: string title: captured_amount description: The payment's captured amount. - type: number title: captured_amount description: The payment's captured amount. - type: string title: captured_amount description: The payment's captured amount. - $ref: '#/components/schemas/IBigNumber' refunded_amount: oneOf: - type: string title: refunded_amount description: The payment's refunded amount. - type: number title: refunded_amount description: The payment's refunded amount. - type: string title: refunded_amount description: The payment's refunded amount. - $ref: '#/components/schemas/IBigNumber' captures: type: array description: The payment's captures. items: $ref: '#/components/schemas/BaseCapture' refunds: type: array description: The payment's refunds. items: $ref: '#/components/schemas/BaseRefund' payment_collection: $ref: '#/components/schemas/BasePaymentCollection' payment_session: $ref: '#/components/schemas/BasePaymentSession' AdminPaymentCollection: type: object description: The payment collection's payment collections. x-schemaName: AdminPaymentCollection required: - id - currency_code - region_id - amount - status - payment_providers properties: id: type: string title: id description: The payment collection's ID. currency_code: type: string title: currency_code description: The payment collection's currency code. region_id: type: string title: region_id description: The payment collection's region id. amount: oneOf: - type: string title: amount description: The payment collection's amount. - type: number title: amount description: The payment collection's amount. - type: string title: amount description: The payment collection's amount. - $ref: '#/components/schemas/IBigNumber' authorized_amount: oneOf: - type: string title: authorized_amount description: The payment collection's authorized amount. - type: number title: authorized_amount description: The payment collection's authorized amount. - type: string title: authorized_amount description: The payment collection's authorized amount. - $ref: '#/components/schemas/IBigNumber' captured_amount: oneOf: - type: string title: captured_amount description: The payment collection's captured amount. - type: number title: captured_amount description: The payment collection's captured amount. - type: string title: captured_amount description: The payment collection's captured amount. - $ref: '#/components/schemas/IBigNumber' refunded_amount: oneOf: - type: string title: refunded_amount description: The payment collection's refunded amount. - type: number title: refunded_amount description: The payment collection's refunded amount. - type: string title: refunded_amount description: The payment collection's refunded amount. - $ref: '#/components/schemas/IBigNumber' completed_at: oneOf: - type: string title: completed_at description: The payment collection's completed at. - type: string title: completed_at description: The payment collection's completed at. format: date-time created_at: type: string format: date-time title: created_at description: The payment collection's created at. updated_at: type: string format: date-time title: updated_at description: The payment collection's updated at. metadata: type: object description: The payment collection's metadata. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment collection's payment providers. items: $ref: '#/components/schemas/BasePaymentProvider' payment_sessions: type: array description: The payment collection's payment sessions. items: $ref: '#/components/schemas/BasePaymentSession' payments: type: array description: The payment collection's payments. items: $ref: '#/components/schemas/BasePayment' AdminPaymentCollectionResponse: type: object description: SUMMARY x-schemaName: AdminPaymentCollectionResponse required: - payment_collection properties: payment_collection: $ref: '#/components/schemas/AdminPaymentCollection' AdminPaymentProvider: type: object description: The payment provider's payment providers. x-schemaName: AdminPaymentProvider AdminPaymentResponse: type: object description: SUMMARY x-schemaName: AdminPaymentResponse required: - payment properties: payment: $ref: '#/components/schemas/AdminPayment' AdminPostCancelClaimReqSchema: type: object description: SUMMARY x-schemaName: AdminPostCancelClaimReqSchema properties: no_notification: type: boolean title: no_notification description: The claim's no notification. AdminPostCancelExchangeReqSchema: type: object description: SUMMARY x-schemaName: AdminPostCancelExchangeReqSchema properties: no_notification: type: boolean title: no_notification description: The exchange's no notification. AdminPostCancelReturnReqSchema: type: object description: SUMMARY x-schemaName: AdminPostCancelReturnReqSchema properties: no_notification: type: boolean title: no_notification description: The return's no notification. AdminPostClaimItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostClaimItemsReqSchema properties: items: type: array description: The claim's items. items: type: object description: The item's items. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. reason: type: string description: The item's reason. enum: - missing_item - wrong_item - production_failure - other description: type: string title: description description: The item's description. internal_note: type: string title: internal_note description: The item's internal note. AdminPostClaimsAddItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostClaimsAddItemsReqSchema properties: items: type: array description: The claim's items. items: type: object description: The item's items. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The item's variant id. quantity: type: number title: quantity description: The item's quantity. unit_price: type: number title: unit_price description: The item's unit price. internal_note: type: string title: internal_note description: The item's internal note. metadata: type: object description: The item's metadata. AdminPostClaimsItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostClaimsItemsActionReqSchema properties: quantity: type: number title: quantity description: The claim's quantity. reason_id: type: string title: reason_id description: The claim's reason id. internal_note: type: string title: internal_note description: The claim's internal note. AdminPostClaimsShippingActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostClaimsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The claim's custom amount. internal_note: type: string title: internal_note description: The claim's internal note. metadata: type: object description: The claim's metadata. AdminPostClaimsShippingReqSchema: type: object description: SUMMARY x-schemaName: AdminPostClaimsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The claim's shipping option id. custom_amount: type: number title: custom_amount description: The claim's custom amount. description: type: string title: description description: The claim's description. internal_note: type: string title: internal_note description: The claim's internal note. metadata: type: object description: The claim's metadata. AdminPostExchangesAddItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesAddItemsReqSchema properties: items: type: array description: The exchange's items. items: type: object description: The item's items. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The item's variant id. quantity: type: number title: quantity description: The item's quantity. unit_price: type: number title: unit_price description: The item's unit price. internal_note: type: string title: internal_note description: The item's internal note. allow_backorder: type: boolean title: allow_backorder description: The item's allow backorder. metadata: type: object description: The item's metadata. AdminPostExchangesItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesItemsActionReqSchema properties: quantity: type: number title: quantity description: The exchange's quantity. internal_note: type: string title: internal_note description: The exchange's internal note. AdminPostExchangesRequestItemsReturnActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesRequestItemsReturnActionReqSchema properties: quantity: type: number title: quantity description: The exchange's quantity. internal_note: type: string title: internal_note description: The exchange's internal note. reason_id: type: string title: reason_id description: The exchange's reason id. metadata: type: object description: The exchange's metadata. AdminPostExchangesReturnRequestItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesReturnRequestItemsReqSchema properties: items: type: array description: The exchange's items. items: type: object description: The item's items. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. description: type: string title: description description: The item's description. internal_note: type: string title: internal_note description: The item's internal note. reason_id: type: string title: reason_id description: The item's reason id. metadata: type: object description: The item's metadata. AdminPostExchangesShippingActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The exchange's custom amount. internal_note: type: string title: internal_note description: The exchange's internal note. metadata: type: object description: The exchange's metadata. AdminPostExchangesShippingReqSchema: type: object description: SUMMARY x-schemaName: AdminPostExchangesShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The exchange's shipping option id. custom_amount: type: number title: custom_amount description: The exchange's custom amount. description: type: string title: description description: The exchange's description. internal_note: type: string title: internal_note description: The exchange's internal note. metadata: type: object description: The exchange's metadata. AdminPostOrderClaimsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderClaimsReqSchema required: - type - order_id properties: type: type: string description: The claim's type. enum: - refund - replace order_id: type: string title: order_id description: The claim's order id. description: type: string title: description description: The claim's description. internal_note: type: string title: internal_note description: The claim's internal note. reason_id: type: string title: reason_id description: The claim's reason id. metadata: type: object description: The claim's metadata. AdminPostOrderEditsAddItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsAddItemsReqSchema properties: items: type: array description: The order edit's items. items: type: object description: The item's items. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The item's variant id. quantity: type: number title: quantity description: The item's quantity. unit_price: type: number title: unit_price description: The item's unit price. internal_note: type: string title: internal_note description: The item's internal note. allow_backorder: type: boolean title: allow_backorder description: The item's allow backorder. metadata: type: object description: The item's metadata. AdminPostOrderEditsItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsItemsActionReqSchema properties: quantity: type: number title: quantity description: The order edit's quantity. internal_note: type: string title: internal_note description: The order edit's internal note. AdminPostOrderEditsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsReqSchema required: - order_id properties: order_id: type: string title: order_id description: The order edit's order id. description: type: string title: description description: The order edit's description. internal_note: type: string title: internal_note description: The order edit's internal note. metadata: type: object description: The order edit's metadata. AdminPostOrderEditsShippingActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The order edit's custom amount. internal_note: type: string title: internal_note description: The order edit's internal note. metadata: type: object description: The order edit's metadata. AdminPostOrderEditsShippingReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The order edit's shipping option id. custom_amount: type: number title: custom_amount description: The order edit's custom amount. description: type: string title: description description: The order edit's description. internal_note: type: string title: internal_note description: The order edit's internal note. metadata: type: object description: The order edit's metadata. AdminPostOrderEditsUpdateItemQuantityReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderEditsUpdateItemQuantityReqSchema required: - quantity properties: quantity: type: number title: quantity description: The order edit's quantity. internal_note: type: string title: internal_note description: The order edit's internal note. AdminPostOrderExchangesReqSchema: type: object description: SUMMARY x-schemaName: AdminPostOrderExchangesReqSchema required: - order_id properties: order_id: type: string title: order_id description: The exchange's order id. description: type: string title: description description: The exchange's description. internal_note: type: string title: internal_note description: The exchange's internal note. metadata: type: object description: The exchange's metadata. AdminPostReceiveReturnsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReceiveReturnsReqSchema properties: internal_note: type: string title: internal_note description: The return's internal note. description: type: string title: description description: The return's description. metadata: type: object description: The return's metadata. AdminPostReturnsConfirmRequestReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsConfirmRequestReqSchema properties: no_notification: type: boolean title: no_notification description: The return's no notification. AdminPostReturnsDismissItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsDismissItemsActionReqSchema properties: quantity: type: number title: quantity description: The return's quantity. internal_note: type: string title: internal_note description: The return's internal note. AdminPostReturnsReceiveItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsReceiveItemsActionReqSchema properties: quantity: type: number title: quantity description: The return's quantity. internal_note: type: string title: internal_note description: The return's internal note. AdminPostReturnsReceiveItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsReceiveItemsReqSchema properties: items: type: array description: The return's items. items: type: object description: The item's items. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. description: type: string title: description description: The item's description. internal_note: type: string title: internal_note description: The item's internal note. AdminPostReturnsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsReqSchema required: - order_id properties: order_id: type: string title: order_id description: The return's order id. location_id: type: string title: location_id description: The return's location id. description: type: string title: description description: The return's description. internal_note: type: string title: internal_note description: The return's internal note. no_notification: type: boolean title: no_notification description: The return's no notification. metadata: type: object description: The return's metadata. AdminPostReturnsRequestItemsActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsRequestItemsActionReqSchema properties: quantity: type: number title: quantity description: The claim's quantity. internal_note: type: string title: internal_note description: The claim's internal note. reason_id: type: string title: reason_id description: The claim's reason id. metadata: type: object description: The claim's metadata. AdminPostReturnsRequestItemsReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsRequestItemsReqSchema properties: items: type: array description: The claim's items. items: type: object description: The item's items. required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. description: type: string title: description description: The item's description. internal_note: type: string title: internal_note description: The item's internal note. reason_id: type: string title: reason_id description: The item's reason id. metadata: type: object description: The item's metadata. AdminPostReturnsReturnReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsReturnReqSchema properties: location_id: type: string title: location_id description: The return's location id. no_notification: type: boolean title: no_notification description: The return's no notification. metadata: type: object description: The return's metadata. AdminPostReturnsShippingActionReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The return's custom amount. internal_note: type: string title: internal_note description: The return's internal note. metadata: type: object description: The return's metadata. AdminPostReturnsShippingReqSchema: type: object description: SUMMARY x-schemaName: AdminPostReturnsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The exchange's shipping option id. custom_amount: type: number title: custom_amount description: The exchange's custom amount. description: type: string title: description description: The exchange's description. internal_note: type: string title: internal_note description: The exchange's internal note. metadata: type: object description: The exchange's metadata. AdminPrice: type: object description: The price's prices. x-schemaName: AdminPrice required: - id - title - currency_code - amount - raw_amount - min_quantity - max_quantity - price_set_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The price's ID. title: type: string title: title description: The price's title. currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. raw_amount: type: object description: The price's raw amount. min_quantity: type: number title: min_quantity description: The price's min quantity. max_quantity: type: number title: max_quantity description: The price's max quantity. price_set_id: type: string title: price_set_id description: The price's price set id. created_at: type: string format: date-time title: created_at description: The price's created at. updated_at: type: string format: date-time title: updated_at description: The price's updated at. deleted_at: type: string format: date-time title: deleted_at description: The price's deleted at. AdminPriceList: type: object description: The price list's details. x-schemaName: AdminPriceList required: - id - title - description - rules - starts_at - ends_at - status - type - prices - created_at - updated_at - deleted_at properties: id: type: string title: id description: The price list's ID. title: type: string title: title description: The price list's title. description: type: string title: description description: The price list's description. rules: type: object description: The price list's rules. starts_at: type: string title: starts_at description: The price list's starts at. ends_at: type: string title: ends_at description: The price list's ends at. status: type: string description: The price list's status. enum: - draft - active type: type: string description: The price list's type. enum: - sale - override prices: type: array description: The price list's prices. items: $ref: '#/components/schemas/AdminPriceListPrice' created_at: type: string format: date-time title: created_at description: The price list's created at. updated_at: type: string format: date-time title: updated_at description: The price list's updated at. deleted_at: type: string format: date-time title: deleted_at description: The price list's deleted at. AdminPriceListBatchResponse: type: object description: SUMMARY x-schemaName: AdminPriceListBatchResponse required: - created - updated - deleted properties: created: type: array description: The price list's created. items: $ref: '#/components/schemas/AdminPrice' updated: type: array description: The price list's updated. items: $ref: '#/components/schemas/AdminPrice' deleted: type: object description: SUMMARY required: - ids - object - deleted properties: ids: type: array description: The deleted's ids. items: type: string title: ids description: The id's ids. object: type: string title: object description: SUMMARY deleted: type: boolean title: deleted description: SUMMARY AdminPriceListDeleteResponse: type: object description: SUMMARY x-schemaName: AdminPriceListDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The price list's ID. object: type: string title: object description: The name of the deleted object. default: price_list deleted: type: boolean title: deleted description: Whether the Price List was deleted. AdminPriceListListResponse: type: object description: SUMMARY x-schemaName: AdminPriceListListResponse required: - limit - offset - count - price_lists properties: limit: type: number title: limit description: The price list's limit. offset: type: number title: offset description: The price list's offset. count: type: number title: count description: The price list's count. price_lists: type: array description: The price list's price lists. items: $ref: '#/components/schemas/AdminPriceList' AdminPriceListPrice: type: object description: The price's prices. x-schemaName: AdminPriceListPrice required: - variant_id - rules - id - title - currency_code - amount - raw_amount - min_quantity - max_quantity - price_set_id - created_at - updated_at - deleted_at properties: variant_id: type: string title: variant_id description: The price's variant id. rules: type: object description: The price's rules. id: type: string title: id description: The price's ID. title: type: string title: title description: The price's title. currency_code: type: string title: currency_code description: The price's currency code. amount: type: number title: amount description: The price's amount. raw_amount: type: object description: The price's raw amount. min_quantity: type: number title: min_quantity description: The price's min quantity. max_quantity: type: number title: max_quantity description: The price's max quantity. price_set_id: type: string title: price_set_id description: The price's price set id. created_at: type: string format: date-time title: created_at description: The price's created at. updated_at: type: string format: date-time title: updated_at description: The price's updated at. deleted_at: type: string format: date-time title: deleted_at description: The price's deleted at. AdminPriceListResponse: type: object description: SUMMARY x-schemaName: AdminPriceListResponse required: - price_list properties: price_list: $ref: '#/components/schemas/AdminPriceList' AdminPricePreference: type: object description: The price preference's details. x-schemaName: AdminPricePreference required: - id - attribute - value - is_tax_inclusive - created_at - updated_at - deleted_at properties: id: type: string title: id description: The price preference's ID. attribute: type: string title: attribute description: The price preference's attribute. value: type: string title: value description: The price preference's value. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The price preference's is tax inclusive. created_at: type: string format: date-time title: created_at description: The price preference's created at. updated_at: type: string format: date-time title: updated_at description: The price preference's updated at. deleted_at: type: string format: date-time title: deleted_at description: The price preference's deleted at. AdminPricePreferenceDeleteResponse: type: object description: SUMMARY x-schemaName: AdminPricePreferenceDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The price preference's ID. object: type: string title: object description: The name of the deleted object. default: price_preference deleted: type: boolean title: deleted description: Whether the Price Preference was deleted. AdminPricePreferenceListResponse: type: object description: SUMMARY x-schemaName: AdminPricePreferenceListResponse required: - limit - offset - count - price_preferences properties: limit: type: number title: limit description: The price preference's limit. offset: type: number title: offset description: The price preference's offset. count: type: number title: count description: The price preference's count. price_preferences: type: array description: The price preference's price preferences. items: $ref: '#/components/schemas/AdminPricePreference' AdminPricePreferenceResponse: type: object description: SUMMARY x-schemaName: AdminPricePreferenceResponse required: - price_preference properties: price_preference: $ref: '#/components/schemas/AdminPricePreference' AdminProduct: type: object description: The product's parent. x-schemaName: AdminProduct required: - type - length - title - status - options - description - id - created_at - updated_at - handle - subtitle - is_giftcard - thumbnail - width - weight - height - origin_country - hs_code - mid_code - material - collection_id - type_id - images - discountable - external_id - deleted_at properties: collection: $ref: '#/components/schemas/AdminCollection' categories: type: array description: The parent's categories. items: $ref: '#/components/schemas/AdminProductCategory' sales_channels: type: array description: The parent's sales channels. items: $ref: '#/components/schemas/AdminSalesChannel' variants: type: array description: The parent's variants. items: $ref: '#/components/schemas/AdminProductVariant' type: $ref: '#/components/schemas/AdminProductType' tags: type: array description: The parent's tags. items: $ref: '#/components/schemas/AdminProductTag' length: type: number title: length description: The parent's length. title: type: string title: title description: The parent's title. status: type: string description: The parent's status. enum: - draft - proposed - published - rejected options: type: array description: The parent's options. items: $ref: '#/components/schemas/BaseProductOption' description: type: string title: description description: The parent's description. id: type: string title: id description: The parent's ID. metadata: type: object description: The parent's metadata. created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. handle: type: string title: handle description: The parent's handle. subtitle: type: string title: subtitle description: The parent's subtitle. is_giftcard: type: boolean title: is_giftcard description: The parent's is giftcard. thumbnail: type: string title: thumbnail description: The parent's thumbnail. width: type: number title: width description: The parent's width. weight: type: number title: weight description: The parent's weight. height: type: number title: height description: The parent's height. origin_country: type: string title: origin_country description: The parent's origin country. hs_code: type: string title: hs_code description: The parent's hs code. mid_code: type: string title: mid_code description: The parent's mid code. material: type: string title: material description: The parent's material. collection_id: type: string title: collection_id description: The parent's collection id. type_id: type: string title: type_id description: The parent's type id. images: type: array description: The parent's images. items: $ref: '#/components/schemas/BaseProductImage' discountable: type: boolean title: discountable description: The parent's discountable. external_id: type: string title: external_id description: The parent's external id. deleted_at: type: string format: date-time title: deleted_at description: The parent's deleted at. AdminProductCategory: type: object description: The category's categories. x-schemaName: AdminProductCategory required: - category_children - parent_category - name - description - id - created_at - updated_at - handle - deleted_at - is_active - is_internal - rank - parent_category_id properties: category_children: type: array description: The category's category children. items: type: object parent_category: type: object products: type: array description: The category's products. items: type: object name: type: string title: name description: The category's name. description: type: string title: description description: The category's description. id: type: string title: id description: The category's ID. metadata: type: object description: The category's metadata. created_at: type: string format: date-time title: created_at description: The category's created at. updated_at: type: string format: date-time title: updated_at description: The category's updated at. handle: type: string title: handle description: The category's handle. deleted_at: type: string format: date-time title: deleted_at description: The category's deleted at. is_active: type: boolean title: is_active description: The category's is active. is_internal: type: boolean title: is_internal description: The category's is internal. rank: type: number title: rank description: The category's rank. parent_category_id: type: string title: parent_category_id description: The category's parent category id. AdminProductCategoryDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductCategoryDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product category's ID. object: type: string title: object description: The name of the deleted object. default: product_category deleted: type: boolean title: deleted description: Whether the Product Category was deleted. AdminProductCategoryListResponse: type: object description: SUMMARY x-schemaName: AdminProductCategoryListResponse required: - limit - offset - count - product_categories properties: limit: type: number title: limit description: The product category's limit. offset: type: number title: offset description: The product category's offset. count: type: number title: count description: The product category's count. product_categories: type: array description: The product category's product categories. items: $ref: '#/components/schemas/AdminProductCategory' AdminProductCategoryResponse: type: object description: SUMMARY x-schemaName: AdminProductCategoryResponse required: - product_category properties: product_category: $ref: '#/components/schemas/AdminProductCategory' AdminProductDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product's ID. object: type: string title: object description: The name of the deleted object. default: product deleted: type: boolean title: deleted description: Whether the Product was deleted. AdminProductOption: type: object description: The product's product option. x-schemaName: AdminProductOption required: - id - title properties: id: type: string title: id description: The product option's ID. title: type: string title: title description: The product option's title. product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The product option's product id. values: type: array description: The product option's values. items: $ref: '#/components/schemas/BaseProductOptionValue' metadata: type: object description: The product option's metadata. created_at: type: string format: date-time title: created_at description: The product option's created at. updated_at: type: string format: date-time title: updated_at description: The product option's updated at. deleted_at: type: string format: date-time title: deleted_at description: The product option's deleted at. AdminProductOptionDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductOptionDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Product was deleted. parent: $ref: '#/components/schemas/AdminProduct' AdminProductOptionResponse: type: object description: SUMMARY x-schemaName: AdminProductOptionResponse required: - product_option properties: product_option: $ref: '#/components/schemas/AdminProductOption' AdminProductResponse: type: object description: SUMMARY x-schemaName: AdminProductResponse required: - product properties: product: $ref: '#/components/schemas/AdminProduct' AdminProductTag: type: object description: The tag's tags. x-schemaName: AdminProductTag required: - id - value - created_at - updated_at properties: id: type: string title: id description: The tag's ID. value: type: string title: value description: The tag's value. created_at: type: string format: date-time title: created_at description: The tag's created at. updated_at: type: string format: date-time title: updated_at description: The tag's updated at. deleted_at: type: string format: date-time title: deleted_at description: The tag's deleted at. metadata: type: object description: The tag's metadata. AdminProductTagDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductTagDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product tag's ID. object: type: string title: object description: The name of the deleted object. default: product_tag deleted: type: boolean title: deleted description: Whether the Product Tag was deleted. AdminProductTagListResponse: type: object description: SUMMARY x-schemaName: AdminProductTagListResponse required: - limit - offset - count - product_tags properties: limit: type: number title: limit description: The product tag's limit. offset: type: number title: offset description: The product tag's offset. count: type: number title: count description: The product tag's count. product_tags: type: array description: The product tag's product tags. items: $ref: '#/components/schemas/AdminProductTag' AdminProductTagResponse: type: object description: SUMMARY x-schemaName: AdminProductTagResponse required: - product_tag properties: product_tag: $ref: '#/components/schemas/AdminProductTag' AdminProductType: type: object description: The parent's type. x-schemaName: AdminProductType required: - id - value - created_at - updated_at properties: id: type: string title: id description: The type's ID. value: type: string title: value description: The type's value. created_at: type: string format: date-time title: created_at description: The type's created at. updated_at: type: string format: date-time title: updated_at description: The type's updated at. deleted_at: type: string format: date-time title: deleted_at description: The type's deleted at. metadata: type: object description: The type's metadata. AdminProductTypeDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductTypeDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product type's ID. object: type: string title: object description: The name of the deleted object. default: product_type deleted: type: boolean title: deleted description: Whether the Product Type was deleted. AdminProductTypeListResponse: type: object description: SUMMARY x-schemaName: AdminProductTypeListResponse required: - limit - offset - count - product_types properties: limit: type: number title: limit description: The product type's limit. offset: type: number title: offset description: The product type's offset. count: type: number title: count description: The product type's count. product_types: type: array description: The product type's product types. items: $ref: '#/components/schemas/AdminProductType' AdminProductTypeResponse: type: object description: SUMMARY x-schemaName: AdminProductTypeResponse required: - product_type properties: product_type: $ref: '#/components/schemas/AdminProductType' AdminProductVariant: type: object description: The product's parent. x-schemaName: AdminProductVariant required: - prices - id - title - sku - barcode - ean - upc - allow_backorder - manage_inventory - hs_code - origin_country - mid_code - material - weight - length - height - width - options - created_at - updated_at - deleted_at properties: prices: type: array description: The parent's prices. items: $ref: '#/components/schemas/AdminPrice' id: type: string title: id description: The parent's ID. title: type: string title: title description: The parent's title. sku: type: string title: sku description: The parent's sku. barcode: type: string title: barcode description: The parent's barcode. ean: type: string title: ean description: The parent's ean. upc: type: string title: upc description: The parent's upc. allow_backorder: type: boolean title: allow_backorder description: The parent's allow backorder. manage_inventory: type: boolean title: manage_inventory description: The parent's manage inventory. inventory_quantity: type: number title: inventory_quantity description: The parent's inventory quantity. hs_code: type: string title: hs_code description: The parent's hs code. origin_country: type: string title: origin_country description: The parent's origin country. mid_code: type: string title: mid_code description: The parent's mid code. material: type: string title: material description: The parent's material. weight: type: number title: weight description: The parent's weight. length: type: number title: length description: The parent's length. height: type: number title: height description: The parent's height. width: type: number title: width description: The parent's width. variant_rank: type: number title: variant_rank description: The parent's variant rank. options: type: array description: The parent's options. items: $ref: '#/components/schemas/BaseProductOptionValue' product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The parent's product id. calculated_price: $ref: '#/components/schemas/BaseCalculatedPriceSet' created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. deleted_at: type: string format: date-time title: deleted_at description: The parent's deleted at. metadata: type: object description: The parent's metadata. AdminProductVariantDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductVariantDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Product was deleted. parent: $ref: '#/components/schemas/AdminProduct' AdminProductVariantInventoryBatchResponse: type: object description: SUMMARY x-schemaName: AdminProductVariantInventoryBatchResponse required: - created - updated - deleted properties: created: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: The product's created. items: type: object description: The created's details. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The created's productservice. required: - variant_id properties: variant_id: type: string title: variant_id description: The productservice's variant id. inventoryService: type: object description: The created's inventoryservice. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The inventoryservice's inventory item id. updated: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: The product's updated. items: type: object description: The updated's details. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The updated's productservice. required: - variant_id properties: variant_id: type: string title: variant_id description: The productservice's variant id. inventoryService: type: object description: The updated's inventoryservice. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The inventoryservice's inventory item id. deleted: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: SUMMARY items: type: object description: SUMMARY x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The deleted's productservice. required: - variant_id properties: variant_id: type: string title: variant_id description: The productservice's variant id. inventoryService: type: object description: The deleted's inventoryservice. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The inventoryservice's inventory item id. AdminProductVariantInventoryLink: type: object description: The product's ID. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The id's productservice. required: - variant_id properties: variant_id: type: string title: variant_id description: The productservice's variant id. inventoryService: type: object description: The id's inventoryservice. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The inventoryservice's inventory item id. AdminProductVariantInventoryLinkDeleteResponse: type: object description: SUMMARY x-schemaName: AdminProductVariantInventoryLinkDeleteResponse required: - id - object - deleted - parent properties: id: $ref: '#/components/schemas/AdminProductVariantInventoryLink' object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Product was deleted. parent: $ref: '#/components/schemas/AdminProductVariant' AdminProductVariantParams: type: object description: SUMMARY x-schemaName: AdminProductVariantParams properties: q: type: string title: q description: The product's q. id: oneOf: - type: string title: id description: The product's ID. - type: array description: The product's ID. items: type: string title: id description: The id's ID. manage_inventory: type: boolean title: manage_inventory description: The product's manage inventory. allow_backorder: type: boolean title: allow_backorder description: The product's allow backorder. created_at: type: object description: The product's created at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). updated_at: type: object description: The product's updated at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). deleted_at: type: object description: The product's deleted at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). limit: type: number title: limit description: The product's limit. offset: type: number title: offset description: The product's offset. order: type: string title: order description: The product's order. fields: type: string title: fields description: The product's fields. $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or AdminProductVariantResponse: type: object description: SUMMARY x-schemaName: AdminProductVariantResponse required: - variant properties: variant: $ref: '#/components/schemas/AdminProductVariant' AdminPromotion: type: object description: The promotion's details. x-schemaName: AdminPromotion required: - id properties: id: type: string title: id description: The promotion's ID. code: type: string title: code description: The promotion's code. type: type: string description: The promotion's type. enum: - standard - buyget is_automatic: type: boolean title: is_automatic description: The promotion's is automatic. application_method: $ref: '#/components/schemas/BaseApplicationMethod' rules: type: array description: The promotion's rules. items: $ref: '#/components/schemas/BasePromotionRule' campaign_id: type: string title: campaign_id description: The promotion's campaign id. campaign: $ref: '#/components/schemas/AdminCampaign' AdminPromotionResponse: type: object description: SUMMARY x-schemaName: AdminPromotionResponse required: - promotion properties: promotion: $ref: '#/components/schemas/AdminPromotion' AdminPromotionRule: type: object description: The updated's details. x-schemaName: AdminPromotionRule required: - id - values properties: id: type: string title: id description: The updated's ID. description: type: string title: description description: The updated's description. attribute: type: string title: attribute description: The updated's attribute. operator: type: string description: The updated's operator. enum: - gt - lt - eq - ne - in - lte - gte values: type: array description: The updated's values. items: $ref: '#/components/schemas/BasePromotionRuleValue' AdminRefundReason: type: object description: The refund reason's details. x-schemaName: AdminRefundReason required: - id - label - metadata - created_at - updated_at properties: id: type: string title: id description: The refund reason's ID. label: type: string title: label description: The refund reason's label. description: type: string title: description description: The refund reason's description. metadata: type: object description: The refund reason's metadata. created_at: type: string format: date-time title: created_at description: The refund reason's created at. updated_at: type: string format: date-time title: updated_at description: The refund reason's updated at. AdminRegion: type: object description: The region's details. x-schemaName: AdminRegion required: - id - name - currency_code properties: id: type: string title: id description: The region's ID. name: type: string title: name description: The region's name. currency_code: type: string title: currency_code description: The region's currency code. automatic_taxes: type: boolean title: automatic_taxes description: The region's automatic taxes. countries: type: array description: The region's countries. items: $ref: '#/components/schemas/BaseRegionCountry' payment_providers: type: array description: The region's payment providers. items: $ref: '#/components/schemas/AdminPaymentProvider' metadata: type: object description: The region's metadata. created_at: type: string format: date-time title: created_at description: The region's created at. updated_at: type: string format: date-time title: updated_at description: The region's updated at. AdminRegionCountry: type: object description: The billing address's country. x-schemaName: AdminRegionCountry AdminRegionResponse: type: object description: SUMMARY x-schemaName: AdminRegionResponse required: - region properties: region: $ref: '#/components/schemas/AdminRegion' AdminReservation: type: object description: The reservation's details. x-schemaName: AdminReservation required: - id - line_item_id - location_id - quantity - external_id - description - inventory_item_id - inventory_item properties: id: type: string title: id description: The reservation's ID. line_item_id: type: string title: line_item_id description: The reservation's line item id. location_id: type: string title: location_id description: The reservation's location id. quantity: type: number title: quantity description: The reservation's quantity. external_id: type: string title: external_id description: The reservation's external id. description: type: string title: description description: The reservation's description. inventory_item_id: type: string title: inventory_item_id description: The reservation's inventory item id. inventory_item: type: object description: The reservation's inventory item. metadata: type: object description: The reservation's metadata. created_by: type: string title: created_by description: The reservation's created by. deleted_at: type: string format: date-time title: deleted_at description: The reservation's deleted at. created_at: type: string format: date-time title: created_at description: The reservation's created at. updated_at: type: string format: date-time title: updated_at description: The reservation's updated at. AdminReservationResponse: type: object description: SUMMARY x-schemaName: AdminReservationResponse required: - reservation properties: reservation: $ref: '#/components/schemas/AdminReservation' AdminReturn: type: object description: The exchange's return. x-schemaName: AdminReturn required: - id - order_id - order_version - display_id - items - received_at - created_at - canceled_at properties: id: type: string title: id description: The return's ID. order_id: type: string title: order_id description: The return's order id. status: type: string title: status description: The return's status. exchange_id: type: string title: exchange_id description: The return's exchange id. location_id: type: string title: location_id description: The return's location id. claim_id: type: string title: claim_id description: The return's claim id. order_version: type: number title: order_version description: The return's order version. display_id: type: number title: display_id description: The return's display id. no_notification: type: boolean title: no_notification description: The return's no notification. refund_amount: type: number title: refund_amount description: The return's refund amount. items: type: array description: The return's items. items: $ref: '#/components/schemas/BaseReturnItem' received_at: type: string title: received_at description: The return's received at. created_at: type: string format: date-time title: created_at description: The return's created at. canceled_at: type: string title: canceled_at description: The return's canceled at. AdminReturnItem: type: object description: The return item's return items. x-schemaName: AdminReturnItem required: - id - quantity - received_quantity - damaged_quantity - item_id - return_id properties: id: type: string title: id description: The return item's ID. quantity: type: number title: quantity description: The return item's quantity. received_quantity: type: number title: received_quantity description: The return item's received quantity. damaged_quantity: type: number title: damaged_quantity description: The return item's damaged quantity. reason_id: type: string title: reason_id description: The return item's reason id. note: type: string title: note description: The return item's note. item_id: type: string title: item_id description: The return item's item id. return_id: type: string title: return_id description: The return item's return id. metadata: type: object description: The return item's metadata. AdminReturnPreviewResponse: type: object description: SUMMARY x-schemaName: AdminReturnPreviewResponse required: - order_preview - return properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' return: $ref: '#/components/schemas/AdminReturn' AdminReturnReason: type: object description: The return reason's details. x-schemaName: AdminReturnReason required: - id - value - label - created_at - updated_at properties: id: type: string title: id description: The return reason's ID. value: type: string title: value description: The return reason's value. label: type: string title: label description: The return reason's label. description: type: string title: description description: The return reason's description. metadata: type: object description: The return reason's metadata. created_at: type: string format: date-time title: created_at description: The return reason's created at. updated_at: type: string format: date-time title: updated_at description: The return reason's updated at. AdminReturnReasonDeleteResponse: type: object description: SUMMARY x-schemaName: AdminReturnReasonDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The return reason's ID. object: type: string title: object description: The name of the deleted object. default: return_reason deleted: type: boolean title: deleted description: Whether the Return Reason was deleted. AdminReturnReasonListResponse: type: object description: SUMMARY x-schemaName: AdminReturnReasonListResponse required: - limit - offset - count - return_reasons properties: limit: type: number title: limit description: The return reason's limit. offset: type: number title: offset description: The return reason's offset. count: type: number title: count description: The return reason's count. return_reasons: type: array description: The return reason's return reasons. items: $ref: '#/components/schemas/AdminReturnReason' AdminReturnReasonResponse: type: object description: SUMMARY x-schemaName: AdminReturnReasonResponse required: - return_reason properties: return_reason: $ref: '#/components/schemas/AdminReturnReason' AdminReturnResponse: type: object description: SUMMARY x-schemaName: AdminReturnResponse required: - return properties: return: $ref: '#/components/schemas/AdminReturn' AdminRevokeApiKey: type: object description: SUMMARY x-schemaName: AdminRevokeApiKey properties: revoke_in: type: number title: revoke_in description: The api key's revoke in. AdminRuleAttributeOption: type: object description: The attribute's attributes. x-schemaName: AdminRuleAttributeOption required: - id - value - label - field_type - required - disguised - operators properties: id: type: string title: id description: The attribute's ID. value: type: string title: value description: The attribute's value. label: type: string title: label description: The attribute's label. field_type: type: string title: field_type description: The attribute's field type. required: type: boolean title: required description: The attribute's required. disguised: type: boolean title: disguised description: The attribute's disguised. operators: type: array description: The attribute's operators. items: $ref: '#/components/schemas/BaseRuleOperatorOptions' AdminRuleValueOption: type: object description: The value's values. x-schemaName: AdminRuleValueOption required: - id - value - label properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value's details. label: type: string title: label description: The value's label. AdminSalesChannel: type: object description: The order's sales channel. x-schemaName: AdminSalesChannel required: - id - name - description - is_disabled - metadata - created_at - updated_at - deleted_at properties: id: type: string title: id description: The sales channel's ID. name: type: string title: name description: The sales channel's name. description: type: string title: description description: The sales channel's description. is_disabled: type: boolean title: is_disabled description: The sales channel's is disabled. metadata: type: object description: The sales channel's metadata. created_at: type: string format: date-time title: created_at description: The sales channel's created at. updated_at: type: string format: date-time title: updated_at description: The sales channel's updated at. deleted_at: type: string format: date-time title: deleted_at description: The sales channel's deleted at. AdminSalesChannelDeleteResponse: type: object description: SUMMARY x-schemaName: AdminSalesChannelDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The sales channel's ID. object: type: string title: object description: The name of the deleted object. default: sales-channel deleted: type: boolean title: deleted description: Whether the Sales Channel was deleted. AdminSalesChannelResponse: type: object description: SUMMARY x-schemaName: AdminSalesChannelResponse required: - sales_channel properties: sales_channel: $ref: '#/components/schemas/AdminSalesChannel' AdminServiceZone: type: object description: The service zone's service zones. x-schemaName: AdminServiceZone required: - id - name - fulfillment_set_id - fulfillment_set - geo_zones - shipping_options - created_at - updated_at - deleted_at properties: id: type: string title: id description: The service zone's ID. name: type: string title: name description: The service zone's name. fulfillment_set_id: type: string title: fulfillment_set_id description: The service zone's fulfillment set id. fulfillment_set: type: object geo_zones: type: array description: The service zone's geo zones. items: $ref: '#/components/schemas/AdminGeoZone' shipping_options: type: array description: The service zone's shipping options. items: $ref: '#/components/schemas/AdminShippingOption' created_at: type: string format: date-time title: created_at description: The service zone's created at. updated_at: type: string format: date-time title: updated_at description: The service zone's updated at. deleted_at: type: string format: date-time title: deleted_at description: The service zone's deleted at. AdminServiceZoneDeleteResponse: type: object description: SUMMARY x-schemaName: AdminServiceZoneDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The fulfillment set's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the Fulfillment Set was deleted. parent: $ref: '#/components/schemas/AdminFulfillmentSet' AdminServiceZoneResponse: type: object description: SUMMARY x-schemaName: AdminServiceZoneResponse required: - service_zone properties: service_zone: $ref: '#/components/schemas/AdminServiceZone' AdminShippingOption: type: object description: The shipping option's shipping options. x-schemaName: AdminShippingOption AdminShippingOptionDeleteResponse: type: object description: SUMMARY x-schemaName: AdminShippingOptionDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The shipping option's ID. object: type: string title: object description: The name of the deleted object. default: shipping_option deleted: type: boolean title: deleted description: Whether the Shipping Option was deleted. AdminShippingOptionResponse: type: object description: SUMMARY x-schemaName: AdminShippingOptionResponse required: - shipping_option properties: shipping_option: $ref: '#/components/schemas/AdminShippingOption' AdminShippingOptionRule: type: object description: The updated's details. x-schemaName: AdminShippingOptionRule required: - id - attribute - operator - value - shipping_option_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The updated's ID. attribute: type: string title: attribute description: The updated's attribute. operator: type: string title: operator description: The updated's operator. value: oneOf: - type: string title: value description: The updated's value. - type: array description: The updated's value. items: type: string title: value description: The value's details. shipping_option_id: type: string title: shipping_option_id description: The updated's shipping option id. created_at: type: string format: date-time title: created_at description: The updated's created at. updated_at: type: string format: date-time title: updated_at description: The updated's updated at. deleted_at: type: string format: date-time title: deleted_at description: The updated's deleted at. AdminShippingProfile: type: object description: The shipping option's shipping profile. x-schemaName: AdminShippingProfile AdminShippingProfileDeleteResponse: type: object description: SUMMARY x-schemaName: AdminShippingProfileDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The shipping profile's ID. object: type: string title: object description: The name of the deleted object. default: shipping_profile deleted: type: boolean title: deleted description: Whether the Shipping Profile was deleted. AdminShippingProfileResponse: type: object description: SUMMARY x-schemaName: AdminShippingProfileResponse required: - shipping_profile properties: shipping_profile: $ref: '#/components/schemas/AdminShippingProfile' AdminStockLocation: type: object description: The parent's location. x-schemaName: AdminStockLocation required: - id - name - address_id properties: id: type: string title: id description: The location's ID. name: type: string title: name description: The location's name. address_id: type: string title: address_id description: The location's address id. address: $ref: '#/components/schemas/AdminStockLocationAddress' sales_channels: type: array description: The location's sales channels. items: $ref: '#/components/schemas/AdminSalesChannel' fulfillment_providers: type: array description: The location's fulfillment providers. items: $ref: '#/components/schemas/AdminFulfillmentProvider' fulfillment_sets: type: array description: The location's fulfillment sets. items: type: object AdminStockLocationAddress: type: object description: The location's address. x-schemaName: AdminStockLocationAddress AdminStockLocationDeleteResponse: type: object description: SUMMARY x-schemaName: AdminStockLocationDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The stock location's ID. object: type: string title: object description: The name of the deleted object. default: stock_location deleted: type: boolean title: deleted description: Whether the Stock Location was deleted. AdminStockLocationListResponse: type: object description: SUMMARY x-schemaName: AdminStockLocationListResponse required: - limit - offset - count - stock_locations properties: limit: type: number title: limit description: The stock location's limit. offset: type: number title: offset description: The stock location's offset. count: type: number title: count description: The stock location's count. stock_locations: type: array description: The stock location's stock locations. items: $ref: '#/components/schemas/AdminStockLocation' AdminStockLocationResponse: type: object description: SUMMARY x-schemaName: AdminStockLocationResponse required: - stock_location properties: stock_location: $ref: '#/components/schemas/AdminStockLocation' AdminStore: type: object description: The store's details. x-schemaName: AdminStore required: - id - name - supported_currencies - default_sales_channel_id - default_region_id - default_location_id - metadata - created_at - updated_at properties: id: type: string title: id description: The store's ID. name: type: string title: name description: The store's name. supported_currencies: type: array description: The store's supported currencies. items: $ref: '#/components/schemas/AdminStoreCurrency' default_sales_channel_id: type: string title: default_sales_channel_id description: The store's default sales channel id. default_region_id: type: string title: default_region_id description: The store's default region id. default_location_id: type: string title: default_location_id description: The store's default location id. metadata: type: object description: The store's metadata. created_at: type: string format: date-time title: created_at description: The store's created at. updated_at: type: string format: date-time title: updated_at description: The store's updated at. AdminStoreCurrency: type: object description: The supported currency's supported currencies. x-schemaName: AdminStoreCurrency required: - id - currency_code - store_id - is_default - currency - created_at - updated_at - deleted_at properties: id: type: string title: id description: The supported currency's ID. currency_code: type: string title: currency_code description: The supported currency's currency code. store_id: type: string title: store_id description: The supported currency's store id. is_default: type: boolean title: is_default description: The supported currency's is default. currency: $ref: '#/components/schemas/AdminCurrency' created_at: type: string format: date-time title: created_at description: The supported currency's created at. updated_at: type: string format: date-time title: updated_at description: The supported currency's updated at. deleted_at: type: string format: date-time title: deleted_at description: The supported currency's deleted at. AdminStoreListResponse: type: object description: SUMMARY x-schemaName: AdminStoreListResponse required: - limit - offset - count - stores properties: limit: type: number title: limit description: The store's limit. offset: type: number title: offset description: The store's offset. count: type: number title: count description: The store's count. stores: type: array description: The store's stores. items: $ref: '#/components/schemas/AdminStore' AdminStoreResponse: type: object description: SUMMARY x-schemaName: AdminStoreResponse required: - store properties: store: $ref: '#/components/schemas/AdminStore' AdminTaxRate: type: object description: The tax rate's parent. x-schemaName: AdminTaxRate required: - id - rate - code - name - metadata - tax_region_id - is_combinable - is_default - created_at - updated_at - deleted_at - created_by - tax_region - rules properties: id: type: string title: id description: The parent's ID. rate: type: number title: rate description: The parent's rate. code: type: string title: code description: The parent's code. name: type: string title: name description: The parent's name. metadata: type: object description: The parent's metadata. tax_region_id: type: string title: tax_region_id description: The parent's tax region id. is_combinable: type: boolean title: is_combinable description: The parent's is combinable. is_default: type: boolean title: is_default description: The parent's is default. created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. deleted_at: type: string format: date-time title: deleted_at description: The parent's deleted at. created_by: type: string title: created_by description: The parent's created by. tax_region: $ref: '#/components/schemas/AdminTaxRegion' rules: type: array description: The parent's rules. items: $ref: '#/components/schemas/AdminTaxRateRule' AdminTaxRateDeleteResponse: type: object description: SUMMARY x-schemaName: AdminTaxRateDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The tax rate's ID. object: type: string title: object description: The name of the deleted object. default: tax_rate deleted: type: boolean title: deleted description: Whether the Tax Rate was deleted. AdminTaxRateResponse: type: object description: SUMMARY x-schemaName: AdminTaxRateResponse required: - tax_rate properties: tax_rate: $ref: '#/components/schemas/AdminTaxRate' AdminTaxRateRule: type: object description: The rule's rules. x-schemaName: AdminTaxRateRule required: - reference - reference_id properties: reference: type: string title: reference description: The rule's reference. reference_id: type: string title: reference_id description: The rule's reference id. AdminTaxRegion: type: object description: The parent's tax region. x-schemaName: AdminTaxRegion required: - id - rate - code - country_code - province_code - name - metadata - tax_region_id - is_combinable - is_default - parent_id - created_at - updated_at - deleted_at - created_by - tax_rates - parent - children properties: id: type: string title: id description: The tax region's ID. rate: type: number title: rate description: The tax region's rate. code: type: string title: code description: The tax region's code. country_code: type: string title: country_code description: The tax region's country code. province_code: type: string title: province_code description: The tax region's province code. name: type: string title: name description: The tax region's name. metadata: type: object description: The tax region's metadata. tax_region_id: type: string title: tax_region_id description: The tax region's tax region id. is_combinable: type: boolean title: is_combinable description: The tax region's is combinable. is_default: type: boolean title: is_default description: The tax region's is default. parent_id: type: string title: parent_id description: The tax region's parent id. created_at: type: string format: date-time title: created_at description: The tax region's created at. updated_at: type: string format: date-time title: updated_at description: The tax region's updated at. deleted_at: type: string format: date-time title: deleted_at description: The tax region's deleted at. created_by: type: string title: created_by description: The tax region's created by. tax_rates: type: array description: The tax region's tax rates. items: type: object parent: type: object children: type: array description: The tax region's children. items: type: object AdminTaxRegionDeleteResponse: type: object description: SUMMARY x-schemaName: AdminTaxRegionDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The tax region's ID. object: type: string title: object description: The name of the deleted object. default: tax_region deleted: type: boolean title: deleted description: Whether the Tax Region was deleted. AdminTaxRegionResponse: type: object description: SUMMARY x-schemaName: AdminTaxRegionResponse required: - tax_region properties: tax_region: $ref: '#/components/schemas/AdminTaxRegion' AdminUpdateApiKey: type: object description: SUMMARY x-schemaName: AdminUpdateApiKey required: - title properties: title: type: string title: title description: The api key's title. AdminUpdateCollection: type: object description: SUMMARY x-schemaName: AdminUpdateCollection properties: title: type: string title: title description: The collection's title. handle: type: string title: handle description: The collection's handle. metadata: type: object description: The collection's metadata. AdminUpdateCustomerGroup: type: object description: SUMMARY x-schemaName: AdminUpdateCustomerGroup properties: name: type: string title: name description: The customer group's name. metadata: type: object description: The customer group's metadata. AdminUpdatePriceList: type: object description: SUMMARY x-schemaName: AdminUpdatePriceList properties: title: type: string title: title description: The price list's title. description: type: string title: description description: The price list's description. starts_at: type: string title: starts_at description: The price list's starts at. ends_at: type: string title: ends_at description: The price list's ends at. status: type: string description: The price list's status. enum: - active - draft type: type: string description: The price list's type. enum: - sale - override rules: type: object description: The price list's rules. AdminUpdatePricePreference: type: object description: SUMMARY x-schemaName: AdminUpdatePricePreference properties: attribute: type: string title: attribute description: The price preference's attribute. value: type: string title: value description: The price preference's value. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The price preference's is tax inclusive. AdminUpdateProduct: type: object description: The update's details. x-schemaName: AdminUpdateProduct properties: title: type: string title: title description: The update's title. subtitle: type: string title: subtitle description: The update's subtitle. description: type: string title: description description: The update's description. is_giftcard: type: boolean title: is_giftcard description: The update's is giftcard. discountable: type: boolean title: discountable description: The update's discountable. images: type: array description: The update's images. items: type: object description: The image's images. required: - url properties: url: type: string title: url description: The image's url. thumbnail: type: string title: thumbnail description: The update's thumbnail. handle: type: string title: handle description: The update's handle. status: type: string description: The update's status. enum: - draft - proposed - published - rejected type_id: type: string title: type_id description: The update's type id. collection_id: type: string title: collection_id description: The update's collection id. categories: type: array description: The update's categories. items: type: object description: The category's categories. required: - id properties: id: type: string title: id description: The category's ID. tags: type: array description: The update's tags. items: type: object description: The tag's tags. required: - id properties: id: type: string title: id description: The tag's ID. options: type: array description: The update's options. items: $ref: '#/components/schemas/AdminUpdateProductOption' variants: type: array description: The update's variants. items: oneOf: - type: object description: The variant's variants. x-schemaName: AdminCreateProductVariant required: - title - prices properties: title: type: string title: title description: The variant's title. sku: type: string title: sku description: The variant's sku. ean: type: string title: ean description: The variant's ean. upc: type: string title: upc description: The variant's upc. barcode: type: string title: barcode description: The variant's barcode. hs_code: type: string title: hs_code description: The variant's hs code. mid_code: type: string title: mid_code description: The variant's mid code. allow_backorder: type: boolean title: allow_backorder description: The variant's allow backorder. manage_inventory: type: boolean title: manage_inventory description: The variant's manage inventory. variant_rank: type: number title: variant_rank description: The variant's variant rank. weight: type: number title: weight description: The variant's weight. length: type: number title: length description: The variant's length. height: type: number title: height description: The variant's height. width: type: number title: width description: The variant's width. origin_country: type: string title: origin_country description: The variant's origin country. material: type: string title: material description: The variant's material. metadata: type: object description: The variant's metadata. prices: type: array description: The variant's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The variant's options. - type: object description: The variant's variants. x-schemaName: AdminUpdateProductVariant properties: title: type: string title: title description: The variant's title. sku: type: string title: sku description: The variant's sku. ean: type: string title: ean description: The variant's ean. upc: type: string title: upc description: The variant's upc. barcode: type: string title: barcode description: The variant's barcode. hs_code: type: string title: hs_code description: The variant's hs code. mid_code: type: string title: mid_code description: The variant's mid code. allow_backorder: type: boolean title: allow_backorder description: The variant's allow backorder. manage_inventory: type: boolean title: manage_inventory description: The variant's manage inventory. variant_rank: type: number title: variant_rank description: The variant's variant rank. weight: type: number title: weight description: The variant's weight. length: type: number title: length description: The variant's length. height: type: number title: height description: The variant's height. width: type: number title: width description: The variant's width. origin_country: type: string title: origin_country description: The variant's origin country. material: type: string title: material description: The variant's material. metadata: type: object description: The variant's metadata. prices: type: array description: The variant's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The variant's options. sales_channels: type: array description: The update's sales channels. items: type: object description: The sales channel's sales channels. required: - id properties: id: type: string title: id description: The sales channel's ID. weight: type: number title: weight description: The update's weight. length: type: number title: length description: The update's length. height: type: number title: height description: The update's height. width: type: number title: width description: The update's width. hs_code: type: string title: hs_code description: The update's hs code. mid_code: type: string title: mid_code description: The update's mid code. origin_country: type: string title: origin_country description: The update's origin country. material: type: string title: material description: The update's material. metadata: type: object description: The update's metadata. AdminUpdateProductOption: type: object description: SUMMARY x-schemaName: AdminUpdateProductOption properties: title: type: string title: title description: The product's title. values: type: array description: The product's values. items: type: string title: values description: The value's values. AdminUpdateProductVariant: type: object description: The update's details. x-schemaName: AdminUpdateProductVariant properties: title: type: string title: title description: The update's title. sku: type: string title: sku description: The update's sku. ean: type: string title: ean description: The update's ean. upc: type: string title: upc description: The update's upc. barcode: type: string title: barcode description: The update's barcode. hs_code: type: string title: hs_code description: The update's hs code. mid_code: type: string title: mid_code description: The update's mid code. allow_backorder: type: boolean title: allow_backorder description: The update's allow backorder. manage_inventory: type: boolean title: manage_inventory description: The update's manage inventory. variant_rank: type: number title: variant_rank description: The update's variant rank. weight: type: number title: weight description: The update's weight. length: type: number title: length description: The update's length. height: type: number title: height description: The update's height. width: type: number title: width description: The update's width. origin_country: type: string title: origin_country description: The update's origin country. material: type: string title: material description: The update's material. metadata: type: object description: The update's metadata. prices: type: array description: The update's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The update's options. AdminUpdateSalesChannel: type: object description: SUMMARY x-schemaName: AdminUpdateSalesChannel properties: name: type: string title: name description: The sales channel's name. description: type: string title: description description: The sales channel's description. is_disabled: type: boolean title: is_disabled description: The sales channel's is disabled. metadata: type: object description: The sales channel's metadata. AdminUpdateStockLocation: type: object description: SUMMARY x-schemaName: AdminUpdateStockLocation properties: name: type: string title: name description: The stock location's name. address: type: object description: The stock location's address. required: - address_1 - country_code properties: address_1: type: string title: address_1 description: The address's address 1. address_2: type: string title: address_2 description: The address's address 2. company: type: string title: company description: The address's company. city: type: string title: city description: The address's city. country_code: type: string title: country_code description: The address's country code. phone: type: string title: phone description: The address's phone. postal_code: type: string title: postal_code description: The address's postal code. province: type: string title: province description: The address's province. address_id: type: string title: address_id description: The stock location's address id. metadata: type: object description: The stock location's metadata. AdminUpdateStore: type: object description: SUMMARY x-schemaName: AdminUpdateStore properties: name: type: string title: name description: The store's name. supported_currencies: type: array description: The store's supported currencies. items: type: object description: The supported currency's supported currencies. required: - currency_code properties: currency_code: type: string title: currency_code description: The supported currency's currency code. is_default: type: boolean title: is_default description: The supported currency's is default. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The supported currency's is tax inclusive. default_sales_channel_id: type: string title: default_sales_channel_id description: The store's default sales channel id. default_region_id: type: string title: default_region_id description: The store's default region id. default_location_id: type: string title: default_location_id description: The store's default location id. metadata: type: object description: The store's metadata. AdminUpdateTaxRate: type: object description: SUMMARY x-schemaName: AdminUpdateTaxRate properties: rate: type: number title: rate description: The tax rate's rate. code: type: string title: code description: The tax rate's code. rules: type: array description: The tax rate's rules. items: type: object description: The rule's rules. required: - reference - reference_id properties: reference: type: string title: reference description: The rule's reference. reference_id: type: string title: reference_id description: The rule's reference id. name: type: string title: name description: The tax rate's name. is_default: type: boolean title: is_default description: The tax rate's is default. is_combinable: type: boolean title: is_combinable description: The tax rate's is combinable. metadata: type: object description: The tax rate's metadata. AdminUpdateUser: type: object description: SUMMARY x-schemaName: AdminUpdateUser properties: first_name: type: string title: first_name description: The user's first name. last_name: type: string title: last_name description: The user's last name. avatar_url: type: string title: avatar_url description: The user's avatar url. AdminUpdateVariantInventoryItem: type: object description: SUMMARY x-schemaName: AdminUpdateVariantInventoryItem required: - required_quantity properties: required_quantity: type: number title: required_quantity description: The product's required quantity. AdminUpsertStockLocationAddress: type: object description: The stock location's address. x-schemaName: AdminUpsertStockLocationAddress required: - address_1 - country_code properties: address_1: type: string title: address_1 description: The address's address 1. address_2: type: string title: address_2 description: The address's address 2. company: type: string title: company description: The address's company. country_code: type: string title: country_code description: The address's country code. city: type: string title: city description: The address's city. phone: type: string title: phone description: The address's phone. postal_code: type: string title: postal_code description: The address's postal code. province: type: string title: province description: The address's province. AdminUser: type: object description: The user's details. x-schemaName: AdminUser required: - id - email - first_name - last_name - avatar_url - metadata - created_at - updated_at - deleted_at properties: id: type: string title: id description: The user's ID. email: type: string title: email description: The user's email. format: email first_name: type: string title: first_name description: The user's first name. last_name: type: string title: last_name description: The user's last name. avatar_url: type: string title: avatar_url description: The user's avatar url. metadata: type: object description: The user's metadata. created_at: type: string format: date-time title: created_at description: The user's created at. updated_at: type: string format: date-time title: updated_at description: The user's updated at. deleted_at: type: string format: date-time title: deleted_at description: The user's deleted at. AdminUserDeleteResponse: type: object description: SUMMARY x-schemaName: AdminUserDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The user's ID. object: type: string title: object description: The name of the deleted object. default: user deleted: type: boolean title: deleted description: Whether the User was deleted. AdminUserListResponse: type: object description: SUMMARY x-schemaName: AdminUserListResponse required: - limit - offset - count - users properties: limit: type: number title: limit description: The user's limit. offset: type: number title: offset description: The user's offset. count: type: number title: count description: The user's count. users: type: array description: The user's users. items: $ref: '#/components/schemas/AdminUser' AdminUserResponse: type: object description: SUMMARY x-schemaName: AdminUserResponse required: - user properties: user: $ref: '#/components/schemas/AdminUser' AdminWorkflowExecution: type: object description: The workflows execution's workflow execution. x-schemaName: AdminWorkflowExecution required: - id - workflow_id - transaction_id - execution - context - state - created_at - updated_at properties: id: type: string title: id description: The workflow execution's ID. workflow_id: type: string title: workflow_id description: The workflow execution's workflow id. transaction_id: type: string title: transaction_id description: The workflow execution's transaction id. execution: $ref: '#/components/schemas/AdminWorkflowExecutionExecution' context: $ref: '#/components/schemas/WorkflowExecutionContext' state: type: string description: The workflow execution's state. enum: - not_started - invoking - waiting_to_compensate - compensating - done - reverted - failed created_at: type: string format: date-time title: created_at description: The workflow execution's created at. updated_at: type: string format: date-time title: updated_at description: The workflow execution's updated at. deleted_at: type: string format: date-time title: deleted_at description: The workflow execution's deleted at. AdminWorkflowExecutionExecution: type: object description: The workflow execution's execution. x-schemaName: AdminWorkflowExecutionExecution required: - steps properties: steps: type: object description: The execution's steps. AdminWorkflowExecutionResponse: type: object description: SUMMARY x-schemaName: AdminWorkflowExecutionResponse required: - workflow_execution properties: workflow_execution: $ref: '#/components/schemas/AdminWorkflowExecution' ApiKeyResponse: type: object description: The api key's details. x-schemaName: ApiKeyResponse required: - id - token - redacted - title - type - last_used_at - created_by - created_at - revoked_by - revoked_at properties: id: type: string title: id description: The api key's ID. token: type: string title: token description: The api key's token. redacted: type: string title: redacted description: The api key's redacted. title: type: string title: title description: The api key's title. type: type: string enum: - secret - publishable last_used_at: type: string title: last_used_at description: The api key's last used at. format: date-time created_by: type: string title: created_by description: The api key's created by. created_at: type: string title: created_at description: The api key's created at. format: date-time revoked_by: type: string title: revoked_by description: The api key's revoked by. revoked_at: type: string title: revoked_at description: The api key's revoked at. format: date-time AuthAdminSessionResponse: type: object description: The authenticated user's details. x-schemaName: AuthAdminSessionResponse required: - user properties: user: title: user description: The logged-in user. $ref: '#/components/schemas/AdminUser' AuthResponse: type: object description: The authentication's details. x-schemaName: AuthResponse required: - token properties: token: type: string title: token description: The JWT token used for registration or authentication. AuthStoreSessionResponse: type: object description: The authenticated customer's details. x-schemaName: AuthStoreSessionResponse required: - user properties: user: title: user description: The logged-in customer. $ref: '#/components/schemas/StoreCustomer' BaseApplicationMethod: type: object description: The promotion's application method. x-schemaName: BaseApplicationMethod required: - id properties: id: type: string title: id description: The application method's ID. type: type: string description: The application method's type. enum: - fixed - percentage target_type: type: string description: The application method's target type. enum: - items - shipping_methods - order allocation: type: string description: The application method's allocation. enum: - each - across value: type: number title: value description: The application method's value. currency_code: type: string title: currency_code description: The application method's currency code. max_quantity: type: number title: max_quantity description: The application method's max quantity. buy_rules_min_quantity: type: number title: buy_rules_min_quantity description: The application method's buy rules min quantity. apply_to_quantity: type: number title: apply_to_quantity description: The application method's apply to quantity. promotion: $ref: '#/components/schemas/BasePromotion' target_rules: type: array description: The application method's target rules. items: $ref: '#/components/schemas/BasePromotionRule' buy_rules: type: array description: The application method's buy rules. items: $ref: '#/components/schemas/BasePromotionRule' BaseCalculatedPriceSet: type: object description: The parent's calculated price. x-schemaName: BaseCalculatedPriceSet required: - id - calculated_amount - original_amount - currency_code properties: id: type: string title: id description: The calculated price's ID. is_calculated_price_price_list: type: boolean title: is_calculated_price_price_list description: The calculated price's is calculated price price list. is_calculated_price_tax_inclusive: type: boolean title: is_calculated_price_tax_inclusive description: The calculated price's is calculated price tax inclusive. calculated_amount: type: number title: calculated_amount description: The calculated price's calculated amount. calculated_amount_with_tax: type: number title: calculated_amount_with_tax description: The calculated price's calculated amount with tax. calculated_amount_without_tax: type: number title: calculated_amount_without_tax description: The calculated price's calculated amount without tax. is_original_price_price_list: type: boolean title: is_original_price_price_list description: The calculated price's is original price price list. is_original_price_tax_inclusive: type: boolean title: is_original_price_tax_inclusive description: The calculated price's is original price tax inclusive. original_amount: type: number title: original_amount description: The calculated price's original amount. currency_code: type: string title: currency_code description: The calculated price's currency code. calculated_price: type: object description: The calculated price's details. original_price: type: object description: The calculated price's original price. BaseCapture: type: object description: The capture's captures. x-schemaName: BaseCapture BaseCart: type: object description: The item's cart. x-schemaName: BaseCart BaseCartAddress: type: object description: The parent's billing address. x-schemaName: BaseCartAddress required: - id - created_at - updated_at properties: id: type: string title: id description: The billing address's ID. customer_id: type: string title: customer_id description: The billing address's customer id. first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. created_at: type: string format: date-time title: created_at description: The billing address's created at. updated_at: type: string format: date-time title: updated_at description: The billing address's updated at. BaseCartLineItem: type: object description: The item's items. x-schemaName: BaseCartLineItem required: - id - title - quantity - requires_shipping - is_discountable - is_tax_inclusive - unit_price - cart - cart_id - original_total - original_subtotal - original_tax_total - item_total - item_subtotal - item_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. quantity: oneOf: - type: string title: quantity description: The item's quantity. - type: number title: quantity description: The item's quantity. - type: string title: quantity description: The item's quantity. - $ref: '#/components/schemas/IBigNumber' product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The item's variant id. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. compare_at_unit_price: oneOf: - type: string title: compare_at_unit_price description: The item's compare at unit price. - type: number title: compare_at_unit_price description: The item's compare at unit price. - type: string title: compare_at_unit_price description: The item's compare at unit price. - $ref: '#/components/schemas/IBigNumber' unit_price: oneOf: - type: string title: unit_price description: The item's unit price. - type: number title: unit_price description: The item's unit price. - type: string title: unit_price description: The item's unit price. - $ref: '#/components/schemas/IBigNumber' tax_lines: type: array description: The item's tax lines. items: $ref: '#/components/schemas/BaseLineItemTaxLine' adjustments: type: array description: The item's adjustments. items: $ref: '#/components/schemas/BaseLineItemAdjustment' cart: $ref: '#/components/schemas/BaseCart' cart_id: type: string title: cart_id description: The item's cart id. metadata: type: object description: The item's metadata. created_at: type: string format: date-time title: created_at description: The item's created at. updated_at: type: string format: date-time title: updated_at description: The item's updated at. deleted_at: type: string format: date-time title: deleted_at description: The item's deleted at. original_total: oneOf: - type: string title: original_total description: The item's original total. - type: number title: original_total description: The item's original total. - type: string title: original_total description: The item's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The item's original subtotal. - type: number title: original_subtotal description: The item's original subtotal. - type: string title: original_subtotal description: The item's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The item's original tax total. - type: number title: original_tax_total description: The item's original tax total. - type: string title: original_tax_total description: The item's original tax total. - $ref: '#/components/schemas/IBigNumber' item_total: oneOf: - type: string title: item_total description: The item's item total. - type: number title: item_total description: The item's item total. - type: string title: item_total description: The item's item total. - $ref: '#/components/schemas/IBigNumber' item_subtotal: oneOf: - type: string title: item_subtotal description: The item's item subtotal. - type: number title: item_subtotal description: The item's item subtotal. - type: string title: item_subtotal description: The item's item subtotal. - $ref: '#/components/schemas/IBigNumber' item_tax_total: oneOf: - type: string title: item_tax_total description: The item's item tax total. - type: number title: item_tax_total description: The item's item tax total. - type: string title: item_tax_total description: The item's item tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The item's total. - type: number title: total description: The item's total. - type: string title: total description: The item's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The item's subtotal. - type: number title: subtotal description: The item's subtotal. - type: string title: subtotal description: The item's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The item's tax total. - type: number title: tax_total description: The item's tax total. - type: string title: tax_total description: The item's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The item's discount total. - type: number title: discount_total description: The item's discount total. - type: string title: discount_total description: The item's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The item's discount tax total. - type: number title: discount_tax_total description: The item's discount tax total. - type: string title: discount_tax_total description: The item's discount tax total. - $ref: '#/components/schemas/IBigNumber' BaseCartShippingMethod: type: object description: The shipping method's shipping methods. x-schemaName: BaseCartShippingMethod required: - id - cart_id - name - amount - is_tax_inclusive - created_at - updated_at - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total properties: id: type: string title: id description: The shipping method's ID. cart_id: type: string title: cart_id description: The shipping method's cart id. name: type: string title: name description: The shipping method's name. description: type: string title: description description: The shipping method's description. amount: oneOf: - type: string title: amount description: The shipping method's amount. - type: number title: amount description: The shipping method's amount. - type: string title: amount description: The shipping method's amount. - $ref: '#/components/schemas/IBigNumber' is_tax_inclusive: type: boolean title: is_tax_inclusive description: The shipping method's is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The shipping method's shipping option id. data: type: object description: The shipping method's data. metadata: type: object description: The shipping method's metadata. tax_lines: type: array description: The shipping method's tax lines. items: $ref: '#/components/schemas/BaseShippingMethodTaxLine' adjustments: type: array description: The shipping method's adjustments. items: $ref: '#/components/schemas/BaseShippingMethodAdjustment' created_at: type: string format: date-time title: created_at description: The shipping method's created at. updated_at: type: string format: date-time title: updated_at description: The shipping method's updated at. original_total: oneOf: - type: string title: original_total description: The shipping method's original total. - type: number title: original_total description: The shipping method's original total. - type: string title: original_total description: The shipping method's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The shipping method's original subtotal. - type: number title: original_subtotal description: The shipping method's original subtotal. - type: string title: original_subtotal description: The shipping method's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The shipping method's original tax total. - type: number title: original_tax_total description: The shipping method's original tax total. - type: string title: original_tax_total description: The shipping method's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The shipping method's total. - type: number title: total description: The shipping method's total. - type: string title: total description: The shipping method's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The shipping method's subtotal. - type: number title: subtotal description: The shipping method's subtotal. - type: string title: subtotal description: The shipping method's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The shipping method's tax total. - type: number title: tax_total description: The shipping method's tax total. - type: string title: tax_total description: The shipping method's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The shipping method's discount total. - type: number title: discount_total description: The shipping method's discount total. - type: string title: discount_total description: The shipping method's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The shipping method's discount tax total. - type: number title: discount_tax_total description: The shipping method's discount tax total. - type: string title: discount_tax_total description: The shipping method's discount tax total. - $ref: '#/components/schemas/IBigNumber' BaseClaim: type: object description: The order change's claim. x-schemaName: BaseClaim BaseClaimItem: type: object description: The claim item's claim items. x-schemaName: BaseClaimItem required: - id - claim_id - order_id - item_id - quantity - reason - raw_quantity properties: id: type: string title: id description: The claim item's ID. claim_id: type: string title: claim_id description: The claim item's claim id. order_id: type: string title: order_id description: The claim item's order id. item_id: type: string title: item_id description: The claim item's item id. quantity: type: number title: quantity description: The claim item's quantity. reason: type: string description: The claim item's reason. enum: - missing_item - wrong_item - production_failure - other raw_quantity: type: object description: The claim item's raw quantity. metadata: type: object description: The claim item's metadata. created_at: type: string format: date-time title: created_at description: The claim item's created at. updated_at: type: string format: date-time title: updated_at description: The claim item's updated at. BaseCollection: type: object description: The product's collection. x-schemaName: BaseCollection BaseCustomerAddress: type: object description: The address's addresses. x-schemaName: BaseCustomerAddress BaseExchangeItem: type: object description: The additional item's additional items. x-schemaName: BaseExchangeItem required: - id - exchange_id - order_id - item_id - quantity - created_at - updated_at properties: id: type: string title: id description: The additional item's ID. exchange_id: type: string title: exchange_id description: The additional item's exchange id. order_id: type: string title: order_id description: The additional item's order id. item_id: type: string title: item_id description: The additional item's item id. quantity: type: number title: quantity description: The additional item's quantity. metadata: type: object description: The additional item's metadata. created_at: type: string format: date-time title: created_at description: The additional item's created at. updated_at: type: string format: date-time title: updated_at description: The additional item's updated at. BaseFulfillmentProvider: type: object description: The shipping option's provider. x-schemaName: BaseFulfillmentProvider required: - id - is_enabled properties: id: type: string title: id description: The provider's ID. is_enabled: type: boolean title: is_enabled description: The provider's is enabled. BaseLineItemAdjustment: type: object description: The adjustment's adjustments. x-schemaName: BaseLineItemAdjustment BaseLineItemTaxLine: type: object description: The tax line's tax lines. x-schemaName: BaseLineItemTaxLine BaseOrder: type: object description: The order change's order. x-schemaName: BaseOrder BaseOrderAddress: type: object description: The exchange's billing address. x-schemaName: BaseOrderAddress required: - id - metadata - created_at - updated_at properties: id: type: string title: id description: The billing address's ID. customer_id: type: string title: customer_id description: The billing address's customer id. first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. created_at: type: string format: date-time title: created_at description: The billing address's created at. updated_at: type: string format: date-time title: updated_at description: The billing address's updated at. BaseOrderChange: type: object description: The order preview's order change. x-schemaName: BaseOrderChange required: - id - order_id - actions - status - requested_by - requested_at - confirmed_by - confirmed_at - declined_by - declined_reason - metadata - declined_at - canceled_by - canceled_at - created_at - updated_at - version - return_id - exchange_id - claim_id - order - return_order - exchange - claim properties: id: type: string title: id description: The order change's ID. order_id: type: string title: order_id description: The order change's order id. actions: type: array description: The order change's actions. items: $ref: '#/components/schemas/BaseOrderChangeAction' status: type: string title: status description: The order change's status. requested_by: type: string title: requested_by description: The order change's requested by. requested_at: oneOf: - type: string title: requested_at description: The order change's requested at. - type: string title: requested_at description: The order change's requested at. format: date-time confirmed_by: type: string title: confirmed_by description: The order change's confirmed by. confirmed_at: oneOf: - type: string title: confirmed_at description: The order change's confirmed at. - type: string title: confirmed_at description: The order change's confirmed at. format: date-time declined_by: type: string title: declined_by description: The order change's declined by. declined_reason: type: string title: declined_reason description: The order change's declined reason. metadata: type: object description: The order change's metadata. declined_at: oneOf: - type: string title: declined_at description: The order change's declined at. - type: string title: declined_at description: The order change's declined at. format: date-time canceled_by: type: string title: canceled_by description: The order change's canceled by. canceled_at: oneOf: - type: string title: canceled_at description: The order change's canceled at. - type: string title: canceled_at description: The order change's canceled at. format: date-time created_at: type: string format: date-time title: created_at description: The order change's created at. updated_at: type: string format: date-time title: updated_at description: The order change's updated at. version: type: number title: version description: The order change's version. change_type: type: string description: The order change's change type. enum: - return - exchange - claim - edit - return_request return_id: type: string title: return_id description: The order change's return id. exchange_id: type: string title: exchange_id description: The order change's exchange id. claim_id: type: string title: claim_id description: The order change's claim id. order: $ref: '#/components/schemas/BaseOrder' return_order: {} exchange: {} claim: $ref: '#/components/schemas/BaseClaim' BaseOrderChangeAction: type: object description: The action's actions. x-schemaName: BaseOrderChangeAction BaseOrderFulfillment: type: object description: The fulfillment's fulfillments. x-schemaName: BaseOrderFulfillment required: - id - location_id - packed_at - shipped_at - delivered_at - canceled_at - data - provider_id - shipping_option_id - metadata - created_at - updated_at properties: id: type: string title: id description: The fulfillment's ID. location_id: type: string title: location_id description: The fulfillment's location id. packed_at: type: string title: packed_at description: The fulfillment's packed at. format: date-time shipped_at: type: string title: shipped_at description: The fulfillment's shipped at. format: date-time delivered_at: type: string title: delivered_at description: The fulfillment's delivered at. format: date-time canceled_at: type: string title: canceled_at description: The fulfillment's canceled at. format: date-time data: type: object description: The fulfillment's data. provider_id: type: string title: provider_id description: The fulfillment's provider id. shipping_option_id: type: string title: shipping_option_id description: The fulfillment's shipping option id. metadata: type: object description: The fulfillment's metadata. created_at: type: string format: date-time title: created_at description: The fulfillment's created at. updated_at: type: string format: date-time title: updated_at description: The fulfillment's updated at. BaseOrderItemDetail: type: object description: The item's detail. x-schemaName: BaseOrderItemDetail BaseOrderLineItem: type: object description: The item's items. x-schemaName: BaseOrderLineItem required: - id - title - subtitle - thumbnail - variant_id - product_id - product_title - product_description - product_subtitle - product_type - product_collection - product_handle - variant_sku - variant_barcode - variant_title - variant_option_values - requires_shipping - is_discountable - is_tax_inclusive - unit_price - quantity - detail - created_at - updated_at - metadata - original_total - original_subtotal - original_tax_total - item_total - item_subtotal - item_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - refundable_total - refundable_total_per_unit properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The item's variant id. product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. compare_at_unit_price: type: number title: compare_at_unit_price description: The item's compare at unit price. unit_price: type: number title: unit_price description: The item's unit price. quantity: type: number title: quantity description: The item's quantity. tax_lines: type: array description: The item's tax lines. items: $ref: '#/components/schemas/BaseOrderLineItemTaxLine' adjustments: type: array description: The item's adjustments. items: $ref: '#/components/schemas/BaseOrderLineItemAdjustment' detail: $ref: '#/components/schemas/BaseOrderItemDetail' created_at: type: string format: date-time title: created_at description: The item's created at. updated_at: type: string format: date-time title: updated_at description: The item's updated at. metadata: type: object description: The item's metadata. original_total: type: number title: original_total description: The item's original total. original_subtotal: type: number title: original_subtotal description: The item's original subtotal. original_tax_total: type: number title: original_tax_total description: The item's original tax total. item_total: type: number title: item_total description: The item's item total. item_subtotal: type: number title: item_subtotal description: The item's item subtotal. item_tax_total: type: number title: item_tax_total description: The item's item tax total. total: type: number title: total description: The item's total. subtotal: type: number title: subtotal description: The item's subtotal. tax_total: type: number title: tax_total description: The item's tax total. discount_total: type: number title: discount_total description: The item's discount total. discount_tax_total: type: number title: discount_tax_total description: The item's discount tax total. refundable_total: type: number title: refundable_total description: The item's refundable total. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The item's refundable total per unit. BaseOrderLineItemAdjustment: type: object description: The adjustment's adjustments. x-schemaName: BaseOrderLineItemAdjustment BaseOrderLineItemTaxLine: type: object description: The tax line's tax lines. x-schemaName: BaseOrderLineItemTaxLine BaseOrderShippingMethod: type: object description: The shipping method's shipping methods. x-schemaName: BaseOrderShippingMethod required: - id - order_id - name - amount - is_tax_inclusive - shipping_option_id - data - metadata - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - created_at - updated_at properties: id: type: string title: id description: The shipping method's ID. order_id: type: string title: order_id description: The shipping method's order id. name: type: string title: name description: The shipping method's name. description: type: string title: description description: The shipping method's description. amount: type: number title: amount description: The shipping method's amount. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The shipping method's is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The shipping method's shipping option id. data: type: object description: The shipping method's data. metadata: type: object description: The shipping method's metadata. tax_lines: type: array description: The shipping method's tax lines. items: $ref: '#/components/schemas/BaseOrderShippingMethodTaxLine' adjustments: type: array description: The shipping method's adjustments. items: $ref: '#/components/schemas/BaseOrderShippingMethodAdjustment' original_total: oneOf: - type: string title: original_total description: The shipping method's original total. - type: number title: original_total description: The shipping method's original total. - type: string title: original_total description: The shipping method's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The shipping method's original subtotal. - type: number title: original_subtotal description: The shipping method's original subtotal. - type: string title: original_subtotal description: The shipping method's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The shipping method's original tax total. - type: number title: original_tax_total description: The shipping method's original tax total. - type: string title: original_tax_total description: The shipping method's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The shipping method's total. - type: number title: total description: The shipping method's total. - type: string title: total description: The shipping method's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The shipping method's subtotal. - type: number title: subtotal description: The shipping method's subtotal. - type: string title: subtotal description: The shipping method's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The shipping method's tax total. - type: number title: tax_total description: The shipping method's tax total. - type: string title: tax_total description: The shipping method's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The shipping method's discount total. - type: number title: discount_total description: The shipping method's discount total. - type: string title: discount_total description: The shipping method's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The shipping method's discount tax total. - type: number title: discount_tax_total description: The shipping method's discount tax total. - type: string title: discount_tax_total description: The shipping method's discount tax total. - $ref: '#/components/schemas/IBigNumber' created_at: type: string format: date-time title: created_at description: The shipping method's created at. updated_at: type: string format: date-time title: updated_at description: The shipping method's updated at. BaseOrderShippingMethodAdjustment: type: object description: The adjustment's adjustments. x-schemaName: BaseOrderShippingMethodAdjustment BaseOrderShippingMethodTaxLine: type: object description: The tax line's tax lines. x-schemaName: BaseOrderShippingMethodTaxLine BaseOrderSummary: type: object description: The order's summary. x-schemaName: BaseOrderSummary required: - total - subtotal - total_tax - ordered_total - fulfilled_total - returned_total - return_request_total - write_off_total - projected_total - net_total - net_subtotal - net_total_tax - balance - paid_total - refunded_total properties: total: type: number title: total description: The summary's total. subtotal: type: number title: subtotal description: The summary's subtotal. total_tax: type: number title: total_tax description: The summary's total tax. ordered_total: type: number title: ordered_total description: The summary's ordered total. fulfilled_total: type: number title: fulfilled_total description: The summary's fulfilled total. returned_total: type: number title: returned_total description: The summary's returned total. return_request_total: type: number title: return_request_total description: The summary's return request total. write_off_total: type: number title: write_off_total description: The summary's write off total. projected_total: type: number title: projected_total description: The summary's projected total. net_total: type: number title: net_total description: The summary's net total. net_subtotal: type: number title: net_subtotal description: The summary's net subtotal. net_total_tax: type: number title: net_total_tax description: The summary's net total tax. balance: type: number title: balance description: The summary's balance. paid_total: type: number title: paid_total description: The summary's paid total. refunded_total: type: number title: refunded_total description: The summary's refunded total. BaseOrderTransaction: type: object description: The transaction's transactions. x-schemaName: BaseOrderTransaction required: - id - order_id - amount - currency_code - reference - reference_id - metadata - created_at - updated_at properties: id: type: string title: id description: The transaction's ID. order_id: type: string title: order_id description: The transaction's order id. amount: type: number title: amount description: The transaction's amount. currency_code: type: string title: currency_code description: The transaction's currency code. reference: type: string title: reference description: The transaction's reference. reference_id: type: string title: reference_id description: The transaction's reference id. metadata: type: object description: The transaction's metadata. created_at: type: string format: date-time title: created_at description: The transaction's created at. updated_at: type: string format: date-time title: updated_at description: The transaction's updated at. BasePayment: type: object description: The payment's payments. x-schemaName: BasePayment BasePaymentCollection: type: object description: The payment collection's payment collections. x-schemaName: BasePaymentCollection required: - id - currency_code - region_id - amount - status - payment_providers properties: id: type: string title: id description: The payment collection's ID. currency_code: type: string title: currency_code description: The payment collection's currency code. region_id: type: string title: region_id description: The payment collection's region id. amount: oneOf: - type: string title: amount description: The payment collection's amount. - type: number title: amount description: The payment collection's amount. - type: string title: amount description: The payment collection's amount. - $ref: '#/components/schemas/IBigNumber' authorized_amount: oneOf: - type: string title: authorized_amount description: The payment collection's authorized amount. - type: number title: authorized_amount description: The payment collection's authorized amount. - type: string title: authorized_amount description: The payment collection's authorized amount. - $ref: '#/components/schemas/IBigNumber' captured_amount: oneOf: - type: string title: captured_amount description: The payment collection's captured amount. - type: number title: captured_amount description: The payment collection's captured amount. - type: string title: captured_amount description: The payment collection's captured amount. - $ref: '#/components/schemas/IBigNumber' refunded_amount: oneOf: - type: string title: refunded_amount description: The payment collection's refunded amount. - type: number title: refunded_amount description: The payment collection's refunded amount. - type: string title: refunded_amount description: The payment collection's refunded amount. - $ref: '#/components/schemas/IBigNumber' completed_at: oneOf: - type: string title: completed_at description: The payment collection's completed at. - type: string title: completed_at description: The payment collection's completed at. format: date-time created_at: type: string format: date-time title: created_at description: The payment collection's created at. updated_at: type: string format: date-time title: updated_at description: The payment collection's updated at. metadata: type: object description: The payment collection's metadata. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment collection's payment providers. items: $ref: '#/components/schemas/BasePaymentProvider' payment_sessions: type: array description: The payment collection's payment sessions. items: $ref: '#/components/schemas/BasePaymentSession' payments: type: array description: The payment collection's payments. items: $ref: '#/components/schemas/BasePayment' BasePaymentProvider: type: object description: The payment provider's payment providers. x-schemaName: BasePaymentProvider BasePaymentSession: type: object description: The payment session's payment sessions. x-schemaName: BasePaymentSession BaseProduct: type: object description: The parent's product. x-schemaName: BaseProduct required: - id - title - handle - subtitle - description - is_giftcard - status - thumbnail - width - weight - length - height - origin_country - hs_code - mid_code - material - collection_id - type_id - variants - options - images - discountable - external_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The product's ID. title: type: string title: title description: The product's title. handle: type: string title: handle description: The product's handle. subtitle: type: string title: subtitle description: The product's subtitle. description: type: string title: description description: The product's description. is_giftcard: type: boolean title: is_giftcard description: The product's is giftcard. status: type: string description: The product's status. enum: - draft - proposed - published - rejected thumbnail: type: string title: thumbnail description: The product's thumbnail. width: type: number title: width description: The product's width. weight: type: number title: weight description: The product's weight. length: type: number title: length description: The product's length. height: type: number title: height description: The product's height. origin_country: type: string title: origin_country description: The product's origin country. hs_code: type: string title: hs_code description: The product's hs code. mid_code: type: string title: mid_code description: The product's mid code. material: type: string title: material description: The product's material. collection: $ref: '#/components/schemas/BaseCollection' collection_id: type: string title: collection_id description: The product's collection id. categories: type: array description: The product's categories. items: $ref: '#/components/schemas/BaseProductCategory' type: type: object type_id: type: string title: type_id description: The product's type id. tags: type: array description: The product's tags. items: $ref: '#/components/schemas/BaseProductTag' variants: type: array description: The product's variants. items: $ref: '#/components/schemas/BaseProductVariant' options: type: array description: The product's options. items: $ref: '#/components/schemas/BaseProductOption' images: type: array description: The product's images. items: $ref: '#/components/schemas/BaseProductImage' discountable: type: boolean title: discountable description: The product's discountable. external_id: type: string title: external_id description: The product's external id. created_at: type: string format: date-time title: created_at description: The product's created at. updated_at: type: string format: date-time title: updated_at description: The product's updated at. deleted_at: type: string format: date-time title: deleted_at description: The product's deleted at. metadata: type: object description: The product's metadata. BaseProductCategory: type: object description: The category's categories. x-schemaName: BaseProductCategory BaseProductImage: type: object description: The image's images. x-schemaName: BaseProductImage BaseProductOption: type: object description: The option's options. x-schemaName: BaseProductOption BaseProductOptionValue: type: object description: The option's options. x-schemaName: BaseProductOptionValue required: - id - value properties: id: type: string title: id description: The option's ID. value: type: string title: value description: The option's value. option: $ref: '#/components/schemas/BaseProductOption' option_id: type: string title: option_id description: The option's option id. metadata: type: object description: The option's metadata. created_at: type: string format: date-time title: created_at description: The option's created at. updated_at: type: string format: date-time title: updated_at description: The option's updated at. deleted_at: type: string format: date-time title: deleted_at description: The option's deleted at. BaseProductTag: type: object description: The tag's tags. x-schemaName: BaseProductTag BaseProductVariant: type: object description: The variant's variants. x-schemaName: BaseProductVariant BasePromotion: type: object description: The application method's promotion. x-schemaName: BasePromotion BasePromotionRule: type: object description: The rule's rules. x-schemaName: BasePromotionRule required: - id - values properties: id: type: string title: id description: The rule's ID. description: type: string title: description description: The rule's description. attribute: type: string title: attribute description: The rule's attribute. operator: type: string description: The rule's operator. enum: - gt - lt - eq - ne - in - lte - gte values: type: array description: The rule's values. items: $ref: '#/components/schemas/BasePromotionRuleValue' BasePromotionRuleValue: type: object description: The value's values. x-schemaName: BasePromotionRuleValue required: - id properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value's details. BaseRefund: type: object description: The refund's refunds. x-schemaName: BaseRefund BaseRegion: type: object description: The parent's region. x-schemaName: BaseRegion required: - id - name - currency_code properties: id: type: string title: id description: The region's ID. name: type: string title: name description: The region's name. currency_code: type: string title: currency_code description: The region's currency code. automatic_taxes: type: boolean title: automatic_taxes description: The region's automatic taxes. countries: type: array description: The region's countries. items: $ref: '#/components/schemas/BaseRegionCountry' payment_providers: type: array description: The region's payment providers. items: $ref: '#/components/schemas/AdminPaymentProvider' metadata: type: object description: The region's metadata. created_at: type: string format: date-time title: created_at description: The region's created at. updated_at: type: string format: date-time title: updated_at description: The region's updated at. BaseRegionCountry: type: object description: The country's countries. x-schemaName: BaseRegionCountry BaseReturnItem: type: object description: The item's items. x-schemaName: BaseReturnItem BaseRuleOperatorOptions: type: object description: The operator's operators. x-schemaName: BaseRuleOperatorOptions required: - id - value - label properties: id: type: string title: id description: The operator's ID. value: type: string title: value description: The operator's value. label: type: string title: label description: The operator's label. BaseShippingMethodAdjustment: type: object description: The adjustment's adjustments. x-schemaName: BaseShippingMethodAdjustment BaseShippingMethodTaxLine: type: object description: The tax line's tax lines. x-schemaName: BaseShippingMethodTaxLine CampaignResponse: type: object description: The campaign's details. x-schemaName: CampaignResponse required: - id - name - description - currency - campaign_identifier - starts_at - ends_at - budget properties: id: type: string title: id description: The campaign's ID. name: type: string title: name description: The campaign's name. description: type: string title: description description: The campaign's description. currency: type: string title: currency description: The campaign's currency. campaign_identifier: type: string title: campaign_identifier description: The campaign's campaign identifier. starts_at: type: string title: starts_at description: The campaign's starts at. ends_at: type: string title: ends_at description: The campaign's ends at. budget: type: object description: The campaign's budget. required: - id - type - currency_code - limit - used properties: id: type: string title: id description: The budget's ID. type: type: string enum: - spend - usage currency_code: type: string title: currency_code description: The budget's currency code. limit: type: number title: limit description: The budget's limit. used: type: number title: used description: The budget's used. CreateAddress: type: object description: The cart's shipping address. x-schemaName: CreateAddress properties: customer_id: type: string title: customer_id description: The shipping address's customer id. company: type: string title: company description: The shipping address's company. first_name: type: string title: first_name description: The shipping address's first name. last_name: type: string title: last_name description: The shipping address's last name. address_1: type: string title: address_1 description: The shipping address's address 1. address_2: type: string title: address_2 description: The shipping address's address 2. city: type: string title: city description: The shipping address's city. country_code: type: string title: country_code description: The shipping address's country code. province: type: string title: province description: The shipping address's province. postal_code: type: string title: postal_code description: The shipping address's postal code. phone: type: string title: phone description: The shipping address's phone. metadata: type: object description: The shipping address's metadata. CreateCartAddress: type: object description: The cart's billing address. x-schemaName: CreateCartAddress properties: first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. CreateCartCreateLineItem: type: object description: The item's items. x-schemaName: CreateCartCreateLineItem required: - quantity - variant_id properties: quantity: type: string title: quantity description: The item's quantity. variant_id: type: string title: variant_id description: The item's variant id. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. is_giftcard: type: boolean title: is_giftcard description: The item's is giftcard. compare_at_unit_price: type: string title: compare_at_unit_price description: The item's compare at unit price. unit_price: type: string title: unit_price description: The item's unit price. metadata: type: object description: The item's metadata. CreateCartWorkflowInput: type: object description: SUMMARY x-schemaName: CreateCartWorkflowInput properties: region_id: type: string title: region_id description: The cart's region id. customer_id: type: string title: customer_id description: The cart's customer id. sales_channel_id: type: string title: sales_channel_id description: The cart's sales channel id. email: type: string title: email description: The cart's email. format: email currency_code: type: string title: currency_code description: The cart's currency code. shipping_address_id: type: string title: shipping_address_id description: The cart's shipping address id. billing_address_id: type: string title: billing_address_id description: The cart's billing address id. shipping_address: oneOf: - type: string title: shipping_address description: The cart's shipping address. - $ref: '#/components/schemas/CreateCartAddress' billing_address: oneOf: - type: string title: billing_address description: The cart's billing address. - $ref: '#/components/schemas/CreateCartAddress' metadata: type: object description: The cart's metadata. items: type: array description: The cart's items. items: $ref: '#/components/schemas/CreateCartCreateLineItem' promo_codes: type: array description: The cart's promo codes. items: type: string title: promo_codes description: The promo code's promo codes. CreateOrderReturnReason: type: object description: SUMMARY x-schemaName: CreateOrderReturnReason required: - value - label properties: value: type: string title: value description: The return reason's value. label: type: string title: label description: The return reason's label. description: type: string title: description description: The return reason's description. parent_return_reason_id: type: string title: parent_return_reason_id description: The return reason's parent return reason id. metadata: type: object description: The return reason's metadata. CustomerGroupInCustomerFilters: type: object description: The customer's groups. x-schemaName: CustomerGroupInCustomerFilters required: - id - name - created_at - updated_at - deleted_at properties: id: oneOf: - type: string title: id description: The group's ID. - type: array description: The group's ID. items: type: string title: id description: The id's ID. name: oneOf: - type: string title: name description: The group's name. - type: array description: The group's name. items: type: string title: name description: The name's details. created_at: type: object description: The group's created at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). updated_at: type: object description: The group's updated at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). deleted_at: type: object description: The group's deleted at. properties: $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or $eq: oneOf: - type: string title: $eq description: Filter by an exact match. - type: array description: Filter by an exact match. items: type: string title: $eq description: Filter by an exact match. $ne: type: string title: $ne description: Filter by values not equal to this parameter. $in: type: array description: Filter by values in this array. items: type: string title: $in description: Filter by values in this array. $nin: type: array description: Filter by values not in this array. items: type: string title: $nin description: Filter by values not in this array. $not: oneOf: - type: string title: $not description: Filter by values not matching the conditions in this parameter. - type: object description: Filter by values not matching the conditions in this parameter. - type: array description: Filter by values not matching the conditions in this parameter. items: type: string title: $not description: Filter by values not matching the conditions in this parameter. $gt: type: string title: $gt description: Filter by values greater than this parameter. Useful for numbers and dates only. $gte: type: string title: $gte description: Filter by values greater than or equal to this parameter. Useful for numbers and dates only. $lt: type: string title: $lt description: Filter by values less than this parameter. Useful for numbers and dates only. $lte: type: string title: $lte description: Filter by values less than or equal to this parameter. Useful for numbers and dates only. $like: type: string title: $like description: Apply a `like` filter. Useful for strings only. $re: type: string title: $re description: Apply a regex filter. Useful for strings only. $ilike: type: string title: $ilike description: Apply a case-insensitive `like` filter. Useful for strings only. $fulltext: type: string title: $fulltext description: Filter to apply on full-text properties. $overlap: type: array description: Filter arrays that have overlapping values with this parameter. items: type: string title: $overlap description: Filter arrays that have overlapping values with this parameter. $contains: type: array description: Filter arrays that contain some of the values of this parameter. items: type: string title: $contains description: Filter arrays that contain some of the values of this parameter. $contained: type: array description: Filter arrays that contain all values of this parameter. items: type: string title: $contained description: Filter arrays that contain all values of this parameter. $exists: type: boolean title: $exists description: Filter by whether a value for this parameter exists (not `null`). Error: title: Response Error type: object properties: code: type: string description: A slug code to indicate the type of the error. enum: - invalid_state_error - invalid_request_error - api_error - unknown_error message: type: string description: Description of the error that occurred. example: first_name must be a string type: type: string description: A slug indicating the type of the error. enum: - QueryRunnerAlreadyReleasedError - TransactionAlreadyStartedError - TransactionNotStartedError - conflict - unauthorized - payment_authorization_error - duplicate_error - not_allowed - invalid_data - not_found - database_error - unexpected_state - invalid_argument - unknown_error File: type: object description: The product's file. x-schemaName: File required: - lastModified - name - webkitRelativePath - size - type - arrayBuffer - stream - text properties: lastModified: type: number title: lastModified description: The file's lastmodified. name: type: string title: name description: The file's name. webkitRelativePath: type: string title: webkitRelativePath description: The file's webkitrelativepath. size: type: number title: size description: The file's size. type: type: string title: type description: The file's type. arrayBuffer: type: object description: The file's arraybuffer. slice: type: object description: The file's slice. stream: type: object description: The file's stream. text: type: object description: The file's text. FileList: type: object description: SUMMARY x-schemaName: FileList required: - length - item - __@iterator@258 properties: length: type: number title: length description: The upload's length. item: type: object description: The upload's item. __@iterator@258: type: object description: The upload's @iterator@258. IBigNumber: type: object description: The shipping method's discount tax total. x-schemaName: IBigNumber InventoryLevel: type: object description: The inventory level's inventory levels. x-schemaName: InventoryLevel required: - id - inventory_item_id - location_id - stocked_quantity - reserved_quantity - available_quantity - incoming_quantity properties: id: type: string title: id description: The inventory level's ID. inventory_item_id: type: string title: inventory_item_id description: The inventory level's inventory item id. location_id: type: string title: location_id description: The inventory level's location id. stocked_quantity: type: number title: stocked_quantity description: The inventory level's stocked quantity. reserved_quantity: type: number title: reserved_quantity description: The inventory level's reserved quantity. available_quantity: type: number title: available_quantity description: The inventory level's available quantity. incoming_quantity: type: number title: incoming_quantity description: The inventory level's incoming quantity. metadata: type: object description: The inventory level's metadata. Order: type: object description: The transaction's order. x-schemaName: Order OrderAddress: type: object description: The order preview's billing address. x-schemaName: OrderAddress required: - id - created_at - updated_at properties: id: type: string title: id description: The billing address's ID. customer_id: type: string title: customer_id description: The billing address's customer id. first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. created_at: type: string format: date-time title: created_at description: The billing address's created at. updated_at: type: string format: date-time title: updated_at description: The billing address's updated at. OrderChange: type: object description: The order preview's order change. x-schemaName: OrderChange required: - id - version - order_id - return_id - exchange_id - claim_id - order - return_order - exchange - claim - actions - status - requested_by - requested_at - confirmed_by - confirmed_at - declined_by - declined_reason - metadata - declined_at - canceled_by - canceled_at - created_at - updated_at properties: id: type: string title: id description: The order change's ID. version: type: number title: version description: The order change's version. change_type: type: string description: The order change's change type. enum: - return - exchange - claim - edit order_id: type: string title: order_id description: The order change's order id. return_id: type: string title: return_id description: The order change's return id. exchange_id: type: string title: exchange_id description: The order change's exchange id. claim_id: type: string title: claim_id description: The order change's claim id. order: type: object return_order: $ref: '#/components/schemas/Return' exchange: $ref: '#/components/schemas/OrderExchange' claim: $ref: '#/components/schemas/OrderClaim' actions: type: array description: The order change's actions. items: $ref: '#/components/schemas/OrderChangeAction' status: type: string title: status description: The order change's status. requested_by: type: string title: requested_by description: The order change's requested by. requested_at: oneOf: - type: string title: requested_at description: The order change's requested at. - type: string title: requested_at description: The order change's requested at. format: date-time confirmed_by: type: string title: confirmed_by description: The order change's confirmed by. confirmed_at: oneOf: - type: string title: confirmed_at description: The order change's confirmed at. - type: string title: confirmed_at description: The order change's confirmed at. format: date-time declined_by: type: string title: declined_by description: The order change's declined by. declined_reason: type: string title: declined_reason description: The order change's declined reason. metadata: type: object description: The order change's metadata. declined_at: oneOf: - type: string title: declined_at description: The order change's declined at. - type: string title: declined_at description: The order change's declined at. format: date-time canceled_by: type: string title: canceled_by description: The order change's canceled by. canceled_at: oneOf: - type: string title: canceled_at description: The order change's canceled at. - type: string title: canceled_at description: The order change's canceled at. format: date-time created_at: type: string format: date-time title: created_at description: The order change's created at. updated_at: type: string format: date-time title: updated_at description: The order change's updated at. OrderChangeAction: type: object description: The action's actions. x-schemaName: OrderChangeAction OrderClaim: type: object description: The order change's claim. x-schemaName: OrderClaim OrderExchange: type: object description: The order change's exchange. x-schemaName: OrderExchange OrderItem: type: object description: The item's detail. x-schemaName: OrderItem OrderLineItemAdjustment: type: object description: The adjustment's adjustments. x-schemaName: OrderLineItemAdjustment OrderLineItemTaxLine: type: object description: The tax line's tax lines. x-schemaName: OrderLineItemTaxLine OrderPreview: type: object description: The order edit's order preview. x-schemaName: OrderPreview required: - order_change - status - currency_code - version - id - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total - raw_original_item_total - raw_original_item_subtotal - raw_original_item_tax_total - raw_item_total - raw_item_subtotal - raw_item_tax_total - raw_original_total - raw_original_subtotal - raw_original_tax_total - raw_total - raw_subtotal - raw_tax_total - raw_discount_total - raw_discount_tax_total - raw_gift_card_total - raw_gift_card_tax_total - raw_shipping_total - raw_shipping_subtotal - raw_shipping_tax_total - raw_original_shipping_total - raw_original_shipping_subtotal - raw_original_shipping_tax_total properties: order_change: $ref: '#/components/schemas/OrderChange' items: type: array description: The order preview's items. items: allOf: - type: object description: The item's items. x-schemaName: OrderLineItem required: - id - title - requires_shipping - is_discountable - is_tax_inclusive - unit_price - raw_unit_price - quantity - raw_quantity - detail - created_at - updated_at - original_total - original_subtotal - original_tax_total - item_total - item_subtotal - item_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - refundable_total - refundable_total_per_unit - raw_original_total - raw_original_subtotal - raw_original_tax_total - raw_item_total - raw_item_subtotal - raw_item_tax_total - raw_total - raw_subtotal - raw_tax_total - raw_discount_total - raw_discount_tax_total - raw_refundable_total - raw_refundable_total_per_unit properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. variant_id: type: string title: variant_id description: The item's variant id. product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. compare_at_unit_price: type: number title: compare_at_unit_price description: The item's compare at unit price. raw_compare_at_unit_price: type: object description: The item's raw compare at unit price. unit_price: type: number title: unit_price description: The item's unit price. raw_unit_price: type: object description: The item's raw unit price. quantity: type: number title: quantity description: The item's quantity. raw_quantity: type: object description: The item's raw quantity. tax_lines: type: array description: The item's tax lines. items: $ref: '#/components/schemas/OrderLineItemTaxLine' adjustments: type: array description: The item's adjustments. items: $ref: '#/components/schemas/OrderLineItemAdjustment' detail: $ref: '#/components/schemas/OrderItem' created_at: type: string format: date-time title: created_at description: The item's created at. updated_at: type: string format: date-time title: updated_at description: The item's updated at. metadata: type: object description: The item's metadata. original_total: oneOf: - type: string title: original_total description: The item's original total. - type: number title: original_total description: The item's original total. - type: string title: original_total description: The item's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The item's original subtotal. - type: number title: original_subtotal description: The item's original subtotal. - type: string title: original_subtotal description: The item's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The item's original tax total. - type: number title: original_tax_total description: The item's original tax total. - type: string title: original_tax_total description: The item's original tax total. - $ref: '#/components/schemas/IBigNumber' item_total: oneOf: - type: string title: item_total description: The item's item total. - type: number title: item_total description: The item's item total. - type: string title: item_total description: The item's item total. - $ref: '#/components/schemas/IBigNumber' item_subtotal: oneOf: - type: string title: item_subtotal description: The item's item subtotal. - type: number title: item_subtotal description: The item's item subtotal. - type: string title: item_subtotal description: The item's item subtotal. - $ref: '#/components/schemas/IBigNumber' item_tax_total: oneOf: - type: string title: item_tax_total description: The item's item tax total. - type: number title: item_tax_total description: The item's item tax total. - type: string title: item_tax_total description: The item's item tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The item's total. - type: number title: total description: The item's total. - type: string title: total description: The item's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The item's subtotal. - type: number title: subtotal description: The item's subtotal. - type: string title: subtotal description: The item's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The item's tax total. - type: number title: tax_total description: The item's tax total. - type: string title: tax_total description: The item's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The item's discount total. - type: number title: discount_total description: The item's discount total. - type: string title: discount_total description: The item's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The item's discount tax total. - type: number title: discount_tax_total description: The item's discount tax total. - type: string title: discount_tax_total description: The item's discount tax total. - $ref: '#/components/schemas/IBigNumber' refundable_total: oneOf: - type: string title: refundable_total description: The item's refundable total. - type: number title: refundable_total description: The item's refundable total. - type: string title: refundable_total description: The item's refundable total. - $ref: '#/components/schemas/IBigNumber' refundable_total_per_unit: oneOf: - type: string title: refundable_total_per_unit description: The item's refundable total per unit. - type: number title: refundable_total_per_unit description: The item's refundable total per unit. - type: string title: refundable_total_per_unit description: The item's refundable total per unit. - $ref: '#/components/schemas/IBigNumber' raw_original_total: type: object description: The item's raw original total. raw_original_subtotal: type: object description: The item's raw original subtotal. raw_original_tax_total: type: object description: The item's raw original tax total. raw_item_total: type: object description: The item's raw item total. raw_item_subtotal: type: object description: The item's raw item subtotal. raw_item_tax_total: type: object description: The item's raw item tax total. raw_total: type: object description: The item's raw total. raw_subtotal: type: object description: The item's raw subtotal. raw_tax_total: type: object description: The item's raw tax total. raw_discount_total: type: object description: The item's raw discount total. raw_discount_tax_total: type: object description: The item's raw discount tax total. raw_refundable_total: type: object description: The item's raw refundable total. raw_refundable_total_per_unit: type: object description: The item's raw refundable total per unit. - type: object description: The item's items. properties: actions: type: array description: The item's actions. items: type: object description: The action's actions. x-schemaName: OrderChangeAction shipping_methods: type: array description: The order preview's shipping methods. items: allOf: - type: object description: The shipping method's shipping methods. x-schemaName: OrderShippingMethod required: - id - order_id - name - amount - raw_amount - is_tax_inclusive - created_at - updated_at - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - raw_original_total - raw_original_subtotal - raw_original_tax_total - raw_total - raw_subtotal - raw_tax_total - raw_discount_total - raw_discount_tax_total properties: id: type: string title: id description: The shipping method's ID. order_id: type: string title: order_id description: The shipping method's order id. name: type: string title: name description: The shipping method's name. description: type: string title: description description: The shipping method's description. amount: oneOf: - type: string title: amount description: The shipping method's amount. - type: number title: amount description: The shipping method's amount. - type: string title: amount description: The shipping method's amount. - $ref: '#/components/schemas/IBigNumber' raw_amount: type: object description: The shipping method's raw amount. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The shipping method's is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The shipping method's shipping option id. data: type: object description: The shipping method's data. metadata: type: object description: The shipping method's metadata. tax_lines: type: array description: The shipping method's tax lines. items: $ref: '#/components/schemas/OrderShippingMethodTaxLine' adjustments: type: array description: The shipping method's adjustments. items: $ref: '#/components/schemas/OrderShippingMethodAdjustment' created_at: type: string format: date-time title: created_at description: The shipping method's created at. updated_at: type: string format: date-time title: updated_at description: The shipping method's updated at. original_total: oneOf: - type: string title: original_total description: The shipping method's original total. - type: number title: original_total description: The shipping method's original total. - type: string title: original_total description: The shipping method's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The shipping method's original subtotal. - type: number title: original_subtotal description: The shipping method's original subtotal. - type: string title: original_subtotal description: The shipping method's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The shipping method's original tax total. - type: number title: original_tax_total description: The shipping method's original tax total. - type: string title: original_tax_total description: The shipping method's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The shipping method's total. - type: number title: total description: The shipping method's total. - type: string title: total description: The shipping method's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The shipping method's subtotal. - type: number title: subtotal description: The shipping method's subtotal. - type: string title: subtotal description: The shipping method's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The shipping method's tax total. - type: number title: tax_total description: The shipping method's tax total. - type: string title: tax_total description: The shipping method's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The shipping method's discount total. - type: number title: discount_total description: The shipping method's discount total. - type: string title: discount_total description: The shipping method's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The shipping method's discount tax total. - type: number title: discount_tax_total description: The shipping method's discount tax total. - type: string title: discount_tax_total description: The shipping method's discount tax total. - $ref: '#/components/schemas/IBigNumber' raw_original_total: type: object description: The shipping method's raw original total. raw_original_subtotal: type: object description: The shipping method's raw original subtotal. raw_original_tax_total: type: object description: The shipping method's raw original tax total. raw_total: type: object description: The shipping method's raw total. raw_subtotal: type: object description: The shipping method's raw subtotal. raw_tax_total: type: object description: The shipping method's raw tax total. raw_discount_total: type: object description: The shipping method's raw discount total. raw_discount_tax_total: type: object description: The shipping method's raw discount tax total. - type: object description: The shipping method's shipping methods. properties: actions: type: array description: The shipping method's actions. items: type: object description: The action's actions. x-schemaName: OrderChangeAction status: type: string description: The order preview's status. enum: - canceled - requires_action - pending - completed - draft - archived currency_code: type: string title: currency_code description: The order preview's currency code. version: type: number title: version description: The order preview's version. id: type: string title: id description: The order preview's ID. region_id: type: string title: region_id description: The order preview's region id. customer_id: type: string title: customer_id description: The order preview's customer id. sales_channel_id: type: string title: sales_channel_id description: The order preview's sales channel id. email: type: string title: email description: The order preview's email. format: email shipping_address: $ref: '#/components/schemas/OrderAddress' billing_address: $ref: '#/components/schemas/OrderAddress' transactions: type: array description: The order preview's transactions. items: $ref: '#/components/schemas/OrderTransaction' summary: type: object description: The order preview's summary. required: - total - subtotal - total_tax - ordered_total - fulfilled_total - returned_total - return_request_total - write_off_total - projected_total - net_total - net_subtotal - net_total_tax - balance - paid_total - refunded_total - pending_difference - raw_pending_difference properties: total: oneOf: - type: string title: total description: The summary's total. - type: number title: total description: The summary's total. - type: string title: total description: The summary's total. - type: object description: The summary's total. x-schemaName: IBigNumber subtotal: oneOf: - type: string title: subtotal description: The summary's subtotal. - type: number title: subtotal description: The summary's subtotal. - type: string title: subtotal description: The summary's subtotal. - type: object description: The summary's subtotal. x-schemaName: IBigNumber total_tax: oneOf: - type: string title: total_tax description: The summary's total tax. - type: number title: total_tax description: The summary's total tax. - type: string title: total_tax description: The summary's total tax. - type: object description: The summary's total tax. x-schemaName: IBigNumber ordered_total: oneOf: - type: string title: ordered_total description: The summary's ordered total. - type: number title: ordered_total description: The summary's ordered total. - type: string title: ordered_total description: The summary's ordered total. - type: object description: The summary's ordered total. x-schemaName: IBigNumber fulfilled_total: oneOf: - type: string title: fulfilled_total description: The summary's fulfilled total. - type: number title: fulfilled_total description: The summary's fulfilled total. - type: string title: fulfilled_total description: The summary's fulfilled total. - type: object description: The summary's fulfilled total. x-schemaName: IBigNumber returned_total: oneOf: - type: string title: returned_total description: The summary's returned total. - type: number title: returned_total description: The summary's returned total. - type: string title: returned_total description: The summary's returned total. - type: object description: The summary's returned total. x-schemaName: IBigNumber return_request_total: oneOf: - type: string title: return_request_total description: The summary's return request total. - type: number title: return_request_total description: The summary's return request total. - type: string title: return_request_total description: The summary's return request total. - type: object description: The summary's return request total. x-schemaName: IBigNumber write_off_total: oneOf: - type: string title: write_off_total description: The summary's write off total. - type: number title: write_off_total description: The summary's write off total. - type: string title: write_off_total description: The summary's write off total. - type: object description: The summary's write off total. x-schemaName: IBigNumber projected_total: oneOf: - type: string title: projected_total description: The summary's projected total. - type: number title: projected_total description: The summary's projected total. - type: string title: projected_total description: The summary's projected total. - type: object description: The summary's projected total. x-schemaName: IBigNumber net_total: oneOf: - type: string title: net_total description: The summary's net total. - type: number title: net_total description: The summary's net total. - type: string title: net_total description: The summary's net total. - type: object description: The summary's net total. x-schemaName: IBigNumber net_subtotal: oneOf: - type: string title: net_subtotal description: The summary's net subtotal. - type: number title: net_subtotal description: The summary's net subtotal. - type: string title: net_subtotal description: The summary's net subtotal. - type: object description: The summary's net subtotal. x-schemaName: IBigNumber net_total_tax: oneOf: - type: string title: net_total_tax description: The summary's net total tax. - type: number title: net_total_tax description: The summary's net total tax. - type: string title: net_total_tax description: The summary's net total tax. - type: object description: The summary's net total tax. x-schemaName: IBigNumber balance: oneOf: - type: string title: balance description: The summary's balance. - type: number title: balance description: The summary's balance. - type: string title: balance description: The summary's balance. - type: object description: The summary's balance. x-schemaName: IBigNumber paid_total: oneOf: - type: string title: paid_total description: The summary's paid total. - type: number title: paid_total description: The summary's paid total. - type: string title: paid_total description: The summary's paid total. - type: object description: The summary's paid total. x-schemaName: IBigNumber refunded_total: oneOf: - type: string title: refunded_total description: The summary's refunded total. - type: number title: refunded_total description: The summary's refunded total. - type: string title: refunded_total description: The summary's refunded total. - type: object description: The summary's refunded total. x-schemaName: IBigNumber pending_difference: oneOf: - type: string title: pending_difference description: The summary's pending difference. - type: number title: pending_difference description: The summary's pending difference. - type: string title: pending_difference description: The summary's pending difference. - type: object description: The summary's pending difference. x-schemaName: IBigNumber raw_pending_difference: type: object description: The summary's raw pending difference. metadata: type: object description: The order preview's metadata. created_at: type: string format: date-time title: created_at description: The order preview's created at. updated_at: type: string format: date-time title: updated_at description: The order preview's updated at. original_item_total: oneOf: - type: string title: original_item_total description: The order preview's original item total. - type: number title: original_item_total description: The order preview's original item total. - type: string title: original_item_total description: The order preview's original item total. - $ref: '#/components/schemas/IBigNumber' original_item_subtotal: oneOf: - type: string title: original_item_subtotal description: The order preview's original item subtotal. - type: number title: original_item_subtotal description: The order preview's original item subtotal. - type: string title: original_item_subtotal description: The order preview's original item subtotal. - $ref: '#/components/schemas/IBigNumber' original_item_tax_total: oneOf: - type: string title: original_item_tax_total description: The order preview's original item tax total. - type: number title: original_item_tax_total description: The order preview's original item tax total. - type: string title: original_item_tax_total description: The order preview's original item tax total. - $ref: '#/components/schemas/IBigNumber' item_total: oneOf: - type: string title: item_total description: The order preview's item total. - type: number title: item_total description: The order preview's item total. - type: string title: item_total description: The order preview's item total. - $ref: '#/components/schemas/IBigNumber' item_subtotal: oneOf: - type: string title: item_subtotal description: The order preview's item subtotal. - type: number title: item_subtotal description: The order preview's item subtotal. - type: string title: item_subtotal description: The order preview's item subtotal. - $ref: '#/components/schemas/IBigNumber' item_tax_total: oneOf: - type: string title: item_tax_total description: The order preview's item tax total. - type: number title: item_tax_total description: The order preview's item tax total. - type: string title: item_tax_total description: The order preview's item tax total. - $ref: '#/components/schemas/IBigNumber' original_total: oneOf: - type: string title: original_total description: The order preview's original total. - type: number title: original_total description: The order preview's original total. - type: string title: original_total description: The order preview's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The order preview's original subtotal. - type: number title: original_subtotal description: The order preview's original subtotal. - type: string title: original_subtotal description: The order preview's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The order preview's original tax total. - type: number title: original_tax_total description: The order preview's original tax total. - type: string title: original_tax_total description: The order preview's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The order preview's total. - type: number title: total description: The order preview's total. - type: string title: total description: The order preview's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The order preview's subtotal. - type: number title: subtotal description: The order preview's subtotal. - type: string title: subtotal description: The order preview's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The order preview's tax total. - type: number title: tax_total description: The order preview's tax total. - type: string title: tax_total description: The order preview's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The order preview's discount total. - type: number title: discount_total description: The order preview's discount total. - type: string title: discount_total description: The order preview's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The order preview's discount tax total. - type: number title: discount_tax_total description: The order preview's discount tax total. - type: string title: discount_tax_total description: The order preview's discount tax total. - $ref: '#/components/schemas/IBigNumber' gift_card_total: oneOf: - type: string title: gift_card_total description: The order preview's gift card total. - type: number title: gift_card_total description: The order preview's gift card total. - type: string title: gift_card_total description: The order preview's gift card total. - $ref: '#/components/schemas/IBigNumber' gift_card_tax_total: oneOf: - type: string title: gift_card_tax_total description: The order preview's gift card tax total. - type: number title: gift_card_tax_total description: The order preview's gift card tax total. - type: string title: gift_card_tax_total description: The order preview's gift card tax total. - $ref: '#/components/schemas/IBigNumber' shipping_total: oneOf: - type: string title: shipping_total description: The order preview's shipping total. - type: number title: shipping_total description: The order preview's shipping total. - type: string title: shipping_total description: The order preview's shipping total. - $ref: '#/components/schemas/IBigNumber' shipping_subtotal: oneOf: - type: string title: shipping_subtotal description: The order preview's shipping subtotal. - type: number title: shipping_subtotal description: The order preview's shipping subtotal. - type: string title: shipping_subtotal description: The order preview's shipping subtotal. - $ref: '#/components/schemas/IBigNumber' shipping_tax_total: oneOf: - type: string title: shipping_tax_total description: The order preview's shipping tax total. - type: number title: shipping_tax_total description: The order preview's shipping tax total. - type: string title: shipping_tax_total description: The order preview's shipping tax total. - $ref: '#/components/schemas/IBigNumber' original_shipping_total: oneOf: - type: string title: original_shipping_total description: The order preview's original shipping total. - type: number title: original_shipping_total description: The order preview's original shipping total. - type: string title: original_shipping_total description: The order preview's original shipping total. - $ref: '#/components/schemas/IBigNumber' original_shipping_subtotal: oneOf: - type: string title: original_shipping_subtotal description: The order preview's original shipping subtotal. - type: number title: original_shipping_subtotal description: The order preview's original shipping subtotal. - type: string title: original_shipping_subtotal description: The order preview's original shipping subtotal. - $ref: '#/components/schemas/IBigNumber' original_shipping_tax_total: oneOf: - type: string title: original_shipping_tax_total description: The order preview's original shipping tax total. - type: number title: original_shipping_tax_total description: The order preview's original shipping tax total. - type: string title: original_shipping_tax_total description: The order preview's original shipping tax total. - $ref: '#/components/schemas/IBigNumber' canceled_at: oneOf: - type: string title: canceled_at description: The order preview's canceled at. - type: string title: canceled_at description: The order preview's canceled at. format: date-time raw_original_item_total: type: object description: The order preview's raw original item total. required: - value properties: value: oneOf: - type: string title: value description: The raw original item total's value. - type: number title: value description: The raw original item total's value. raw_original_item_subtotal: type: object description: The order preview's raw original item subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw original item subtotal's value. - type: number title: value description: The raw original item subtotal's value. raw_original_item_tax_total: type: object description: The order preview's raw original item tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw original item tax total's value. - type: number title: value description: The raw original item tax total's value. raw_item_total: type: object description: The order preview's raw item total. required: - value properties: value: oneOf: - type: string title: value description: The raw item total's value. - type: number title: value description: The raw item total's value. raw_item_subtotal: type: object description: The order preview's raw item subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw item subtotal's value. - type: number title: value description: The raw item subtotal's value. raw_item_tax_total: type: object description: The order preview's raw item tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw item tax total's value. - type: number title: value description: The raw item tax total's value. raw_original_total: type: object description: The order preview's raw original total. required: - value properties: value: oneOf: - type: string title: value description: The raw original total's value. - type: number title: value description: The raw original total's value. raw_original_subtotal: type: object description: The order preview's raw original subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw original subtotal's value. - type: number title: value description: The raw original subtotal's value. raw_original_tax_total: type: object description: The order preview's raw original tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw original tax total's value. - type: number title: value description: The raw original tax total's value. raw_total: type: object description: The order preview's raw total. required: - value properties: value: oneOf: - type: string title: value description: The raw total's value. - type: number title: value description: The raw total's value. raw_subtotal: type: object description: The order preview's raw subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw subtotal's value. - type: number title: value description: The raw subtotal's value. raw_tax_total: type: object description: The order preview's raw tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw tax total's value. - type: number title: value description: The raw tax total's value. raw_discount_total: type: object description: The order preview's raw discount total. required: - value properties: value: oneOf: - type: string title: value description: The raw discount total's value. - type: number title: value description: The raw discount total's value. raw_discount_tax_total: type: object description: The order preview's raw discount tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw discount tax total's value. - type: number title: value description: The raw discount tax total's value. raw_gift_card_total: type: object description: The order preview's raw gift card total. required: - value properties: value: oneOf: - type: string title: value description: The raw gift card total's value. - type: number title: value description: The raw gift card total's value. raw_gift_card_tax_total: type: object description: The order preview's raw gift card tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw gift card tax total's value. - type: number title: value description: The raw gift card tax total's value. raw_shipping_total: type: object description: The order preview's raw shipping total. required: - value properties: value: oneOf: - type: string title: value description: The raw shipping total's value. - type: number title: value description: The raw shipping total's value. raw_shipping_subtotal: type: object description: The order preview's raw shipping subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw shipping subtotal's value. - type: number title: value description: The raw shipping subtotal's value. raw_shipping_tax_total: type: object description: The order preview's raw shipping tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw shipping tax total's value. - type: number title: value description: The raw shipping tax total's value. raw_original_shipping_total: type: object description: The order preview's raw original shipping total. required: - value properties: value: oneOf: - type: string title: value description: The raw original shipping total's value. - type: number title: value description: The raw original shipping total's value. raw_original_shipping_subtotal: type: object description: The order preview's raw original shipping subtotal. required: - value properties: value: oneOf: - type: string title: value description: The raw original shipping subtotal's value. - type: number title: value description: The raw original shipping subtotal's value. raw_original_shipping_tax_total: type: object description: The order preview's raw original shipping tax total. required: - value properties: value: oneOf: - type: string title: value description: The raw original shipping tax total's value. - type: number title: value description: The raw original shipping tax total's value. OrderShippingMethodAdjustment: type: object description: The adjustment's adjustments. x-schemaName: OrderShippingMethodAdjustment OrderShippingMethodTaxLine: type: object description: The tax line's tax lines. x-schemaName: OrderShippingMethodTaxLine OrderTransaction: type: object description: The transaction's transactions. x-schemaName: OrderTransaction required: - id - order_id - order - amount - raw_amount - currency_code - reference - reference_id - created_at - updated_at - metadata properties: id: type: string title: id description: The transaction's ID. order_id: type: string title: order_id description: The transaction's order id. order: type: object amount: oneOf: - type: string title: amount description: The transaction's amount. - type: number title: amount description: The transaction's amount. - type: string title: amount description: The transaction's amount. - $ref: '#/components/schemas/IBigNumber' raw_amount: type: object description: The transaction's raw amount. currency_code: type: string title: currency_code description: The transaction's currency code. reference: type: string title: reference description: The transaction's reference. reference_id: type: string title: reference_id description: The transaction's reference id. created_at: type: string format: date-time title: created_at description: The transaction's created at. updated_at: type: string format: date-time title: updated_at description: The transaction's updated at. metadata: type: object description: The transaction's metadata. RefundReasonResponse: type: object description: SUMMARY x-schemaName: RefundReasonResponse required: - refund_reason properties: refund_reason: $ref: '#/components/schemas/AdminRefundReason' ReservationResponse: type: object description: The reservation's details. x-schemaName: ReservationResponse required: - id - line_item_id - location_id - quantity - external_id - description - inventory_item_id - inventory_item properties: id: type: string title: id description: The reservation's ID. line_item_id: type: string title: line_item_id description: The reservation's line item id. location_id: type: string title: location_id description: The reservation's location id. quantity: type: string title: quantity description: The reservation's quantity. external_id: type: string title: external_id description: The reservation's external id. description: type: string title: description description: The reservation's description. inventory_item_id: type: string title: inventory_item_id description: The reservation's inventory item id. inventory_item: type: object description: The reservation's inventory item. metadata: type: object description: The reservation's metadata. created_by: type: string title: created_by description: The reservation's created by. deleted_at: type: string format: date-time title: deleted_at description: The reservation's deleted at. created_at: type: string format: date-time title: created_at description: The reservation's created at. updated_at: type: string format: date-time title: updated_at description: The reservation's updated at. Return: type: object description: The order change's return order. x-schemaName: Return StoreAddCartLineItem: type: object description: SUMMARY x-schemaName: StoreAddCartLineItem required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The cart's variant id. quantity: type: number title: quantity description: The cart's quantity. metadata: type: object description: The cart's metadata. StoreCalculateCartTaxes: type: object description: SUMMARY x-schemaName: StoreCalculateCartTaxes properties: fields: type: string title: fields description: The cart's fields. StoreCart: type: object description: The cart's parent. x-schemaName: StoreCart required: - id - currency_code - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: id: type: string title: id description: The parent's ID. region: $ref: '#/components/schemas/BaseRegion' region_id: type: string title: region_id description: The parent's region id. customer_id: type: string title: customer_id description: The parent's customer id. sales_channel_id: type: string title: sales_channel_id description: The parent's sales channel id. email: type: string title: email description: The parent's email. format: email currency_code: type: string title: currency_code description: The parent's currency code. shipping_address: $ref: '#/components/schemas/BaseCartAddress' billing_address: $ref: '#/components/schemas/BaseCartAddress' items: type: array description: The parent's items. items: $ref: '#/components/schemas/BaseCartLineItem' shipping_methods: type: array description: The parent's shipping methods. items: $ref: '#/components/schemas/BaseCartShippingMethod' payment_collection: $ref: '#/components/schemas/BasePaymentCollection' metadata: type: object description: The parent's metadata. created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. original_item_total: oneOf: - type: string title: original_item_total description: The parent's original item total. - type: number title: original_item_total description: The parent's original item total. - type: string title: original_item_total description: The parent's original item total. - $ref: '#/components/schemas/IBigNumber' original_item_subtotal: oneOf: - type: string title: original_item_subtotal description: The parent's original item subtotal. - type: number title: original_item_subtotal description: The parent's original item subtotal. - type: string title: original_item_subtotal description: The parent's original item subtotal. - $ref: '#/components/schemas/IBigNumber' original_item_tax_total: oneOf: - type: string title: original_item_tax_total description: The parent's original item tax total. - type: number title: original_item_tax_total description: The parent's original item tax total. - type: string title: original_item_tax_total description: The parent's original item tax total. - $ref: '#/components/schemas/IBigNumber' item_total: oneOf: - type: string title: item_total description: The parent's item total. - type: number title: item_total description: The parent's item total. - type: string title: item_total description: The parent's item total. - $ref: '#/components/schemas/IBigNumber' item_subtotal: oneOf: - type: string title: item_subtotal description: The parent's item subtotal. - type: number title: item_subtotal description: The parent's item subtotal. - type: string title: item_subtotal description: The parent's item subtotal. - $ref: '#/components/schemas/IBigNumber' item_tax_total: oneOf: - type: string title: item_tax_total description: The parent's item tax total. - type: number title: item_tax_total description: The parent's item tax total. - type: string title: item_tax_total description: The parent's item tax total. - $ref: '#/components/schemas/IBigNumber' original_total: oneOf: - type: string title: original_total description: The parent's original total. - type: number title: original_total description: The parent's original total. - type: string title: original_total description: The parent's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The parent's original subtotal. - type: number title: original_subtotal description: The parent's original subtotal. - type: string title: original_subtotal description: The parent's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The parent's original tax total. - type: number title: original_tax_total description: The parent's original tax total. - type: string title: original_tax_total description: The parent's original tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The parent's total. - type: number title: total description: The parent's total. - type: string title: total description: The parent's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The parent's subtotal. - type: number title: subtotal description: The parent's subtotal. - type: string title: subtotal description: The parent's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The parent's tax total. - type: number title: tax_total description: The parent's tax total. - type: string title: tax_total description: The parent's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The parent's discount total. - type: number title: discount_total description: The parent's discount total. - type: string title: discount_total description: The parent's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The parent's discount tax total. - type: number title: discount_tax_total description: The parent's discount tax total. - type: string title: discount_tax_total description: The parent's discount tax total. - $ref: '#/components/schemas/IBigNumber' gift_card_total: oneOf: - type: string title: gift_card_total description: The parent's gift card total. - type: number title: gift_card_total description: The parent's gift card total. - type: string title: gift_card_total description: The parent's gift card total. - $ref: '#/components/schemas/IBigNumber' gift_card_tax_total: oneOf: - type: string title: gift_card_tax_total description: The parent's gift card tax total. - type: number title: gift_card_tax_total description: The parent's gift card tax total. - type: string title: gift_card_tax_total description: The parent's gift card tax total. - $ref: '#/components/schemas/IBigNumber' shipping_total: oneOf: - type: string title: shipping_total description: The parent's shipping total. - type: number title: shipping_total description: The parent's shipping total. - type: string title: shipping_total description: The parent's shipping total. - $ref: '#/components/schemas/IBigNumber' shipping_subtotal: oneOf: - type: string title: shipping_subtotal description: The parent's shipping subtotal. - type: number title: shipping_subtotal description: The parent's shipping subtotal. - type: string title: shipping_subtotal description: The parent's shipping subtotal. - $ref: '#/components/schemas/IBigNumber' shipping_tax_total: oneOf: - type: string title: shipping_tax_total description: The parent's shipping tax total. - type: number title: shipping_tax_total description: The parent's shipping tax total. - type: string title: shipping_tax_total description: The parent's shipping tax total. - $ref: '#/components/schemas/IBigNumber' original_shipping_total: oneOf: - type: string title: original_shipping_total description: The parent's original shipping total. - type: number title: original_shipping_total description: The parent's original shipping total. - type: string title: original_shipping_total description: The parent's original shipping total. - $ref: '#/components/schemas/IBigNumber' original_shipping_subtotal: oneOf: - type: string title: original_shipping_subtotal description: The parent's original shipping subtotal. - type: number title: original_shipping_subtotal description: The parent's original shipping subtotal. - type: string title: original_shipping_subtotal description: The parent's original shipping subtotal. - $ref: '#/components/schemas/IBigNumber' original_shipping_tax_total: oneOf: - type: string title: original_shipping_tax_total description: The parent's original shipping tax total. - type: number title: original_shipping_tax_total description: The parent's original shipping tax total. - type: string title: original_shipping_tax_total description: The parent's original shipping tax total. - $ref: '#/components/schemas/IBigNumber' StoreCartAddress: type: object description: The cart's billing address. x-schemaName: StoreCartAddress required: - id - created_at - updated_at properties: id: type: string title: id description: The billing address's ID. customer_id: type: string title: customer_id description: The billing address's customer id. first_name: type: string title: first_name description: The billing address's first name. last_name: type: string title: last_name description: The billing address's last name. phone: type: string title: phone description: The billing address's phone. company: type: string title: company description: The billing address's company. address_1: type: string title: address_1 description: The billing address's address 1. address_2: type: string title: address_2 description: The billing address's address 2. city: type: string title: city description: The billing address's city. country_code: type: string title: country_code description: The billing address's country code. province: type: string title: province description: The billing address's province. postal_code: type: string title: postal_code description: The billing address's postal code. metadata: type: object description: The billing address's metadata. created_at: oneOf: - type: string title: created_at description: The billing address's created at. - type: string title: created_at description: The billing address's created at. format: date-time updated_at: oneOf: - type: string title: updated_at description: The billing address's updated at. - type: string title: updated_at description: The billing address's updated at. format: date-time StoreCartLineItem: type: object description: The item's items. x-schemaName: StoreCartLineItem required: - id - title - quantity - requires_shipping - is_discountable - is_tax_inclusive - unit_price - cart - cart_id - original_total - original_subtotal - original_tax_total - item_total - item_subtotal - item_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total properties: id: type: string title: id description: The item's ID. title: type: string title: title description: The item's title. subtitle: type: string title: subtitle description: The item's subtitle. thumbnail: type: string title: thumbnail description: The item's thumbnail. quantity: oneOf: - type: string title: quantity description: The item's quantity. - type: number title: quantity description: The item's quantity. - type: string title: quantity description: The item's quantity. - $ref: '#/components/schemas/IBigNumber' product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The item's product id. product_title: type: string title: product_title description: The item's product title. product_description: type: string title: product_description description: The item's product description. product_subtitle: type: string title: product_subtitle description: The item's product subtitle. product_type: type: string title: product_type description: The item's product type. product_collection: type: string title: product_collection description: The item's product collection. product_handle: type: string title: product_handle description: The item's product handle. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The item's variant id. variant_sku: type: string title: variant_sku description: The item's variant sku. variant_barcode: type: string title: variant_barcode description: The item's variant barcode. variant_title: type: string title: variant_title description: The item's variant title. variant_option_values: type: object description: The item's variant option values. requires_shipping: type: boolean title: requires_shipping description: The item's requires shipping. is_discountable: type: boolean title: is_discountable description: The item's is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The item's is tax inclusive. compare_at_unit_price: oneOf: - type: string title: compare_at_unit_price description: The item's compare at unit price. - type: number title: compare_at_unit_price description: The item's compare at unit price. - type: string title: compare_at_unit_price description: The item's compare at unit price. - $ref: '#/components/schemas/IBigNumber' unit_price: oneOf: - type: string title: unit_price description: The item's unit price. - type: number title: unit_price description: The item's unit price. - type: string title: unit_price description: The item's unit price. - $ref: '#/components/schemas/IBigNumber' tax_lines: type: array description: The item's tax lines. items: $ref: '#/components/schemas/BaseLineItemTaxLine' adjustments: type: array description: The item's adjustments. items: $ref: '#/components/schemas/BaseLineItemAdjustment' cart: $ref: '#/components/schemas/BaseCart' cart_id: type: string title: cart_id description: The item's cart id. metadata: type: object description: The item's metadata. created_at: type: string title: created_at description: The item's created at. format: date-time updated_at: type: string title: updated_at description: The item's updated at. format: date-time deleted_at: type: string title: deleted_at description: The item's deleted at. format: date-time original_total: oneOf: - type: string title: original_total description: The item's original total. - type: number title: original_total description: The item's original total. - type: string title: original_total description: The item's original total. - $ref: '#/components/schemas/IBigNumber' original_subtotal: oneOf: - type: string title: original_subtotal description: The item's original subtotal. - type: number title: original_subtotal description: The item's original subtotal. - type: string title: original_subtotal description: The item's original subtotal. - $ref: '#/components/schemas/IBigNumber' original_tax_total: oneOf: - type: string title: original_tax_total description: The item's original tax total. - type: number title: original_tax_total description: The item's original tax total. - type: string title: original_tax_total description: The item's original tax total. - $ref: '#/components/schemas/IBigNumber' item_total: oneOf: - type: string title: item_total description: The item's item total. - type: number title: item_total description: The item's item total. - type: string title: item_total description: The item's item total. - $ref: '#/components/schemas/IBigNumber' item_subtotal: oneOf: - type: string title: item_subtotal description: The item's item subtotal. - type: number title: item_subtotal description: The item's item subtotal. - type: string title: item_subtotal description: The item's item subtotal. - $ref: '#/components/schemas/IBigNumber' item_tax_total: oneOf: - type: string title: item_tax_total description: The item's item tax total. - type: number title: item_tax_total description: The item's item tax total. - type: string title: item_tax_total description: The item's item tax total. - $ref: '#/components/schemas/IBigNumber' total: oneOf: - type: string title: total description: The item's total. - type: number title: total description: The item's total. - type: string title: total description: The item's total. - $ref: '#/components/schemas/IBigNumber' subtotal: oneOf: - type: string title: subtotal description: The item's subtotal. - type: number title: subtotal description: The item's subtotal. - type: string title: subtotal description: The item's subtotal. - $ref: '#/components/schemas/IBigNumber' tax_total: oneOf: - type: string title: tax_total description: The item's tax total. - type: number title: tax_total description: The item's tax total. - type: string title: tax_total description: The item's tax total. - $ref: '#/components/schemas/IBigNumber' discount_total: oneOf: - type: string title: discount_total description: The item's discount total. - type: number title: discount_total description: The item's discount total. - type: string title: discount_total description: The item's discount total. - $ref: '#/components/schemas/IBigNumber' discount_tax_total: oneOf: - type: string title: discount_tax_total description: The item's discount tax total. - type: number title: discount_tax_total description: The item's discount tax total. - type: string title: discount_tax_total description: The item's discount tax total. - $ref: '#/components/schemas/IBigNumber' StoreCartResponse: type: object description: SUMMARY x-schemaName: StoreCartResponse required: - cart properties: cart: $ref: '#/components/schemas/StoreCart' StoreCollection: type: object description: The collection's details. x-schemaName: StoreCollection required: - id - title - handle - created_at - updated_at - deleted_at - metadata properties: id: type: string title: id description: The collection's ID. title: type: string title: title description: The collection's title. handle: type: string title: handle description: The collection's handle. created_at: type: string format: date-time title: created_at description: The collection's created at. updated_at: type: string format: date-time title: updated_at description: The collection's updated at. deleted_at: type: string format: date-time title: deleted_at description: The collection's deleted at. products: type: array description: The collection's products. items: $ref: '#/components/schemas/AdminProduct' metadata: type: object description: The collection's metadata. StoreCollectionResponse: type: object description: SUMMARY x-schemaName: StoreCollectionResponse required: - collection properties: collection: $ref: '#/components/schemas/StoreCollection' StoreCreateCustomer: type: object description: SUMMARY x-schemaName: StoreCreateCustomer required: - email properties: email: type: string title: email description: The customer's email. format: email company_name: type: string title: company_name description: The customer's company name. first_name: type: string title: first_name description: The customer's first name. last_name: type: string title: last_name description: The customer's last name. phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata. StoreCreatePaymentCollection: type: object description: SUMMARY x-schemaName: StoreCreatePaymentCollection required: - cart_id properties: cart_id: type: string title: cart_id description: The payment collection's cart id. StoreCreateReturn: type: object description: SUMMARY x-schemaName: StoreCreateReturn required: - order_id - items - return_shipping properties: order_id: type: string title: order_id description: The return's order id. items: type: array description: The return's items. items: $ref: '#/components/schemas/StoreCreateReturnItem' return_shipping: $ref: '#/components/schemas/StoreCreateReturnShipping' note: type: string title: note description: The return's note. receive_now: type: boolean title: receive_now description: The return's receive now. location_id: type: string title: location_id description: The return's location id. StoreCreateReturnItem: type: object description: The item's items. x-schemaName: StoreCreateReturnItem required: - id - quantity properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. reason_id: type: string title: reason_id description: The item's reason id. note: type: string title: note description: The item's note. StoreCreateReturnShipping: type: object description: The return's return shipping. x-schemaName: StoreCreateReturnShipping required: - option_id properties: option_id: type: string title: option_id description: The return shipping's option id. price: type: number title: price description: The return shipping's price. StoreCurrency: type: object description: The currency's details. x-schemaName: StoreCurrency required: - code - symbol - symbol_native - name - decimal_digits - rounding - raw_rounding - created_at - updated_at - deleted_at properties: code: type: string title: code description: The currency's code. symbol: type: string title: symbol description: The currency's symbol. symbol_native: type: string title: symbol_native description: The currency's symbol native. name: type: string title: name description: The currency's name. decimal_digits: type: number title: decimal_digits description: The currency's decimal digits. rounding: type: number title: rounding description: The currency's rounding. raw_rounding: type: object description: The currency's raw rounding. required: - value - precision properties: value: type: string title: value description: The raw rounding's value. precision: type: number title: precision description: The raw rounding's precision. created_at: type: string format: date-time title: created_at description: The currency's created at. updated_at: type: string format: date-time title: updated_at description: The currency's updated at. deleted_at: type: string format: date-time title: deleted_at description: The currency's deleted at. StoreCurrencyListResponse: type: object description: SUMMARY x-schemaName: StoreCurrencyListResponse required: - limit - offset - count - currencies properties: limit: type: number title: limit description: The currency's limit. offset: type: number title: offset description: The currency's offset. count: type: number title: count description: The currency's count. currencies: type: array description: The currency's currencies. items: $ref: '#/components/schemas/StoreCurrency' StoreCurrencyResponse: type: object description: SUMMARY x-schemaName: StoreCurrencyResponse required: - currency properties: currency: $ref: '#/components/schemas/StoreCurrency' StoreCustomer: type: object description: The customer's parent. x-schemaName: StoreCustomer required: - id - email - default_billing_address_id - default_shipping_address_id - company_name - first_name - last_name - addresses properties: id: type: string title: id description: The parent's ID. email: type: string title: email description: The parent's email. format: email default_billing_address_id: type: string title: default_billing_address_id description: The parent's default billing address id. default_shipping_address_id: type: string title: default_shipping_address_id description: The parent's default shipping address id. company_name: type: string title: company_name description: The parent's company name. first_name: type: string title: first_name description: The parent's first name. last_name: type: string title: last_name description: The parent's last name. addresses: type: array description: The parent's addresses. items: $ref: '#/components/schemas/BaseCustomerAddress' phone: type: string title: phone description: The parent's phone. metadata: type: object description: The parent's metadata. created_by: type: string title: created_by description: The parent's created by. deleted_at: type: string format: date-time title: deleted_at description: The parent's deleted at. created_at: type: string format: date-time title: created_at description: The parent's created at. updated_at: type: string format: date-time title: updated_at description: The parent's updated at. StoreCustomerAddress: type: object description: The customer's address. x-schemaName: StoreCustomerAddress required: - id - address_name - is_default_shipping - is_default_billing - customer_id - company - first_name - last_name - address_1 - address_2 - city - country_code - province - postal_code - phone - metadata - created_at - updated_at properties: id: type: string title: id description: The address's ID. address_name: type: string title: address_name description: The address's address name. is_default_shipping: type: boolean title: is_default_shipping description: The address's is default shipping. is_default_billing: type: boolean title: is_default_billing description: The address's is default billing. customer_id: type: string title: customer_id description: The address's customer id. company: type: string title: company description: The address's company. first_name: type: string title: first_name description: The address's first name. last_name: type: string title: last_name description: The address's last name. address_1: type: string title: address_1 description: The address's address 1. address_2: type: string title: address_2 description: The address's address 2. city: type: string title: city description: The address's city. country_code: type: string title: country_code description: The address's country code. province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. phone: type: string title: phone description: The address's phone. metadata: type: object description: The address's metadata. created_at: type: string format: date-time title: created_at description: The address's created at. updated_at: type: string format: date-time title: updated_at description: The address's updated at. StoreCustomerAddressListResponse: type: object description: SUMMARY x-schemaName: StoreCustomerAddressListResponse required: - limit - offset - count - addresses properties: limit: type: number title: limit description: The customer's limit. offset: type: number title: offset description: The customer's offset. count: type: number title: count description: The customer's count. addresses: type: array description: The customer's addresses. items: $ref: '#/components/schemas/StoreCustomerAddress' StoreCustomerAddressResponse: type: object description: SUMMARY x-schemaName: StoreCustomerAddressResponse required: - address properties: address: $ref: '#/components/schemas/StoreCustomerAddress' StoreCustomerResponse: type: object description: SUMMARY x-schemaName: StoreCustomerResponse required: - customer properties: customer: $ref: '#/components/schemas/StoreCustomer' StoreOrder: type: object description: The cart's order. x-schemaName: StoreOrder required: - id - version - region_id - customer_id - sales_channel_id - email - currency_code - items - shipping_methods - payment_status - fulfillment_status - summary - metadata - created_at - updated_at - original_item_total - original_item_subtotal - original_item_tax_total - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - gift_card_total - gift_card_tax_total - shipping_total - shipping_subtotal - shipping_tax_total - original_shipping_total - original_shipping_subtotal - original_shipping_tax_total properties: id: type: string title: id description: The order's ID. version: type: number title: version description: The order's version. region_id: type: string title: region_id description: The order's region id. customer_id: type: string title: customer_id description: The order's customer id. sales_channel_id: type: string title: sales_channel_id description: The order's sales channel id. email: type: string title: email description: The order's email. format: email currency_code: type: string title: currency_code description: The order's currency code. display_id: type: number title: display_id description: The order's display id. shipping_address: $ref: '#/components/schemas/BaseOrderAddress' billing_address: $ref: '#/components/schemas/BaseOrderAddress' items: type: array description: The order's items. items: $ref: '#/components/schemas/BaseOrderLineItem' shipping_methods: type: array description: The order's shipping methods. items: $ref: '#/components/schemas/BaseOrderShippingMethod' payment_collections: type: array description: The order's payment collections. items: $ref: '#/components/schemas/BasePaymentCollection' payment_status: type: string description: The order's payment status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized - captured - partially_captured - partially_refunded - refunded - requires_action fulfillments: type: array description: The order's fulfillments. items: $ref: '#/components/schemas/BaseOrderFulfillment' fulfillment_status: type: string description: The order's fulfillment status. enum: - canceled - not_fulfilled - partially_fulfilled - fulfilled - partially_shipped - shipped - partially_delivered - delivered transactions: type: array description: The order's transactions. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The order's metadata. created_at: type: string format: date-time title: created_at description: The order's created at. updated_at: type: string format: date-time title: updated_at description: The order's updated at. original_item_total: type: number title: original_item_total description: The order's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The order's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The order's original item tax total. item_total: type: number title: item_total description: The order's item total. item_subtotal: type: number title: item_subtotal description: The order's item subtotal. item_tax_total: type: number title: item_tax_total description: The order's item tax total. original_total: type: number title: original_total description: The order's original total. original_subtotal: type: number title: original_subtotal description: The order's original subtotal. original_tax_total: type: number title: original_tax_total description: The order's original tax total. total: type: number title: total description: The order's total. subtotal: type: number title: subtotal description: The order's subtotal. tax_total: type: number title: tax_total description: The order's tax total. discount_total: type: number title: discount_total description: The order's discount total. discount_tax_total: type: number title: discount_tax_total description: The order's discount tax total. gift_card_total: type: number title: gift_card_total description: The order's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The order's gift card tax total. shipping_total: type: number title: shipping_total description: The order's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The order's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The order's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The order's original shipping tax total. StoreOrderResponse: type: object description: SUMMARY x-schemaName: StoreOrderResponse required: - order properties: order: $ref: '#/components/schemas/StoreOrder' StorePaymentCollection: type: object description: The payment collection's details. x-schemaName: StorePaymentCollection required: - id - currency_code - region_id - amount - status - payment_providers properties: id: type: string title: id description: The payment collection's ID. currency_code: type: string title: currency_code description: The payment collection's currency code. region_id: type: string title: region_id description: The payment collection's region id. amount: oneOf: - type: string title: amount description: The payment collection's amount. - type: number title: amount description: The payment collection's amount. - type: string title: amount description: The payment collection's amount. - $ref: '#/components/schemas/IBigNumber' authorized_amount: oneOf: - type: string title: authorized_amount description: The payment collection's authorized amount. - type: number title: authorized_amount description: The payment collection's authorized amount. - type: string title: authorized_amount description: The payment collection's authorized amount. - $ref: '#/components/schemas/IBigNumber' captured_amount: oneOf: - type: string title: captured_amount description: The payment collection's captured amount. - type: number title: captured_amount description: The payment collection's captured amount. - type: string title: captured_amount description: The payment collection's captured amount. - $ref: '#/components/schemas/IBigNumber' refunded_amount: oneOf: - type: string title: refunded_amount description: The payment collection's refunded amount. - type: number title: refunded_amount description: The payment collection's refunded amount. - type: string title: refunded_amount description: The payment collection's refunded amount. - $ref: '#/components/schemas/IBigNumber' completed_at: oneOf: - type: string title: completed_at description: The payment collection's completed at. - type: string title: completed_at description: The payment collection's completed at. format: date-time created_at: type: string format: date-time title: created_at description: The payment collection's created at. updated_at: type: string format: date-time title: updated_at description: The payment collection's updated at. metadata: type: object description: The payment collection's metadata. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment collection's payment providers. items: $ref: '#/components/schemas/BasePaymentProvider' payment_sessions: type: array description: The payment collection's payment sessions. items: $ref: '#/components/schemas/BasePaymentSession' payments: type: array description: The payment collection's payments. items: $ref: '#/components/schemas/BasePayment' StorePaymentCollectionResponse: type: object description: SUMMARY x-schemaName: StorePaymentCollectionResponse required: - payment_collection properties: payment_collection: $ref: '#/components/schemas/StorePaymentCollection' StorePaymentProvider: type: object description: The payment provider's payment providers. x-schemaName: StorePaymentProvider required: - id properties: id: type: string title: id description: The payment provider's ID. StoreProduct: type: object description: The product's details. x-schemaName: StoreProduct required: - length - title - status - options - description - id - created_at - updated_at - variants - handle - subtitle - is_giftcard - thumbnail - width - weight - height - origin_country - hs_code - mid_code - material - collection_id - type_id - images - discountable - external_id - deleted_at properties: categories: type: array description: The product's categories. items: type: object type: type: object length: type: number title: length description: The product's length. title: type: string title: title description: The product's title. status: type: string description: The product's status. enum: - draft - proposed - published - rejected options: type: array description: The product's options. items: $ref: '#/components/schemas/BaseProductOption' description: type: string title: description description: The product's description. id: type: string title: id description: The product's ID. metadata: type: object description: The product's metadata. created_at: type: string format: date-time title: created_at description: The product's created at. updated_at: type: string format: date-time title: updated_at description: The product's updated at. variants: type: array description: The product's variants. items: $ref: '#/components/schemas/BaseProductVariant' handle: type: string title: handle description: The product's handle. subtitle: type: string title: subtitle description: The product's subtitle. is_giftcard: type: boolean title: is_giftcard description: The product's is giftcard. thumbnail: type: string title: thumbnail description: The product's thumbnail. width: type: number title: width description: The product's width. weight: type: number title: weight description: The product's weight. height: type: number title: height description: The product's height. origin_country: type: string title: origin_country description: The product's origin country. hs_code: type: string title: hs_code description: The product's hs code. mid_code: type: string title: mid_code description: The product's mid code. material: type: string title: material description: The product's material. collection: $ref: '#/components/schemas/BaseCollection' collection_id: type: string title: collection_id description: The product's collection id. type_id: type: string title: type_id description: The product's type id. tags: type: array description: The product's tags. items: $ref: '#/components/schemas/BaseProductTag' images: type: array description: The product's images. items: $ref: '#/components/schemas/BaseProductImage' discountable: type: boolean title: discountable description: The product's discountable. external_id: type: string title: external_id description: The product's external id. deleted_at: type: string format: date-time title: deleted_at description: The product's deleted at. StoreProductCategory: type: object description: The category's categories. x-schemaName: StoreProductCategory required: - id - name - description - handle - is_active - is_internal - rank - parent_category_id - parent_category - category_children - created_at - updated_at - deleted_at properties: products: type: array description: The category's products. items: $ref: '#/components/schemas/StoreProduct' id: type: string title: id description: The category's ID. name: type: string title: name description: The category's name. description: type: string title: description description: The category's description. handle: type: string title: handle description: The category's handle. is_active: type: boolean title: is_active description: The category's is active. is_internal: type: boolean title: is_internal description: The category's is internal. rank: type: number title: rank description: The category's rank. parent_category_id: type: string title: parent_category_id description: The category's parent category id. parent_category: $ref: '#/components/schemas/BaseProductCategory' category_children: type: array description: The category's category children. items: $ref: '#/components/schemas/BaseProductCategory' metadata: type: object description: The category's metadata. created_at: type: string format: date-time title: created_at description: The category's created at. updated_at: type: string format: date-time title: updated_at description: The category's updated at. deleted_at: type: string format: date-time title: deleted_at description: The category's deleted at. StoreProductCategoryListResponse: type: object description: SUMMARY x-schemaName: StoreProductCategoryListResponse required: - limit - offset - count - product_categories properties: limit: type: number title: limit description: The product category's limit. offset: type: number title: offset description: The product category's offset. count: type: number title: count description: The product category's count. product_categories: type: array description: The product category's product categories. items: $ref: '#/components/schemas/StoreProductCategory' StoreProductCategoryResponse: type: object description: SUMMARY x-schemaName: StoreProductCategoryResponse required: - product_category properties: product_category: $ref: '#/components/schemas/StoreProductCategory' StoreProductResponse: type: object description: SUMMARY x-schemaName: StoreProductResponse required: - product properties: product: $ref: '#/components/schemas/StoreProduct' StoreProductVariantParams: type: object description: The product's variants. x-schemaName: StoreProductVariantParams properties: q: type: string title: q description: The variant's q. id: oneOf: - type: string title: id description: The variant's ID. - type: array description: The variant's ID. items: type: string title: id description: The id's ID. sku: oneOf: - type: string title: sku description: The variant's sku. - type: array description: The variant's sku. items: type: string title: sku description: The sku's details. product_id: oneOf: - type: string title: product_id description: The variant's product id. - type: array description: The variant's product id. items: type: string title: product_id description: The product id's details. options: type: object description: The variant's options. limit: type: number title: limit description: The variant's limit. offset: type: number title: offset description: The variant's offset. order: type: string title: order description: The variant's order. fields: type: string title: fields description: The variant's fields. $and: type: array description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters. items: type: object title: $and $or: type: array description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters. items: type: object title: $or StoreRegion: type: object description: The region's details. x-schemaName: StoreRegion required: - id - name - currency_code properties: id: type: string title: id description: The region's ID. name: type: string title: name description: The region's name. currency_code: type: string title: currency_code description: The region's currency code. automatic_taxes: type: boolean title: automatic_taxes description: The region's automatic taxes. countries: type: array description: The region's countries. items: $ref: '#/components/schemas/BaseRegionCountry' payment_providers: type: array description: The region's payment providers. items: $ref: '#/components/schemas/AdminPaymentProvider' metadata: type: object description: The region's metadata. created_at: type: string format: date-time title: created_at description: The region's created at. updated_at: type: string format: date-time title: updated_at description: The region's updated at. StoreReturn: type: object description: The return's details. x-schemaName: StoreReturn required: - id - order_id - order_version - display_id - items - received_at - created_at - canceled_at properties: id: type: string title: id description: The return's ID. order_id: type: string title: order_id description: The return's order id. status: type: string title: status description: The return's status. exchange_id: type: string title: exchange_id description: The return's exchange id. location_id: type: string title: location_id description: The return's location id. claim_id: type: string title: claim_id description: The return's claim id. order_version: type: number title: order_version description: The return's order version. display_id: type: number title: display_id description: The return's display id. no_notification: type: boolean title: no_notification description: The return's no notification. refund_amount: type: number title: refund_amount description: The return's refund amount. items: type: array description: The return's items. items: $ref: '#/components/schemas/BaseReturnItem' received_at: type: string title: received_at description: The return's received at. created_at: type: string format: date-time title: created_at description: The return's created at. canceled_at: type: string title: canceled_at description: The return's canceled at. StoreReturnReason: type: object description: The return reason's details. x-schemaName: StoreReturnReason required: - id - value - label - created_at - updated_at properties: id: type: string title: id description: The return reason's ID. value: type: string title: value description: The return reason's value. label: type: string title: label description: The return reason's label. description: type: string title: description description: The return reason's description. metadata: type: object description: The return reason's metadata. created_at: type: string format: date-time title: created_at description: The return reason's created at. updated_at: type: string format: date-time title: updated_at description: The return reason's updated at. StoreReturnReasonResponse: type: object description: SUMMARY x-schemaName: StoreReturnReasonResponse required: - return_reason properties: return_reason: $ref: '#/components/schemas/StoreReturnReason' StoreReturnResponse: type: object description: SUMMARY x-schemaName: StoreReturnResponse required: - return properties: return: $ref: '#/components/schemas/StoreReturn' StoreShippingOption: type: object description: The shipping option's shipping options. x-schemaName: StoreShippingOption required: - id - name - price_type - service_zone_id - provider_id - provider - shipping_option_type_id - type - shipping_profile_id - amount - is_tax_inclusive - data - metadata properties: id: type: string title: id description: The shipping option's ID. name: type: string title: name description: The shipping option's name. price_type: type: string description: The shipping option's price type. enum: - flat - calculated service_zone_id: type: string title: service_zone_id description: The shipping option's service zone id. provider_id: type: string title: provider_id description: The shipping option's provider id. provider: $ref: '#/components/schemas/BaseFulfillmentProvider' shipping_option_type_id: type: string title: shipping_option_type_id description: The shipping option's shipping option type id. type: type: object shipping_profile_id: type: string title: shipping_profile_id description: The shipping option's shipping profile id. amount: type: number title: amount description: The shipping option's amount. is_tax_inclusive: type: boolean title: is_tax_inclusive description: The shipping option's is tax inclusive. data: type: object description: The shipping option's data. metadata: type: object description: The shipping option's metadata. StoreShippingOptionListResponse: type: object description: SUMMARY x-schemaName: StoreShippingOptionListResponse required: - shipping_options properties: shipping_options: type: array description: The shipping option's shipping options. items: $ref: '#/components/schemas/StoreShippingOption' StoreUpdateCartLineItem: type: object description: SUMMARY x-schemaName: StoreUpdateCartLineItem required: - quantity properties: quantity: type: number title: quantity description: The cart's quantity. metadata: type: object description: The cart's metadata. StoreUpdateCustomer: type: object description: SUMMARY x-schemaName: StoreUpdateCustomer properties: company_name: type: string title: company_name description: The customer's company name. first_name: type: string title: first_name description: The customer's first name. last_name: type: string title: last_name description: The customer's last name. phone: type: string title: phone description: The customer's phone. UpdateAddress: type: object description: The cart's shipping address. x-schemaName: UpdateAddress required: - id properties: id: type: string title: id description: The shipping address's ID. customer_id: type: string title: customer_id description: The shipping address's customer id. company: type: string title: company description: The shipping address's company. first_name: type: string title: first_name description: The shipping address's first name. last_name: type: string title: last_name description: The shipping address's last name. address_1: type: string title: address_1 description: The shipping address's address 1. address_2: type: string title: address_2 description: The shipping address's address 2. city: type: string title: city description: The shipping address's city. country_code: type: string title: country_code description: The shipping address's country code. province: type: string title: province description: The shipping address's province. postal_code: type: string title: postal_code description: The shipping address's postal code. phone: type: string title: phone description: The shipping address's phone. metadata: type: object description: The shipping address's metadata. UpdateCartData: type: object description: SUMMARY x-schemaName: UpdateCartData properties: region_id: type: string title: region_id description: The cart's region id. customer_id: type: string title: customer_id description: The cart's customer id. sales_channel_id: type: string title: sales_channel_id description: The cart's sales channel id. email: type: string title: email description: The cart's email. format: email currency_code: type: string title: currency_code description: The cart's currency code. shipping_address_id: type: string title: shipping_address_id description: The cart's shipping address id. billing_address_id: type: string title: billing_address_id description: The cart's billing address id. billing_address: oneOf: - $ref: '#/components/schemas/CreateAddress' - $ref: '#/components/schemas/UpdateAddress' shipping_address: oneOf: - $ref: '#/components/schemas/CreateAddress' - $ref: '#/components/schemas/UpdateAddress' metadata: type: object description: The cart's metadata. UpdateOrderReturnReason: type: object description: SUMMARY x-schemaName: UpdateOrderReturnReason properties: id: type: string title: id description: The return reason's ID. label: type: string title: label description: The return reason's label. value: type: string title: value description: The return reason's value. description: type: string title: description description: The return reason's description. metadata: type: object description: The return reason's metadata. WorkflowExecutionContext: type: object description: The workflow execution's context. x-schemaName: WorkflowExecutionContext required: - compensate - errors properties: data: type: object description: The context's data. compensate: type: object description: The context's compensate. errors: type: array description: The context's errors. items: type: object description: The error's errors. responses: default_error: description: Default Error content: application/json: schema: $ref: '#/components/schemas/Error' example: code: unknown_error message: An unknown error occurred. type: unknown_error invalid_state_error: description: Invalid State Error content: application/json: schema: $ref: '#/components/schemas/Error' example: code: unknown_error message: The request conflicted with another request. You may retry the request with the provided Idempotency-Key. type: QueryRunnerAlreadyReleasedError invalid_request_error: description: Invalid Request Error content: application/json: schema: $ref: '#/components/schemas/Error' example: code: invalid_request_error message: Discount with code TEST already exists. type: duplicate_error not_found_error: description: Not Found Error content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Entity with id 1 was not found type: not_found 400_error: description: Client Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: not_allowed: $ref: '#/components/examples/not_allowed_error' invalid_data: $ref: '#/components/examples/invalid_data_error' 500_error: description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: database: $ref: '#/components/examples/database_error' unexpected_state: $ref: '#/components/examples/unexpected_state_error' invalid_argument: $ref: '#/components/examples/invalid_argument_error' default_error: $ref: '#/components/examples/default_error' unauthorized: description: User is not authorized. Must log in first content: text/plain: schema: type: string default: Unauthorized example: Unauthorized incorrect_credentials: description: User does not exist or incorrect credentials content: text/plain: schema: type: string default: Unauthorized example: Unauthorized examples: not_allowed_error: summary: Not Allowed Error value: message: Discount must be set to dynamic type: not_allowed invalid_data_error: summary: Invalid Data Error value: message: first_name must be a string type: invalid_data multiple_errors: summary: Multiple Errors value: message: Provided request body contains errors. Please check the data and retry the request errors: - message: first_name must be a string type: invalid_data - message: Discount must be set to dynamic type: not_allowed database_error: summary: Database Error value: code: api_error message: An error occured while hashing password type: database_error unexpected_state_error: summary: Unexpected State Error value: message: cart.total must be defined type: unexpected_state invalid_argument_error: summary: Invalid Argument Error value: message: cart.total must be defined type: unexpected_state default_error: summary: Default Error value: code: unknown_error message: An unknown error occurred. type: unknown_error securitySchemes: api_token: type: apiKey x-displayName: API Token in: header name: x-medusa-access-token jwt_token: type: http x-displayName: JWT Token scheme: bearer cookie_auth: type: apiKey in: cookie name: connect.sid x-displayName: Cookie Session ID