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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 `-`. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/api-keys/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Api Keys responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/campaigns/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Campaigns responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/claims/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 ''Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/claims/{id}/request' \ -H 'Authorization: Bearer {access_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' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/collections/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/currencies/{code}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of customer groups. 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 retrieving the returned items. count: type: number title: count description: The total number of items - type: object description: The paginated list of customer groups. required: - customer_groups properties: customer_groups: type: array description: The list of 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customer-groups/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Customer Groups responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Customers responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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: removeCustomerAccountWorkflow /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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/customers/{id}/addresses/{address_id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_token}''' tags: - Customers responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The deletion's details. 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: The deletion's details. properties: parent: $ref: '#/components/schemas/AdminCustomer' description: The deletion'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: 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Draft Orders responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of draft 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 retrieving the returned items. count: type: number title: count description: The total number of items. - type: object description: The paginated list of draft orders. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Exchanges responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of exchanges. 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 exchanges. required: - exchanges properties: exchanges: type: array description: The exchange's exchanges. items: $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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/exchanges/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 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 ''Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/exchanges/{id}/request' \ -H 'Authorization: Bearer {access_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 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 ''Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/fulfillments/{id}/cancel' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of inventory items. 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 inventory items. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/inventory-items/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of inventory levels. 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 inventory levels. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 ''Authorization: Bearer {access_token}''' tags: - Inventory Items responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The deletion's details. 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: The deletion's details. properties: parent: $ref: '#/components/schemas/AdminInventoryItem' description: The deletion'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: 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#select-fields-and-relations' 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. externalDocs: url: '#select-fields-and-relations' 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: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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' 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/notifications/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Order Edits responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/orders/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}' \ -H 'Authorization: Bearer {access_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' /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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/archive' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/cancel' \ -H 'Authorization: Bearer {access_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: 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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}/mark-as-delivered: post: operationId: PostOrdersIdFulfillmentsFulfillment_idMarkAsDelivered summary: Mark a Fulfillment as Delivered. x-sidebar-summary: Mark Delivered description: Mark an order's fulfillment as delivered. 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: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/orders/{id}/fulfillments/{fulfillment_id}/mark-as-delivered' \ -H 'Authorization: Bearer {access_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: markOrderFulfillmentAsDeliveredWorkflow /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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/payments/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-lists/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 - variant_id - 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. 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/price-preferences/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-tags/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateProductType' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/product-types' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/product-types/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Product Variants 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 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 product variants. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. - name: variants in: query description: Filter the retrieved products' variants. required: false schema: type: object description: Filter the retrieved products' variants. x-schemaName: AdminProductVariantParams properties: q: type: string title: q description: Search term to apply on the variant's searchable properties. id: 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. manage_inventory: type: boolean title: manage_inventory description: Filter by whether the Medusa application manages the variant's inventory. allow_backorder: type: boolean title: allow_backorder description: Filter by whether the variant can be ordered even if it's out of stock. created_at: type: object description: Filter by the 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`). updated_at: type: object description: The variant'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 variant'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`). limit: type: number title: limit description: Limit the number of items returned in the list. offset: type: number title: offset description: The number of items to skip when retrieving a list. order: 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 `-`. fields: 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. $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 security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/products/export' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/options/{option_id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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: - variant_id - inventory_item_id - required_quantity 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: - variant_id - inventory_item_id - required_quantity 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: - variant_id - inventory_item_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/products/{id}/variants/{variant_id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 Potential Rule Attributes description: | Retrieve a list of potential rule attributes for the promotion and application method types specified in the query parameters. Only the attributes of the rule type specified in the path parameter are retrieved: - If `rule_type` is `rules`, the attributes of the promotion's type are retrieved. - If `rule_type` is `target-rules`, the target rules' attributes of the application method's type are retrieved. - If `rule_type` is `buy-rules`, the buy rules' attributes of the application method's type are retrieved. 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 'Authorization: Bearer {access_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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Promotions responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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: $ref: '#/components/schemas/AdminCreatePromotionRule' update: type: array description: The buy rules to update. items: $ref: '#/components/schemas/AdminUpdatePromotionRule' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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: $ref: '#/components/schemas/AdminCreatePromotionRule' update: type: array description: The rules to update. items: $ref: '#/components/schemas/AdminUpdatePromotionRule' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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: $ref: '#/components/schemas/AdminCreatePromotionRule' update: type: array description: The target rules to update. items: $ref: '#/components/schemas/AdminUpdatePromotionRule' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/promotions/{id}/{rule_type}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of refund reasons. 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 refund reasons. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/refund-reasons/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Refund Reasons responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/regions/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Regions responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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/AdminReservation' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/reservations/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Reservations responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateReturnReason' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/return-reasons' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/return-reasons/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminUpdateReturnReason' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/return-reasons/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The paginated list of returns. 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 returns. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/returns/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Returns responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/sales-channels/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminCreateShippingOption' x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/shipping-options' \ -H 'Authorization: Bearer {access_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}: get: operationId: GetShippingOptionsId summary: Get a Shipping Option description: Retrieve a shipping option by its ID. You can expand the shipping option's relations or select the fields that should be returned. 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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/shipping-options/{id}' \ -H 'Authorization: Bearer {access_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' 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. externalDocs: url: '#select-fields-and-relations' 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: - code - description - label 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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: $ref: '#/components/schemas/AdminCreateShippingOptionRule' update: type: array description: The shipping option rules to update. items: $ref: '#/components/schemas/AdminUpdateShippingOptionRule' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/shipping-profiles/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stock-locations/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] requestBody: content: application/json: schema: type: object description: The fulfillment set to create. required: - type - name 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/stores/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-rates/{id}' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_token}' tags: - Tax Rates responses: '200': description: OK content: application/json: schema: allOf: - type: object description: The deletion's details. 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: The deletion's details. properties: parent: $ref: '#/components/schemas/AdminTaxRate' description: The deletion'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: 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/tax-regions/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 upload's files. items: oneOf: - type: object description: The file's files. required: - name - content properties: name: type: string title: name description: The file's name. content: type: string title: content description: The file's content. - type: object description: A File to upload. externalDocs: url: https://developer.mozilla.org/en-US/docs/Web/API/File description: Learn more about the File API title: files - type: array description: list of files to upload. items: type: object description: A File to upload. externalDocs: url: https://developer.mozilla.org/en-US/docs/Web/API/File description: Learn more about the File API title: FileList description: The files to upload. x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/admin/uploads' \ -H 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/uploads/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_token}' tags: - Uploads responses: '200': description: OK content: application/json: schema: type: object description: The deletion's details. 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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#select-fields-and-relations' 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. externalDocs: url: '#select-fields-and-relations' 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. externalDocs: url: '#select-fields-and-relations' 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: removeUserAccountWorkflow /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. externalDocs: url: '#select-fields-and-relations' - 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. externalDocs: url: '#pagination' - 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. externalDocs: url: '#pagination' - 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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' security: - api_token: [] - cookie_auth: [] - jwt_token: [] x-codeSamples: - lang: Shell label: cURL source: |- curl '{backend_url}/admin/workflows-executions/{id}' \ -H 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 - hasFinished - hasFailed 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 parentStepIdempotencyKey: type: string title: parentStepIdempotencyKey description: The idempotency key of the workflow execution. hasFinished: type: boolean title: hasFinished description: Whether the workflow execution has finished. hasFailed: type: boolean title: hasFailed description: Whether the workflow execution has failed. '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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. externalDocs: url: '#select-fields-and-relations' 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 'Authorization: Bearer {access_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 'Authorization: Bearer {access_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: The deletion's details. 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/token/refresh: post: operationId: PostAdminAuthTokenRefresh summary: Refresh Authentication Token description: Refresh the authentication token of a user. This is useful after authenticating a user with a third-party service to ensure the token holds the new user's details, or when you don't want users to re-login every day. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#2-third-party-service-authenticate-flow description: Learn about third-party authentication flow. x-authenticated: true x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/auth/token/refresh' \ -H 'Authorization: Bearer {token}' 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}: post: operationId: PostActor_typeAuth_provider summary: Authenticate User description: | Authenticate a user and receive the JWT token to be used in the header of subsequent requests. When used with a third-party provider, such as Google, the request returns a `location` property. You redirect to the specified URL in your frontend to continue authentication with the third-party service. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#types-of-authentication-flows description: Learn about different authentication flows. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass requestBody: content: application/json: schema: type: object title: input description: The input data necessary for authentication. For example, for email-pass authentication, pass `email` and `password` properties. x-codeSamples: - lang: Shell label: EmailPass Provider source: |- curl -X POST '{backend_url}/auth/user/emailpass' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "admin@medusa-test.com", "password": "supersecret" }' - lang: Bash label: Google Provider source: curl -X POST '{backend_url}/auth/user/google' tags: - Auth responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/AuthResponse' - $ref: '#/components/schemas/AuthCallbackResponse' '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/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: | This API route is used by your dashboard or frontend application when a third-party provider redirects to it after authentication. It validates the authentication with the third-party provider and, if successful, returns an authentication token. You can decode the JWT token using libraries like [react-jwt](https://www.npmjs.com/package/react-jwt) in the frontend. If the decoded data doesn't have an `actor_id` property, then you must create a user, typically using the Accept Invite route passing the token in the request's Authorization header. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#2-third-party-service-authenticate-flow description: Learn about third-party authentication flow. 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: Google Provider source: curl -X POST '{backend_url}/auth/user/google/callback?code=123' - lang: Bash label: GitHub Provider source: curl -X POST '{backend_url}/auth/user/github/callback?code=123' 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: This API route retrieves a registration JWT token of a user that hasn't been registered yet. The token is used in the header of requests that create a user, such as the Accept Invite API route. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#1-basic-authentication-flow description: Learn about the basic authentication flow. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass requestBody: content: application/json: schema: type: object title: input description: The input data necessary for authentication. For example, for email-pass authentication, pass `email` and `password` properties. example: email: admin@medusa-test.com password: supersecret x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/auth/user/emailpass/register' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "admin@medusa-test.com", "password": "supersecret" }' 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}/reset-password: post: operationId: PostActor_typeAuth_providerResetPassword summary: Generate Reset Password Token for Admin User x-sidebar-summary: Generate Reset Password Token description: | Generate a reset password token for an admin user. This API route emits the `` event, passing it the token as a payload. You can listen to that event and send the user a notification. The notification should have a URL that accepts a `token` query parameter. Use the generated token to update the user's password using the Reset Password API route. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#generate-reset-password-token-route description: Learn more about this API route. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass requestBody: content: application/json: schema: type: object title: identifier description: The user's identifier for the selected auth provider. For example, for the `emailpass` auth provider, the value is the user's email. example: admin@medusa-test.com x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/auth/user/emailpass/reset-password' \ -H 'Content-Type: application/json' \ --data-raw '{ "identifier": "admin@medusa-test.com" }' tags: - Auth responses: '201': description: OK '400': $ref: '#/components/responses/400_error' '401': $ref: '#/components/responses/unauthorized' '404': $ref: '#/components/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: generateResetPasswordTokenWorkflow /auth/user/{auth_provider}/update: post: operationId: PostActor_typeAuth_providerUpdate summary: Reset an Admin User's Password x-sidebar-summary: Reset Password description: Reset a user's password. Generate the reset password token first using the Get Reset Password Token API route. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/auth/authentication-route#reset-password-route description: Learn more about this API route. x-authenticated: false parameters: - name: auth_provider in: path description: The provider used for authentication. required: true schema: type: string example: emailpass - name: token in: query description: The reset password token received using the Get Reset Password API route. required: true schema: type: string requestBody: content: application/json: schema: type: object title: input description: The input data necessary for authentication. For example, for email-pass authentication, pass `email` and `password` properties. example: email: admin@medusa-test.com password: supersecret x-codeSamples: - lang: Shell label: cURL source: |- curl -X POST '{backend_url}/auth/user/emailpass/update?token=123' \ -H 'Content-Type: application/json' \ --data-raw '{ "email": "admin@medusa-test.com", "password": "supersecret" }' tags: - Auth responses: '200': description: OK content: application/json: schema: type: object required: - success description: Details on the reset password's status. properties: success: type: boolean title: success description: Whether the password was reset 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' 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 redacted form of the API key's token. This is useful when showing portion of the token. example: sk_...123 title: type: string title: title description: The api key's title. type: type: string description: The api key's type. `secret` is used for a user's API key, whereas `publishable` is used for Publishable API keys. enum: - secret - publishable last_used_at: type: string title: last_used_at description: The date and time the API key was last used. format: date-time created_by: type: string title: created_by description: The ID of the user that created the API key, if available. created_at: type: string format: date-time title: created_at description: The date and time the API key was created. revoked_by: type: string title: revoked_by description: The ID of the user that revoked the API key, if available. revoked_at: type: string title: revoked_at description: The date and time the API key was revoked. The API key is considered revoked when this property is set. format: date-time AdminApiKeyResponse: type: object description: The API key's details. x-schemaName: AdminApiKeyResponse required: - api_key properties: api_key: $ref: '#/components/schemas/AdminApiKey' AdminApplicationMethod: type: object description: The application method's details. x-schemaName: AdminApplicationMethod required: - id properties: promotion: $ref: '#/components/schemas/AdminPromotion' target_rules: type: array description: The application method's target rules. items: $ref: '#/components/schemas/AdminPromotionRule' buy_rules: type: array description: The application method's buy rules. items: $ref: '#/components/schemas/AdminPromotionRule' id: type: string title: id description: The application method's ID. type: type: string description: The application method's type. If it's `fixed`, the promotion discounts a fixed amount. If it's `percentage`, the promotion discounts a percentage. enum: - fixed - percentage target_type: type: string description: Which item does the promotion apply to. `items` mean the promotion applies to the cart's items; `shipping_methods` means the promotion applies to the cart's shipping methods; `order` means the promotion applies on the entire order. enum: - items - shipping_methods - order allocation: type: string description: How is the promotion amount discounted. `each` means the discounted amount is applied on each applicable item; `across` means the discounted amount is split accross the applicable items. enum: - each - across value: type: number title: value description: The amount to be discounted. currency_code: type: string title: currency_code description: The application method's currency code. example: usd max_quantity: type: number title: max_quantity description: The max quantity allowed in the cart for the associated promotion to be applied. 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`. 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 of this attribute is `1`. AdminBatchProductRequest: type: object description: The products to create, update, or delete. x-schemaName: AdminBatchProductRequest properties: create: type: array description: The products to create. items: $ref: '#/components/schemas/AdminCreateProduct' update: type: array description: The products to update. items: $ref: '#/components/schemas/AdminUpdateProduct' delete: type: array description: The products to delete. items: type: string title: delete description: A product's ID. AdminBatchProductResponse: type: object description: The details of the products created, updated, or deleted. x-schemaName: AdminBatchProductResponse required: - created - updated - deleted properties: created: type: array description: The created products items: $ref: '#/components/schemas/AdminProduct' updated: type: array description: The updated products. items: $ref: '#/components/schemas/AdminProduct' deleted: type: object description: The deleted products' details. required: - ids - object - deleted properties: ids: type: array description: The IDs of deleted products. items: type: string title: ids description: The ID of a deleted product. object: type: string title: object description: The name of the deleted objects. default: product deleted: type: boolean title: deleted description: Whether the products were deleted. AdminBatchProductVariantRequest: type: object description: The product variants to create, update, or delete. x-schemaName: AdminBatchProductVariantRequest properties: create: type: array description: The product variants to create. items: $ref: '#/components/schemas/AdminCreateProductVariant' update: type: array description: The product variants to update. items: $ref: '#/components/schemas/AdminUpdateProductVariant' delete: type: array description: The product variants to delete. items: type: string title: delete description: A product variant's ID. AdminBatchProductVariantResponse: type: object description: The details of the product variants created, updated, or deleted. x-schemaName: AdminBatchProductVariantResponse required: - created - updated - deleted properties: created: type: array description: The created product variants. items: $ref: '#/components/schemas/AdminProductVariant' updated: type: array description: The updated product variants. items: $ref: '#/components/schemas/AdminProductVariant' deleted: type: object description: The details of the deleted product variants. required: - ids - object - deleted properties: ids: type: array description: The IDs of the deleted product variants. items: type: string title: ids description: The ID of a deleted variant. object: type: string title: object description: The name of the deleted objects. default: variant deleted: type: boolean title: deleted description: Whether the product variants were deleted. 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 identifier. starts_at: type: string title: starts_at description: The date and time that the campaign starts. ends_at: type: string title: ends_at description: The date and time that the campaign ends. 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. `spend` means the limit is set on the total amount discounted by the campaign's promotions; `usage` means the limit is set on the total number of times the campaign's promotions can be used. 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: | How much of the budget has been used. If the limit is `spend`, this property holds the total amount discounted so far. If the limit is `usage`, it holds the number of times the campaign's promotions have been used so far. AdminCampaignResponse: type: object description: The campaign's details. x-schemaName: AdminCampaignResponse required: - campaign properties: campaign: $ref: '#/components/schemas/AdminCampaign' AdminClaim: type: object description: The claim's details. x-schemaName: AdminClaim required: - order - return - id - type - order_id - display_id - order_version - created_at - updated_at - canceled_at - additional_items - claim_items properties: id: type: string title: id description: The claim's ID. order_id: type: string title: order_id description: The ID of the order associated with the claim. claim_items: type: array description: The order items targetted by the claim. items: $ref: '#/components/schemas/BaseClaimItem' additional_items: type: array description: The outbound or new items of the claim. items: $ref: '#/components/schemas/BaseClaimItem' return: $ref: '#/components/schemas/AdminReturn' return_id: type: string title: return_id description: The ID of the associated return. no_notification: type: boolean title: no_notification description: Whether the customer should be notified about changes in the claim. refund_amount: type: number title: refund_amount description: The amount to be refunded. display_id: type: number title: display_id description: The claim's display ID. shipping_methods: type: array description: The claim's shipping methods. items: $ref: '#/components/schemas/AdminOrderShippingMethod' transactions: type: array description: The claim's transactions. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions description: Learn more about transactions of orders and associated models. items: $ref: '#/components/schemas/BaseOrderTransaction' metadata: type: object description: The claim's metadata, used to store custom key-value pairs. created_at: type: string format: date-time title: created_at description: The claim's creation date. updated_at: type: string format: date-time title: updated_at description: The claim's update date. order: $ref: '#/components/schemas/AdminOrder' type: type: string description: The claim's type. enum: - replace - refund order_version: type: string title: order_version description: The version of the order when the claim is applied. created_by: type: string title: created_by description: The ID of the user that created the claim. canceled_at: type: string title: canceled_at description: The date the claim was canceled. format: date-time deleted_at: type: string format: date-time title: deleted_at description: The date the claim was deleted. AdminClaimDeleteResponse: type: object description: The details of the deleted claim. 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: The paginated list of claims. x-schemaName: AdminClaimListResponse required: - limit - offset - count - claims 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. claims: type: array description: The list of claims. items: $ref: '#/components/schemas/AdminClaim' AdminClaimOrderResponse: type: object description: The created claim's details. x-schemaName: AdminClaimOrderResponse required: - order - claim properties: order: $ref: '#/components/schemas/Order' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimPreviewResponse: type: object description: The details of the claim, as well as a preview of the order when the claim is applied. x-schemaName: AdminClaimPreviewResponse required: - order_preview - claim properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimRequestResponse: type: object description: The details of the claim, its return, and a preview of the order when the claim is applied. x-schemaName: AdminClaimRequestResponse required: - return - order_preview - claim properties: return: $ref: '#/components/schemas/AdminReturn' order_preview: $ref: '#/components/schemas/AdminOrderPreview' claim: $ref: '#/components/schemas/AdminClaim' AdminClaimResponse: type: object description: The claim's details. x-schemaName: AdminClaimResponse required: - claim properties: claim: $ref: '#/components/schemas/AdminClaim' AdminClaimReturnPreviewResponse: type: object description: The details of the claim's return, with a preview of the order when the claim's return is applied. x-schemaName: AdminClaimReturnPreviewResponse required: - order_preview - return properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' return: $ref: '#/components/schemas/AdminReturn' AdminCollection: type: object description: The product collection's details. 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 creation date. updated_at: type: string format: date-time title: updated_at description: The collection's update date. deleted_at: type: string format: date-time title: deleted_at description: The collection's deletion date. products: type: array description: The collection's products. items: type: object metadata: type: object description: The collection's metadata, used to store custom key-value pairs. AdminCollectionDeleteResponse: type: object description: The details of the deleted collection. 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: The paginated list of product collections. x-schemaName: AdminCollectionListResponse required: - limit - offset - count - collections 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 results. count: type: number title: count description: The total number of items. collections: type: array description: The list of product collections. items: $ref: '#/components/schemas/AdminCollection' AdminCollectionResponse: type: object description: The collection's details. x-schemaName: AdminCollectionResponse required: - collection properties: collection: $ref: '#/components/schemas/AdminCollection' AdminCreateApiKey: type: object description: The API key's details. 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. Use `secret` for a user's API key; Use `publishable` for Publishable API keys. enum: - publishable - secret AdminCreateCollection: type: object description: the product collection's details. 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, used to store custom key-value pairs. AdminCreateCustomerGroup: type: object description: The customer group's details. 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, used to store custom key-value pairs. AdminCreateFulfillment: type: object description: The filfillment's details. x-schemaName: AdminCreateFulfillment required: - data - order_id - metadata - items - location_id - provider_id - delivery_address - labels properties: location_id: type: string title: location_id description: The ID of the location the items are fulfilled from. provider_id: type: string title: provider_id description: The ID of the provider handling this fulfillment. delivery_address: type: object description: The address to deliver the items to. properties: 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. company: type: string title: company description: The delivery address's company. address_1: type: string title: address_1 description: The delivery address's first line. address_2: type: string title: address_2 description: The delivery address's second line. 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, used to store custom key-value pairs. items: type: array description: The items to fulfill. items: type: object description: An item to fulfill. required: - title - quantity - sku - 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 quantity to fulfill of the item. barcode: type: string title: barcode description: The item's barcode. line_item_id: type: string title: line_item_id description: The ID of the associated line item. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item associated with the underlying variant. labels: type: array description: The labels for the fulfillment's shipments. items: type: object description: A shipment's label. 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. order_id: type: string title: order_id description: The ID of the order this fulfillment is created for. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option used in the order. data: type: object description: Any data useful for the fulfillment provider to handle the fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property description: Learn more about the data property. packed_at: type: string title: packed_at description: The date and time the fulfillment was packed. format: date-time shipped_at: type: string title: shipped_at description: The date and time the fulfillment was shipped. format: date-time delivered_at: type: string title: delivered_at description: The date and time the fulfillment was delivered. format: date-time canceled_at: type: string title: canceled_at description: The date and time the fulfillment was canceled. format: date-time metadata: type: object description: The fulfillment's metadata, used to store custom key-value pairs. AdminCreateInventoryItem: type: object description: The inventory item's details. 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 description of the variant associated with the inventory item. requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. thumbnail: type: string title: thumbnail description: The inventory item's thumbnail. metadata: type: object description: The inventory item's metadata, used to store custom key-value pairs. AdminCreatePriceList: type: object description: The price list's details. 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 date and time the price list starts at. format: date-time ends_at: type: string title: ends_at description: The date and time the price list ends at. format: date-time 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. example: product_category_id: pcat_123 prices: type: array description: The price list's prices. items: type: object description: A price's details. required: - currency_code - variant_id - 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. variant_id: type: string title: variant_id description: The ID of the product variant this price is for. min_quantity: type: number title: min_quantity description: The minimum quantity required in the cart for this price to be applied. max_quantity: type: number title: max_quantity description: The maximum quantity in the cart that shouldn't be crossed for this price to be applied. rules: type: object description: The price's rules. example: region_id: reg_123 AdminCreatePricePreference: type: object description: The price preference's details. x-schemaName: AdminCreatePricePreference properties: attribute: type: string title: attribute description: The name of the attribute the price preference applies on. example: currency_code value: type: string title: value description: The attribute's value. example: usd is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the price is tax inclusive if the value of the specified attribute matches the specified value. AdminCreateProduct: type: object description: The product's details. x-schemaName: AdminCreateProduct required: - title properties: title: type: string title: title description: The product's title. 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: Whether the product is a gift card. discountable: type: boolean title: discountable description: Whether the product is discountable. images: type: array description: The product's images. items: type: object description: A product's image details. required: - url properties: url: type: string title: url description: The image's URL. thumbnail: type: string title: thumbnail description: The URL of the product's thumbnail. handle: type: string title: handle description: The product's handle. status: type: string description: The product's status. enum: - draft - proposed - published - rejected type_id: type: string title: type_id description: The ID of the type the product belongs to. collection_id: type: string title: collection_id description: The ID of the collection the product belongs to. categories: type: array description: The categories the product belongs to. items: type: object description: A category's details. required: - id properties: id: type: string title: id description: The category's ID. tags: type: array description: The product's tags. items: type: object description: A tag's details. required: - id properties: id: type: string title: id description: The tag's ID. options: type: array description: The product's options. items: $ref: '#/components/schemas/AdminCreateProductOption' variants: type: array description: The product's variants. items: $ref: '#/components/schemas/AdminCreateProductVariant' sales_channels: type: array description: The sales channels the product is available in. items: type: object description: A sales channel's details. required: - id properties: id: type: string title: id description: The sales channel's ID. 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. width: type: number title: width description: The product's width. 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. origin_country: type: string title: origin_country description: The product's origin country. material: type: string title: material description: The product's material. metadata: type: object description: The product's metadata, used to store custom key-value pairs. AdminCreateProductCategory: type: object description: The product category's details. 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: Whether the product category is only used and seen by admin users. 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 category that's the parent of this one. rank: type: number title: rank description: The sorting order of the product category among sibling categories. metadata: type: object description: The product category's metadata, used to store custom key-value pairs. AdminCreateProductOption: type: object description: The product option's details. x-schemaName: AdminCreateProductOption required: - title - values properties: title: type: string title: title description: The product option's title. values: type: array description: The product option's values. items: type: string title: values description: A value. AdminCreateProductTag: type: object description: The product tag's details. 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, used to store custom key-value pairs. AdminCreateProductType: type: object description: The details of the product type to create. x-schemaName: AdminCreateProductType required: - value properties: metadata: type: object description: The product's metadata, used to store custom key-value pairs. value: type: string title: value description: The product type's value. AdminCreateProductVariant: type: object description: The product variant's details. 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: Whether it's allowed to order this variant when it's out of stock. manage_inventory: type: boolean title: manage_inventory description: Whether Medusa manages the variant's inventory quantity. If disabled, the product variant is always considered in stock. variant_rank: type: number title: variant_rank description: The sorting order of the variant among other variants in the product. 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, used to store custom key-value pairs. prices: type: array description: The variant's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The variant's options, where the key is an option's name, and the value is the option's value. example: Color: Black inventory_items: type: array description: The variant's inventory items to create. items: $ref: '#/components/schemas/AdminCreateProductVariantInventoryKit' AdminCreateProductVariantInventoryKit: type: object description: The details of a variant's inventory item. x-schemaName: AdminCreateProductVariantInventoryKit required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The inventory item's ID. required_quantity: type: number title: required_quantity description: The number of units a single quantity is equivalent to. For example, if a customer orders one quantity of the variant, Medusa checks the availability of the quantity multiplied by the value set for `required_quantity`. When the customer orders the quantity, Medusa reserves the ordered quantity multiplied by the value set for `required_quantity`. AdminCreateProductVariantPrice: type: object description: The details of a variant's price. 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 minimum quantity that must be available in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity that must not be surpassed in the cart for this price to apply. rules: type: object description: The price's rules. example: region_id: reg_123 properties: region_id: type: string title: region_id description: The ID of a region. required: - region_id AdminCreatePromotionRule: type: object description: The promotion rule's details. x-schemaName: AdminCreatePromotionRule 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 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 AdminCreateRefundReason: type: object description: The refund reason's details. 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: The region's details. 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. example: usd countries: type: array description: The region's countries. items: type: string title: countries description: A country code. example: us automatic_taxes: type: boolean title: automatic_taxes description: Whether taxes are calculated automatically during checkout in this region. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether prices in this region are tax inclusive. payment_providers: type: array description: The payment providers enabled in this region. items: type: string title: payment_providers description: A payment provider's ID. example: pp_stripe_stripe metadata: type: object description: The region's metadata, used to store custom key-value pairs. AdminCreateReservation: type: object description: The reservation's details. x-schemaName: AdminCreateReservation required: - location_id - inventory_item_id - quantity properties: line_item_id: type: string title: line_item_id description: The ID of the line item this reservation is created for. location_id: type: string title: location_id description: The ID of the location the quantity is reserved from. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item associated with the line item's variant. 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, used to store custom key-value pairs. AdminCreateReturnReason: type: object description: The details of the return reason to create. x-schemaName: AdminCreateReturnReason 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 ID of the parent return reason. metadata: type: object description: The return reason's metadata, can hold custom key-value pairs. AdminCreateSalesChannel: type: object description: The sales channel's details. 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: Whether the sales channel is disabled. metadata: type: object description: The sales channel's metadata, used to store custom key-value pairs. AdminCreateShipment: type: object description: The shipment's details. x-schemaName: AdminCreateShipment required: - labels properties: labels: type: array description: The shipment's labels. items: type: object description: A shipment label's details. 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. AdminCreateShippingOption: type: object description: The shipping option's details. x-schemaName: AdminCreateShippingOption 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. AdminCreateShippingOptionRule: type: object description: The details of the shipping option rule. x-schemaName: AdminCreateShippingOptionRule required: - operator - attribute - value properties: operator: type: string description: The operator used to check whether a rule applies. enum: - gt - lt - eq - ne - in - lte - gte - 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 AdminCreateShippingProfile: type: object description: The shipping profile's details. 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, used to store custom key-value pairs. AdminCreateStockLocation: type: object description: The stock location's details. 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 ID of the stock location's address. address: $ref: '#/components/schemas/AdminUpsertStockLocationAddress' metadata: type: object description: The stock location's metadata, used to store custom key-value pairs. AdminCreateTaxRate: type: object description: The tax rate's details. x-schemaName: AdminCreateTaxRate required: - name - tax_region_id - code properties: name: type: string title: name description: The tax rate's name. example: VAT tax_region_id: type: string title: tax_region_id description: The ID of the tax region this rate belongs to. rate: type: number title: rate description: The rate to charge. example: 10 code: type: string title: code description: The code the tax rate is identified by. rules: type: array description: The tax rate's rules. items: $ref: '#/components/schemas/AdminCreateTaxRateRule' is_default: type: boolean title: is_default description: Whether the tax rate is the default in its tax region. is_combinable: type: boolean title: is_combinable description: Whether the tax rate should be combined with parent rates. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-rates-and-rules#combinable-tax-rates metadata: type: object description: The tax rate's metadata, used to store custom key-value pairs. AdminCreateTaxRateRule: type: object description: The tax rate rule's details. x-schemaName: AdminCreateTaxRateRule required: - reference - reference_id properties: reference: type: string title: reference description: The name of a table in the database that this rule points to. example: product_type reference_id: type: string title: reference_id description: The ID of a record in the table specified in reference. example: ptype_123 AdminCreateTaxRegion: type: object description: The tax region's details. x-schemaName: AdminCreateTaxRegion required: - country_code properties: country_code: type: string title: country_code description: The tax region's country code. example: us province_code: type: string title: province_code description: The tax region's province code. parent_id: type: string title: parent_id description: The ID of the parent tax region. default_tax_rate: type: object description: The tax region's default tax rate. required: - code - name properties: rate: type: number title: rate description: The rate to charge. example: 10 code: type: string title: code description: The code the tax rate is identified by name: type: string title: name description: The default tax rate's name. example: VAT is_combinable: type: boolean description: Whether the tax rate should be combined with parent rates. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-rates-and-rules#combinable-tax-rates metadata: type: object description: The default tax rate's metadata, used to store custom key-value pairs. metadata: type: object description: The tax region's metadata, used to store custom key-value pairs. AdminCreateVariantInventoryItem: type: object description: The details of the variant-inventory item association. x-schemaName: AdminCreateVariantInventoryItem required: - inventory_item_id - required_quantity properties: required_quantity: type: number title: required_quantity description: The quantity of the variant in the inventory item. inventory_item_id: type: string title: inventory_item_id description: The inventory item's ID. AdminCreateWorkflowsAsyncResponse: type: object description: The details of changing a workflow execution's step status. 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 ID of the step whose status was changed. response: description: Sets the step's response. It accepts any type. compensate_input: description: Sets the compensation function's input. It accepts any response. action: type: string description: Whether to invoke or compensate the step. enum: - invoke - compensate AdminCreateWorkflowsRun: type: object description: The details of the workflow to execute. x-schemaName: AdminCreateWorkflowsRun properties: input: description: The input to pass to the workflow. Can be of any type. transaction_id: type: string title: transaction_id description: The ID of the workflow execution's transaction. AdminCurrency: type: object description: The currency's currencies. x-schemaName: AdminCurrency required: - code - symbol - symbol_native - name - decimal_digits - rounding - created_at - updated_at - deleted_at properties: code: type: string title: code description: The currency's code. example: usd symbol: type: string title: symbol description: The currency's symbol. example: $ symbol_native: type: string title: symbol_native description: The currency's native symbol, if different than the symbol. example: $ name: type: string title: name description: The currency's name. decimal_digits: type: number title: decimal_digits description: The number of digits after the decimal for prices in this currency. rounding: type: number title: rounding description: The rounding percision applied on prices in this currency. created_at: type: string format: date-time title: created_at description: The currency's creation date. updated_at: type: string format: date-time title: updated_at description: The currency's update date. deleted_at: type: string format: date-time title: deleted_at description: The currency's deletion date. AdminCurrencyListResponse: type: object description: The paginated list of currencies. x-schemaName: AdminCurrencyListResponse required: - limit - offset - count - currencies 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. currencies: type: array description: The list of currencies. items: $ref: '#/components/schemas/AdminCurrency' AdminCurrencyResponse: type: object description: The currency's details. x-schemaName: AdminCurrencyResponse required: - currency properties: currency: $ref: '#/components/schemas/AdminCurrency' AdminCustomer: type: object description: The customer's details. x-schemaName: AdminCustomer required: - has_account - addresses - id - email - default_billing_address_id - default_shipping_address_id - company_name - first_name - last_name properties: id: type: string title: id description: The customer's ID. has_account: type: boolean title: has_account description: Whether the customer is registered. groups: type: array description: The customer's groups. items: $ref: '#/components/schemas/AdminCustomerGroup' 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 ID of the address used as the default billing address. default_shipping_address_id: type: string title: default_shipping_address_id description: The ID of the address used as the default shipping address. 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/AdminCustomerAddress' phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata, used to store custom key-value pairs. created_by: type: string title: created_by description: The ID of the user that created this customer, if available. created_at: type: string format: date-time title: created_at description: The customer's creation date. updated_at: type: string format: date-time title: updated_at description: The customer's update date. deleted_at: type: string format: date-time title: deleted_at description: The customer's deletion date. 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 name. is_default_shipping: type: boolean title: is_default_shipping description: Whether the address is the default shipping address. is_default_billing: type: boolean title: is_default_billing description: Whether the address is the default billing address. customer_id: type: string title: customer_id description: The ID of the customer that this address belongs to. company: type: string title: company description: The customer's company. 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. 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. example: us 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, used to store custom key-value pairs. created_at: type: string format: date-time title: created_at description: The address's creation date. updated_at: type: string format: date-time title: updated_at description: The address's update date. AdminCustomerAddressResponse: type: object description: The address's details. x-schemaName: AdminCustomerAddressResponse required: - address properties: address: $ref: '#/components/schemas/AdminCustomerAddress' AdminCustomerGroup: type: object description: The customer group's details. x-schemaName: AdminCustomerGroup required: - customers - id - name - metadata - created_at - updated_at properties: id: type: string title: id description: The customer group's ID. name: type: string title: name description: The customer group's name. customers: type: array description: The customer group's customers. items: type: object metadata: type: object description: The customer group's metadata, used to store custom key-value pairs. created_at: type: string format: date-time title: created_at description: The customer group's creation date. updated_at: type: string format: date-time title: updated_at description: The customer group's update date. AdminCustomerGroupResponse: type: object description: The customer group's details. x-schemaName: AdminCustomerGroupResponse required: - customer_group properties: customer_group: $ref: '#/components/schemas/AdminCustomerGroup' AdminCustomerInGroupFilters: type: object description: Filters to apply on customers to retrieve their groups. x-schemaName: AdminCustomerInGroupFilters properties: id: 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. email: oneOf: - type: string title: email description: Filter by a customer's 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: Apply filters on 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 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 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: Filter by the ID of a customer's default billing address. - type: array description: Filter by the IDs of a customers' default billing address. items: type: string title: default_billing_address_id description: The ID of a customer's default billing address. default_shipping_address_id: oneOf: - type: string title: default_shipping_address_id description: Filter by the ID of a customer's default shipping address. - type: array description: Filter by the IDs of a customers' default shipping address. items: type: string title: default_shipping_address_id description: The ID of a customer's default shipping address. company_name: oneOf: - type: string title: company_name description: Filter by a customer's company name. - type: array description: Filter by customers' company names. items: type: string title: company_name description: A company name. first_name: oneOf: - type: string title: first_name description: Filter by a customer's first name. - type: array description: Filter by customers' first names. items: type: string title: first_name description: A first name. last_name: oneOf: - type: string title: last_name description: Filter by a customer's last name. - type: array description: Filter by customers' last names. items: type: string title: last_name description: A last name. created_by: oneOf: - type: string title: created_by description: Filter by the ID of a user to retrieve the groups of the customers they created. - type: array description: Filter by the ID of users to retrieve the groups of the customers they created. items: type: string title: created_by description: A user's ID. created_at: type: object description: Filter 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 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 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: Filter the 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 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: Filter the customer'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`). AdminCustomerResponse: type: object description: The customer's details. x-schemaName: AdminCustomerResponse required: - customer properties: customer: $ref: '#/components/schemas/AdminCustomer' AdminDeletePaymentCollectionResponse: type: object description: The result of deleting the payment collection. 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: The name of the object that was deleted. default: payment-collection deleted: type: boolean title: deleted description: Whether the object was deleted. AdminDraftOrderResponse: type: object description: The draft order's details. 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: - id - order_id - created_at - updated_at - canceled_at - deleted_at - additional_items - return_items properties: order_id: type: string title: order_id description: The ID of the order the exchange is created for. return_items: type: array description: The items returned (inbound) by the exchange. items: $ref: '#/components/schemas/AdminReturnItem' additional_items: type: array description: The new items (outbound) sent by the exchange. items: $ref: '#/components/schemas/BaseExchangeItem' no_notification: type: boolean title: no_notification description: Whether to send the customer notifications when the exchange is updated. difference_due: type: number title: difference_due description: The amount to be exchanged or refunded. If the amount is negative, it must be refunded. If positive, additional payment is required from the customer. return: $ref: '#/components/schemas/AdminReturn' return_id: type: string title: return_id description: The ID of the associated exchange. id: type: string title: id description: The exchange's ID. display_id: type: string title: display_id description: The exchange's display ID. shipping_methods: type: array description: The shipping methods used to send the new (outbound) items. items: $ref: '#/components/schemas/BaseOrderShippingMethod' transactions: type: array description: The exchange's transactions. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions items: $ref: '#/components/schemas/BaseOrderTransaction' metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date that the exchange was created. updated_at: type: string format: date-time title: updated_at description: The date that the exchange was updated. order_version: type: string title: order_version description: The version of the order once the exchange is applied. created_by: type: string title: created_by description: The ID of the user that created the exchange. canceled_at: type: string title: canceled_at description: The date the exchange was canceled. format: date-time deleted_at: type: string format: date-time title: deleted_at description: The date the exchange was deleted. order: $ref: '#/components/schemas/AdminOrder' allow_backorder: type: boolean title: allow_backorder description: Whether variants that are out-of-stock can still be added as additional or outbound items. AdminExchangeDeleteResponse: type: object description: The details of deleting an exchange. 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: The exchange's details. x-schemaName: AdminExchangeOrderResponse required: - order - exchange properties: order: description: The details of the associated order. $ref: '#/components/schemas/Order' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangePreviewResponse: type: object description: A preview of the order once the exchange is applied. x-schemaName: AdminExchangePreviewResponse required: - order_preview - exchange properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeRequestResponse: type: object description: The details of a requested exchange. x-schemaName: AdminExchangeRequestResponse required: - return - order_preview - exchange properties: return: $ref: '#/components/schemas/AdminReturn' order_preview: $ref: '#/components/schemas/AdminOrderPreview' exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeResponse: type: object description: The exchange's details. x-schemaName: AdminExchangeResponse required: - exchange properties: exchange: $ref: '#/components/schemas/AdminExchange' AdminExchangeReturnResponse: type: object description: The details of an exchange's return. x-schemaName: AdminExchangeReturnResponse required: - order_preview - return properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' return: $ref: '#/components/schemas/AdminReturn' AdminExportProductResponse: type: object description: The details of the product export. x-schemaName: AdminExportProductResponse required: - transaction_id properties: transaction_id: type: string title: transaction_id description: The ID of the workflow execution's transaction. Use it to check the status of the export by sending a GET request to `/admin/workflows-executions/export-products/:transaction-id` AdminFile: type: object description: A file's details. 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: The list of uploaded files. x-schemaName: AdminFileListResponse required: - files properties: files: type: array description: The list of uploaded files. items: $ref: '#/components/schemas/AdminFile' AdminFileResponse: type: object description: A file's details. 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 ID of the location the fulfillment's items are shipped from. provider_id: type: string title: provider_id description: The ID of the fulfillment provider handling this fulfillment. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this fulfillment is created for. 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 shipment labels. items: $ref: '#/components/schemas/AdminFulfillmentLabel' packed_at: type: string title: packed_at description: The date the fulfillment was packed at. shipped_at: type: string title: shipped_at description: The date the fulfillment was shipped at. delivered_at: type: string title: delivered_at description: The date the fulfillment was delivered at. canceled_at: type: string title: canceled_at description: The date the fulfillment was canceled at. data: type: object description: The fulfillment's data, useful for the third-party provider handling the fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property metadata: type: object description: The fulfillment's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the fulfillment was created at. updated_at: type: string format: date-time title: updated_at description: The date the fulfillment was updated at. deleted_at: type: string format: date-time title: deleted_at description: The date the fulfillment was deleted at. AdminFulfillmentAddress: type: object description: An address's details. 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 address's ID. fulfillment_id: type: string title: fulfillment_id description: The ID of the fulfillment that the address belongs to. 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the address was created. updated_at: type: string format: date-time title: updated_at description: The date the address was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the address was deleted. AdminFulfillmentItem: type: object description: The details of a fulfillment's item. 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 to be fulfilled. 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 ID of the order's line item to be fulfilled. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item of the underlying product variant. fulfillment_id: type: string title: fulfillment_id description: The ID of the fulfillment the item belongs to. created_at: type: string format: date-time title: created_at description: The date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the item was deleted. AdminFulfillmentLabel: type: object description: The details of a fulfillmet's shipment label. 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 URL. fulfillment_id: type: string title: fulfillment_id description: The ID of the fulfillment the label is associated with. created_at: type: string format: date-time title: created_at description: The date the label was created. updated_at: type: string format: date-time title: updated_at description: The date the label was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the label was deleted. AdminFulfillmentProvider: type: object description: The fulfillment provider's details. x-schemaName: AdminFulfillmentProvider 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. AdminFulfillmentProviderListResponse: type: object description: The paginated list of fulfillment providers. x-schemaName: AdminFulfillmentProviderListResponse required: - limit - offset - count - fulfillment_providers 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 count of items. fulfillment_providers: type: array description: The list of fulfillment providers. items: $ref: '#/components/schemas/AdminFulfillmentProvider' AdminFulfillmentResponse: type: object description: A fulfillment's details. x-schemaName: AdminFulfillmentResponse required: - fulfillment properties: fulfillment: $ref: '#/components/schemas/AdminFulfillment' AdminFulfillmentSet: type: object description: The service zone's fulfillment set. x-schemaName: AdminFulfillmentSet required: - id - name - type - location - service_zones - created_at - updated_at - deleted_at properties: id: type: string title: id description: The fulfillment set's ID. name: type: string title: name description: The fulfillment set's name. type: type: string title: type description: The fulfillment set's type. location: $ref: '#/components/schemas/AdminStockLocation' service_zones: type: array description: The fulfillment set's service zones. items: $ref: '#/components/schemas/AdminServiceZone' created_at: type: string format: date-time title: created_at description: The fulfillment set's created at. updated_at: type: string format: date-time title: updated_at description: The fulfillment set's updated at. deleted_at: type: string format: date-time title: deleted_at description: The fulfillment set's deleted at. AdminFulfillmentSetDeleteResponse: type: object description: The deletion details. 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: The fulfillment set's details. 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 required: - id - type - country_code - province_code - city - postal_expression - created_at - updated_at - deleted_at properties: id: type: string title: id description: The geo zone's ID. type: type: string description: The geo zone's type. enum: - country - province - city - zip 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. city: type: string title: city description: The geo zone's city. postal_expression: type: object description: The geo zone's postal expression. created_at: type: string format: date-time title: created_at description: The geo zone's created at. updated_at: type: string format: date-time title: updated_at description: The geo zone's updated at. deleted_at: type: string format: date-time title: deleted_at description: The geo zone's deleted at. AdminImportProductRequest: type: object description: The import's details. x-schemaName: AdminImportProductRequest required: - file properties: file: type: object description: A File to upload. externalDocs: url: https://developer.mozilla.org/en-US/docs/Web/API/File description: Learn more about the File API title: file AdminImportProductResponse: type: object description: The import process's details. x-schemaName: AdminImportProductResponse required: - transaction_id - summary properties: transaction_id: type: string title: transaction_id description: The ID of the workflow execution's transaction. This is useful to confirm the import using the `/admin/products/:transaction-id/import` API route. summary: type: object description: The import's summary. required: - toCreate - toUpdate properties: toCreate: type: number title: toCreate description: The number of products that will be created by this import. toUpdate: type: number title: toUpdate description: The number of products that will be updated by this import. AdminInventoryItem: type: object description: The reservation's inventory item. 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: The inventory item's details. 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 - reserved_quantity - 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. reserved_quantity: type: number title: reserved_quantity description: The location level's reserved quantity. incoming_quantity: type: number title: incoming_quantity description: The location level's 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: Whether the invite has been accepted. token: type: string title: token description: The invite's token. expires_at: type: string title: expires_at description: The invite's expiry date. format: date-time metadata: type: object description: The invite's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the invite was created. updated_at: type: string format: date-time title: updated_at description: The date the invite was updated. AdminInviteResponse: type: object description: The invite's details. x-schemaName: AdminInviteResponse required: - invite properties: invite: $ref: '#/components/schemas/AdminInvite' AdminLinkPriceListProducts: type: object description: The products 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: Where to send the notification to. For example, if `channel` is `email`, this can be an email number. channel: type: string title: channel description: Through which channel is the notification sent through. example: email template: type: string title: template description: The ID of the template in a third-party service used as the notification's shape. data: type: object description: Data payload to send with the notification. trigger_type: type: string title: trigger_type description: What triggered this notification. example: order.created resource_id: type: string title: resource_id description: The ID of the associated resource. For example, if the notification was triggered because an order was created, this would be the ID of the order. resource_type: type: string title: resource_type description: The type of the resource that triggered the notification. example: order receiver_id: type: string title: receiver_id description: The ID of the user or customer that's receiving this notification. original_notification_id: type: string title: original_notification_id description: The ID of the original notification, if this notification is resent. external_id: type: string title: external_id description: The ID of the notification in an external or third-party system. provider_id: type: string title: provider_id description: The ID of the provider used to send the notification. created_at: type: string format: date-time title: created_at description: The date the notification was created. AdminNotificationListResponse: type: object description: The paginated list of notifications. x-schemaName: AdminNotificationListResponse required: - limit - offset - count - notifications 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 count of items. notifications: type: array description: The list of notifications. items: $ref: '#/components/schemas/AdminNotification' AdminNotificationResponse: type: object description: The notification's details. 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 - items - shipping_methods - currency_code - id - created_at - updated_at - email - version - region_id - customer_id - sales_channel_id - payment_status - fulfillment_status - summary - 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/AdminOrderFulfillment' 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 ID of the region associated with the order. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the order is placed in. email: type: string title: email description: The email of the customer that placed the order. 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/AdminOrderLineItem' shipping_methods: type: array description: The order's shipping methods. items: $ref: '#/components/schemas/AdminOrderShippingMethod' 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the order was created. updated_at: type: string format: date-time title: updated_at description: The date the order was updated. original_item_total: type: number title: original_item_total description: The total of the order's items including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The total of the order's items excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The tax total of the order's items excluding promotions. item_total: type: number title: item_total description: The total of the order's items including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The total of the order's items excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The tax total of the order's items including promotions. original_total: type: number title: original_total description: The order's total excluding promotions, including taxes. original_subtotal: type: number title: original_subtotal description: The order's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The order's tax total, excluding promotions. total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The order's tax total including promotions. discount_total: type: number title: discount_total description: The order's discount or promotions total. discount_tax_total: type: number title: discount_tax_total description: The tax total of order's discount or promotion. 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 tax total of the order's gift card. shipping_total: type: number title: shipping_total description: The order's shipping total including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The tax total of the order's shipping. original_shipping_total: type: number title: original_shipping_total description: The order's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The tax total of the order's shipping excluding promotions. AdminOrderAddress: type: object description: An order address. x-schemaName: AdminOrderAddress required: - id - metadata - created_at - updated_at properties: id: type: string title: id description: The address's ID. customer_id: type: string title: customer_id description: The ID of the customer this address belongs to. 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. phone: type: string title: phone description: The address's phone. company: type: string title: company description: The address's company. 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. example: us country: $ref: '#/components/schemas/AdminRegionCountry' province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. metadata: type: object description: The address's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the address was created. updated_at: type: string format: date-time title: updated_at description: The date the address was updated. AdminOrderChange: type: object description: The order change's details. x-schemaName: AdminOrderChange required: - order - claim - return_order - exchange - actions - status - order_id - metadata - id - created_at - updated_at - version - canceled_at - return_id - exchange_id - claim_id - requested_by - requested_at - confirmed_by - confirmed_at - declined_by - declined_reason - declined_at - canceled_by properties: id: type: string title: id description: The order change's ID. version: type: number title: version description: The order change's version. This will be the order's version when the change is applied. change_type: type: string description: The order change's type. enum: - return - exchange - claim - edit order_id: type: string title: order_id description: The ID of the order this change applies on. return_id: type: string title: return_id description: The ID of the associated return. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. claim_id: type: string title: claim_id description: The ID of the associated claim. order: type: string title: order description: The order change's order. externalDocs: url: '#pagination' return_order: $ref: '#/components/schemas/AdminReturn' exchange: $ref: '#/components/schemas/AdminExchange' claim: $ref: '#/components/schemas/AdminClaim' actions: type: array description: The order change's actions. items: $ref: '#/components/schemas/AdminOrderChangeAction' status: type: string description: The order change's status. enum: - canceled - requested - pending - confirmed - declined requested_by: type: string title: requested_by description: The ID of the user that requested the change. requested_at: type: string title: requested_at description: The date the order change was requested. format: date-time confirmed_by: type: string title: confirmed_by description: The ID of the user that confirmed the order change. confirmed_at: type: string title: confirmed_at description: The date the order change was confirmed. format: date-time declined_by: type: string title: declined_by description: The ID of the user that declined the order change. declined_reason: type: string title: declined_reason description: The reason the order change was declined. metadata: type: object description: The order change's metadata, can hold custom key-value pairs. declined_at: type: string title: declined_at description: The date the order change was declined. format: date-time canceled_by: type: string title: canceled_by description: The ID of the user that canceled the order change. canceled_at: type: string title: canceled_at description: The date the order change was canceled. format: date-time created_at: type: string format: date-time title: created_at description: The date the order change was created. updated_at: type: string format: date-time title: updated_at description: The date the order change was updated. AdminOrderChangeAction: type: object description: The order change action's details. x-schemaName: AdminOrderChangeAction required: - order_change - order - order_id - internal_note - id - created_at - updated_at - return_id - exchange_id - claim_id - order_change_id - reference - reference_id - action - details properties: id: type: string title: id description: The action's ID. order_change_id: type: string title: order_change_id description: The ID of the order change that the action belongs to. order_change: type: object order_id: type: string title: order_id description: The ID of the order the associated change is for. return_id: type: string title: return_id description: The ID of the associated return. claim_id: type: string title: claim_id description: The ID of the associated claim. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. order: type: string title: order description: The order change's order. externalDocs: url: '#pagination' reference: type: string title: reference description: The name of the table this action applies on. enum: - claim - exchange - return - order_shipping_method reference_id: type: string title: reference_id description: The ID of the record in the referenced table. action: type: string description: The applied action. enum: - CANCEL_RETURN_ITEM - FULFILL_ITEM - DELIVER_ITEM - CANCEL_ITEM_FULFILLMENT - ITEM_ADD - ITEM_REMOVE - ITEM_UPDATE - RECEIVE_DAMAGED_RETURN_ITEM - RECEIVE_RETURN_ITEM - RETURN_ITEM - SHIPPING_ADD - SHIPPING_REMOVE - SHIP_ITEM - WRITE_OFF_ITEM - REINSTATE_ITEM details: type: object description: The action's details. example: reference_id: 123 quantity: 1 internal_note: type: string title: internal_note description: A note that's viewed only by admin users. created_at: type: string format: date-time title: created_at description: The date the action was created. updated_at: type: string format: date-time title: updated_at description: The date the action was updated. AdminOrderChangesResponse: type: object description: The details of an order's changes. x-schemaName: AdminOrderChangesResponse required: - order_changes properties: order_changes: type: array description: An order's changes. items: $ref: '#/components/schemas/AdminOrderChange' AdminOrderEditPreviewResponse: type: object description: The preview of an order edit. x-schemaName: AdminOrderEditPreviewResponse required: - order_preview properties: order_preview: $ref: '#/components/schemas/AdminOrderPreview' AdminOrderEditResponse: type: object description: An order edit's details. x-schemaName: AdminOrderEditResponse required: - order_change properties: order_change: $ref: '#/components/schemas/AdminOrderChange' AdminOrderFulfillment: type: object description: The fulfillment's details. x-schemaName: AdminOrderFulfillment required: - id - location_id - packed_at - shipped_at - delivered_at - canceled_at - requires_shipping - 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 ID of the location the items are fulfilled from. packed_at: type: string title: packed_at description: The date the items were packed. format: date-time shipped_at: type: string title: shipped_at description: The date the items were shipped. format: date-time delivered_at: type: string title: delivered_at description: The date the items were delivered. format: date-time canceled_at: type: string title: canceled_at description: The date the items were canceled. format: date-time data: type: object description: Data useful for the fulfillment provider handling it. This is taken from the associated shipping option. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property provider_id: type: string title: provider_id description: The ID of the fulfillment provider used to handle the fulfillment. shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. metadata: type: object description: The fulfillment's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the fulfillment was created. updated_at: type: string format: date-time title: updated_at description: The date the fulfillment was updated. requires_shipping: type: boolean title: requires_shipping description: Whether the fulfillment requires shipping. AdminOrderLineItem: type: object description: The item's details. x-schemaName: AdminOrderLineItem required: - title - metadata - id - subtitle - thumbnail - created_at - updated_at - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - 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 - 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 URL of the item's thumbnail. variant: $ref: '#/components/schemas/AdminProductVariant' variant_id: type: string title: variant_id description: The ID of the associated variant. product: $ref: '#/components/schemas/AdminProduct' product_id: type: string title: product_id description: The ID of the associated product. 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 ID of the collection the item's product belongs to. 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 values of the item variant's options. example: Color: Blue requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. is_discountable: type: boolean title: is_discountable description: Whether the item is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the item is tax inclusive. compare_at_unit_price: type: number title: compare_at_unit_price description: The original price of the item before a promotion or sale. 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: type: object created_at: type: string format: date-time title: created_at description: The date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. metadata: type: object description: The item's metadata, can hold custom key-value pairs. original_total: type: number title: original_total description: The item's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The item's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the item, excluding promotions. item_total: type: number title: item_total description: The total taxes of the item, including promotions. item_subtotal: type: number title: item_subtotal description: The item's total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The total taxes of the item, including promotions. total: type: number title: total description: The item's total, including taxes and promotions. subtotal: type: number title: subtotal description: The item's subtotal excluding taxes, including promotions. tax_total: type: number title: tax_total description: The tax total of the item including promotions. discount_total: type: number title: discount_total description: The total discount amount of the item. discount_tax_total: type: number title: discount_tax_total description: The total taxes applied on the discounted amount. refundable_total: type: number title: refundable_total description: The total refundable amount of the item's total. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The total refundable amount of the item's total for a single quantity. AdminOrderPreview: type: object description: A preview of an order if a change, such as exchange, return, edit, or claim is applied on it. x-schemaName: AdminOrderPreview required: - return_requested_total - order_change - currency_code - id - created_at - updated_at - email - version - region_id - customer_id - sales_channel_id - payment_collections - payment_status - fulfillment_status - summary - 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 total of the requested return. order_change: $ref: '#/components/schemas/AdminOrderChange' items: type: array description: The order's items. items: allOf: - type: object description: An order's item. 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 URL of the item's thumbnail. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The ID of the associated variant. product: $ref: '#/components/schemas/AdminProduct' product_id: type: string title: product_id description: The ID of the associated product. product_title: type: string title: product_title description: The title of the item's product. product_description: type: string title: product_description description: The description of the item's product. product_subtitle: type: string title: product_subtitle description: The subtitle of the item's product. product_type: type: string title: product_type description: The ID of type of the item's product. product_collection: type: string title: product_collection description: The ID of collection of the item's product. product_handle: type: string title: product_handle description: The handle of the item's product. variant_sku: type: string title: variant_sku description: The SKU of the item's variant. variant_barcode: type: string title: variant_barcode description: The barcode of the item's variant. variant_title: type: string title: variant_title description: The title of the item's variant. variant_option_values: type: object description: The option values of the item's variant as key-value pairs. The key is the title of an option, and the value is the option's value. requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. is_discountable: type: boolean title: is_discountable description: Whether the item is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the item's price includes taxes. compare_at_unit_price: type: number title: compare_at_unit_price description: The original price of the item before a promotion or sale. 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 date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. metadata: type: object description: The item's metadata, can hold custom key-value pairs. original_total: type: number title: original_total description: The item's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The item's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The tax total of the item excluding promotions. item_total: type: number title: item_total description: The item's total for a single unit including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The item's total for a single unit excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The tax total for a single unit of the item including promotions. total: type: number title: total description: The item's total including taxes and promotions. subtotal: type: number title: subtotal description: The item's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The tax total of the item including promotions. discount_total: type: number title: discount_total description: The total of the item's discount / promotion. discount_tax_total: type: number title: discount_tax_total description: The tax total of the item's discount / promotion refundable_total: type: number title: refundable_total description: The total refundable amount of the item's total. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The total refundable amount of the item's total for a single unit. - type: object description: An order's item. properties: actions: type: array description: The actions applied on an item. items: type: object description: The action's details. x-schemaName: BaseOrderChangeAction shipping_methods: type: array description: The order's shipping methods. items: allOf: - type: object description: The shipping method's details. 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 ID of the order this shipping method belongs to. 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: Whether the shipping method's amount is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The data relevant for the fulfillment provider to process this shipment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/concepts#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. 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 total including taxes, excluding promotions. - type: number title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: oneOf: - type: string title: original_subtotal description: The shipping method's total excluding taxes, including promotions. - type: number title: original_subtotal description: The shipping method's total excluding taxes, including promotions. original_tax_total: oneOf: - type: string title: original_tax_total description: The tax total of the shipping method excluding promotions. - type: number title: original_tax_total description: The tax total of the shipping method excluding promotions. total: oneOf: - type: string title: total description: The shipping method's total including taxes and promotions. - type: number title: total description: The shipping method's total including taxes and promotions. subtotal: oneOf: - type: string title: subtotal description: The shipping method's total excluding taxes, including promotions. - type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. tax_total: oneOf: - type: string title: tax_total description: The tax total of the shipping method including promotions. - type: number title: tax_total description: The tax total of the shipping method including promotions. discount_total: oneOf: - type: string title: discount_total description: The total of the shipping method's promotion. - type: number title: discount_total description: The total of the shipping method's promotion. discount_tax_total: oneOf: - type: string title: discount_tax_total description: The tax total of the shipping method's promotion. - type: number title: discount_tax_total description: The shipping method's discount tax total. created_at: type: string format: date-time title: created_at description: The date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. - type: object description: The shipping method's details. properties: actions: type: array description: The actions applied on the shipping method. items: type: object description: The action's details. x-schemaName: BaseOrderChangeAction currency_code: type: string title: currency_code description: The order's currency code. version: type: number title: version description: The order's version when this preview is applied. id: type: string title: id description: The order's ID. region_id: type: string title: region_id description: The ID of the order's associated region. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel that the order was placed in. email: type: string title: email description: The email of the customer that placed the order. format: email display_id: type: number title: display_id description: The order's display ID. shipping_address: $ref: '#/components/schemas/AdminOrderAddress' billing_address: $ref: '#/components/schemas/AdminOrderAddress' payment_collections: type: array description: The order's payment collections. items: $ref: '#/components/schemas/AdminPaymentCollection' 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/AdminOrderFulfillment' 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the order was created. updated_at: type: string format: date-time title: updated_at description: The date the order was updated. original_item_total: type: number title: original_item_total description: The total of the order's items including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The total of the order's items excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The tax total of the order's items excluding promotions. item_total: type: number title: item_total description: The total of the order's items including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The total of the order's items excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The tax total of the order's items including promotions. original_total: type: number title: original_total description: The order's total excluding promotions, including taxes. original_subtotal: type: number title: original_subtotal description: The order's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The order's tax total, excluding promotions. total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The order's tax total including promotions. discount_total: type: number title: discount_total description: The order's discount or promotions total. discount_tax_total: type: number title: discount_tax_total description: The tax total of order's discount or promotion. 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 tax total of the order's gift card. shipping_total: type: number title: shipping_total description: The order's shipping total including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The tax total of the order's shipping. original_shipping_total: type: number title: original_shipping_total description: The order's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The tax total of the order's shipping excluding promotions. customer: $ref: '#/components/schemas/AdminCustomer' sales_channel: $ref: '#/components/schemas/AdminSalesChannel' AdminOrderPreviewResponse: type: object description: The preview of an order. x-schemaName: AdminOrderPreviewResponse required: - order properties: order: $ref: '#/components/schemas/AdminOrderPreview' AdminOrderResponse: type: object description: An order's details. x-schemaName: AdminOrderResponse required: - order properties: order: $ref: '#/components/schemas/AdminOrder' AdminOrderReturnResponse: type: object description: The order return details. x-schemaName: AdminOrderReturnResponse required: - order - return properties: order: $ref: '#/components/schemas/Order' return: $ref: '#/components/schemas/AdminReturn' AdminOrderShippingMethod: type: object description: The shipping method's details. x-schemaName: AdminOrderShippingMethod 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 ID of the order the shipping method belongs to. 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: Whether the shipping method's amount includes applied taxes. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The shipping method's data, useful for fulfillment provider handling its fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. 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: type: number title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The shipping method's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The shipping method's total taxes excluding promotions. total: type: number title: total description: The shipping method's total including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The shipping method's tax total including promotions. discount_total: type: number title: discount_total description: The total discounts applied on the shipping method. discount_tax_total: type: number title: discount_tax_total description: The taxes applied on the discount amount. created_at: type: string format: date-time title: created_at description: The date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. detail: $ref: '#/components/schemas/BaseOrderShippingDetail' 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: type: number title: amount description: The payment's amount. authorized_amount: type: number title: authorized_amount description: The amount authorized of the payment. currency_code: type: string title: currency_code description: The payment's currency code. provider_id: type: string title: provider_id description: The ID of the payment provider used to process this payment. cart_id: type: string title: cart_id description: The ID of the associated cart. order_id: type: string title: order_id description: The ID of the associated order. order_edit_id: type: string title: order_edit_id description: The ID of the associated order edit. customer_id: type: string title: customer_id description: ID of the associated customer. data: type: object description: The payment's data, useful for processing by the payment provider. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment#whats-a-payment created_at: type: string format: date-time title: created_at description: The date the payment was created. updated_at: type: string format: date-time title: updated_at description: The date the payment was updated. captured_at: type: string format: date-time title: captured_at description: The date the payment was captured. canceled_at: type: string format: date-time title: canceled_at description: The date the payment was canceled. captured_amount: type: number title: captured_amount description: The captured amount of the payment. refunded_amount: type: number title: captured_amount description: The refunded amount of the payment. captures: type: array description: The details of payment captures. items: $ref: '#/components/schemas/BaseCapture' refunds: type: array description: The details of payment refunds. items: $ref: '#/components/schemas/AdminRefund' payment_collection: type: object payment_session: $ref: '#/components/schemas/AdminPaymentSession' AdminPaymentCollection: type: object description: The payment collection's details. x-schemaName: AdminPaymentCollection required: - payment_providers - id - currency_code - region_id - amount - status 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 ID of the region this payment collection is associated with. amount: type: number title: amount description: The total amount to be paid. authorized_amount: type: number title: authorized_amount description: The total authorized amount of the collection's payments. captured_amount: type: number title: captured_amount description: The total captured amount of the collection's payments. refunded_amount: type: number title: refunded_amount description: The total refunded amount of the collection's payments. completed_at: type: string format: date-time title: completed_at description: The date the payment collection was completed. created_at: type: string format: date-time title: created_at description: The date the payment collection was created. updated_at: type: string format: date-time title: updated_at description: The date the payment collection was updated. metadata: type: object description: The payment collection's metadata, can hold custom key-value pairs. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment provider used to process the collection's payments and sessions. items: $ref: '#/components/schemas/AdminPaymentProvider' payment_sessions: type: array description: The payment collection's payment sessions. items: $ref: '#/components/schemas/AdminPaymentSession' payments: type: array description: The payment collection's payments. items: $ref: '#/components/schemas/AdminPayment' AdminPaymentCollectionResponse: type: object description: The payment collection's details. x-schemaName: AdminPaymentCollectionResponse required: - payment_collection properties: payment_collection: $ref: '#/components/schemas/AdminPaymentCollection' AdminPaymentProvider: type: object description: The payment provider's details. x-schemaName: AdminPaymentProvider required: - is_enabled - id properties: id: type: string title: id description: The payment provider's ID. is_enabled: type: boolean title: is_enabled description: Whether the payment provider is enabled. AdminPaymentResponse: type: object description: The payment's details. x-schemaName: AdminPaymentResponse required: - payment properties: payment: $ref: '#/components/schemas/AdminPayment' AdminPaymentSession: type: object description: The payment session's details. x-schemaName: AdminPaymentSession properties: id: type: string title: id description: The payment session's ID. amount: type: number title: amount description: The payment session's amount. currency_code: type: string title: currency_code description: The payment session's currency code. example: usd provider_id: type: string title: provider_id description: The ID of the payment provider processing this session. data: type: object description: The payment session's data, useful for the payment provider processing the payment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property context: type: object description: The context around the payment, such as the customer's details. example: customer: id: cus_123 status: type: string description: The payment session's status. enum: - authorized - captured - canceled - pending - requires_more - error authorized_at: type: string title: authorized_at description: The date the payment session was authorized. format: date-time payment_collection: type: object payment: $ref: '#/components/schemas/BasePayment' required: - id - amount - currency_code - provider_id - data - status AdminPostCancelClaimReqSchema: type: object description: The details of canceling a claim. x-schemaName: AdminPostCancelClaimReqSchema properties: no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the claim's cancelation. AdminPostCancelExchangeReqSchema: type: object description: The details of canceling an exchange. x-schemaName: AdminPostCancelExchangeReqSchema properties: no_notification: type: boolean title: no_notification description: Whether to send a notification to the customer about the exchange's cancelation. AdminPostCancelReturnReqSchema: type: object description: The details of canceling a return. x-schemaName: AdminPostCancelReturnReqSchema properties: no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the return's cancelation. AdminPostClaimItemsReqSchema: type: object description: The details of the order items to add to the claim. x-schemaName: AdminPostClaimItemsReqSchema properties: items: type: array description: The item's details. items: type: object description: An item's details. required: - id - quantity properties: id: type: string title: id description: The ID of the order's item. quantity: type: number title: quantity description: The quantity of the order's item to add to the claim. reason: type: string description: The reason the item is claimed. 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: A note that's only viewed by admin users. AdminPostClaimsAddItemsReqSchema: type: object description: The details of the outbound items to add to the claim. x-schemaName: AdminPostClaimsAddItemsReqSchema properties: items: type: array description: The outbound item's details. items: type: object description: An item's details. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The ID of the associated product variant. quantity: type: number title: quantity description: The quantity to send to the customer. unit_price: type: number title: unit_price description: The item's unit price. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The item's metadata, can hold custom key-value pairs. AdminPostClaimsItemsActionReqSchema: type: object description: The details to update in the item. x-schemaName: AdminPostClaimsItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. reason_id: type: string title: reason_id description: The ID of the return reason associated with the item. internal_note: type: string title: internal_note description: A note that's only viewed by admin users. AdminPostClaimsShippingActionReqSchema: type: object description: The details to update in the shipping method. x-schemaName: AdminPostClaimsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The shipping method's custom amount. internal_note: type: string title: internal_note description: A note only viewed by admin users. metadata: type: object description: The claim's metadata, can hold custom key-value pairs. AdminPostClaimsShippingReqSchema: type: object description: The details of the shipping method used to ship outbound items. x-schemaName: AdminPostClaimsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. custom_amount: type: number title: custom_amount description: Set a custom price for the shipping method. description: type: string title: description description: The shipping method's description. internal_note: type: string title: internal_note description: A note only viewed by admin users. metadata: type: object description: The claim's metadata, can hold custom key-value pairs. AdminPostExchangesAddItemsReqSchema: type: object description: The details of outbound items. x-schemaName: AdminPostExchangesAddItemsReqSchema properties: items: type: array description: The details of outbound items. items: type: object description: An item's details. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The ID of the associated product variant. 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: A note viewed only by admin users. allow_backorder: type: boolean title: allow_backorder description: Whether the item can be added even if it's not in stock. metadata: type: object description: The item's metadata, can hold custom key-value pairs. AdminPostExchangesItemsActionReqSchema: type: object description: The details to update in an outbound item. x-schemaName: AdminPostExchangesItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note only viewed by admin users. AdminPostExchangesRequestItemsReturnActionReqSchema: type: object description: The details to update in an inbound (returned) item. x-schemaName: AdminPostExchangesRequestItemsReturnActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. reason_id: type: string title: reason_id description: The ID of the associated return reason. metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. AdminPostExchangesReturnRequestItemsReqSchema: type: object description: The details of the inbound (return) items. x-schemaName: AdminPostExchangesReturnRequestItemsReqSchema properties: items: type: array description: The details of the inbound (return) items. items: type: object description: An item's details. required: - id - quantity properties: id: type: string title: id description: The ID of the order's item. 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: A note viewed only by admin users. reason_id: type: string title: reason_id description: The ID of the return reason to associate with the item. metadata: type: object description: The item's metadata, can hold custom key-value pairs. AdminPostExchangesShippingActionReqSchema: type: object description: The details of the shipping method to update. x-schemaName: AdminPostExchangesShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: The shipping method's custom amount. internal_note: type: string title: internal_note description: A note viewed by admin users only. metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. AdminPostExchangesShippingReqSchema: type: object description: The outbound shipping method's details. x-schemaName: AdminPostExchangesShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. custom_amount: type: number title: custom_amount description: Set a custom amount for the shipping method. description: type: string title: description description: The shipping method's description. internal_note: type: string title: internal_note description: A note viewed by admin users only. metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. AdminPostOrderClaimsReqSchema: type: object description: The claim's details. 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 ID of the order the claim is created for. description: type: string title: description description: The claim's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. reason_id: type: string title: reason_id description: The ID of the associated return reason. metadata: type: object description: The claim's metadata, can hold custom key-value pairs. AdminPostOrderEditsAddItemsReqSchema: type: object description: The details of items to be edited. x-schemaName: AdminPostOrderEditsAddItemsReqSchema properties: items: type: array description: The details of items to be edited. items: type: object description: An item's details. required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The ID of the associated product variant. 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: A note viewed only by admin users. allow_backorder: type: boolean title: allow_backorder description: Whether the item can be added even if there's no available invenotory quantity of the variant. metadata: type: object description: The item's metadata, can hold custom key-value pairs. AdminPostOrderEditsItemsActionReqSchema: type: object description: The details to update in the item. x-schemaName: AdminPostOrderEditsItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. unit_price: type: number title: unit_price description: The item's unit price. AdminPostOrderEditsReqSchema: type: object description: The order edit's details. x-schemaName: AdminPostOrderEditsReqSchema required: - order_id properties: order_id: type: string title: order_id description: The ID of the order this edit is for. description: type: string title: description description: The order edit's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The order edit's metadata, can hold custom key-value pairs. AdminPostOrderEditsShippingActionReqSchema: type: object description: The shipping method's details. x-schemaName: AdminPostOrderEditsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: Set a custom price for the shipping method. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The order edit's metadata, can hold custom key-value pairs. AdminPostOrderEditsShippingReqSchema: type: object description: The shipping method's details. x-schemaName: AdminPostOrderEditsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. custom_amount: type: number title: custom_amount description: Set a custom price for the shipping method. description: type: string title: description description: The shipping method's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. AdminPostOrderEditsUpdateItemQuantityReqSchema: type: object description: The order item's details to update. x-schemaName: AdminPostOrderEditsUpdateItemQuantityReqSchema required: - quantity properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. unit_price: type: number title: unit_price description: The item's unit price. AdminPostOrderExchangesReqSchema: type: object description: The exchange's details. x-schemaName: AdminPostOrderExchangesReqSchema required: - order_id properties: order_id: type: string title: order_id description: The ID of the order this exchange is created for. description: type: string title: description description: The exchange's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. AdminPostReceiveReturnsReqSchema: type: object description: The return receival details. x-schemaName: AdminPostReceiveReturnsReqSchema properties: internal_note: type: string title: internal_note description: A note viewed only by admin users. description: type: string title: description description: The return's description. metadata: type: object description: The return's metadata, can hold custom key-value pairs. AdminPostReturnsConfirmRequestReqSchema: type: object description: The confirmation's details. x-schemaName: AdminPostReturnsConfirmRequestReqSchema properties: no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the confirmation. AdminPostReturnsDismissItemsActionReqSchema: type: object description: The details to update of the damaged item. x-schemaName: AdminPostReturnsDismissItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. AdminPostReturnsReceiveItemsActionReqSchema: type: object description: The details of the received item. x-schemaName: AdminPostReturnsReceiveItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. AdminPostReturnsReceiveItemsReqSchema: type: object description: The items details. x-schemaName: AdminPostReturnsReceiveItemsReqSchema properties: items: type: array description: The items details. items: type: object description: An item's details. required: - id - quantity properties: id: type: string title: id description: The ID of the item in the order. 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: A note viewed only by admin users. AdminPostReturnsReqSchema: type: object description: The return's details. x-schemaName: AdminPostReturnsReqSchema required: - order_id properties: order_id: type: string title: order_id description: The ID of the order the return belongs to. location_id: type: string title: location_id description: The ID of the location the items are returned to. description: type: string title: description description: The return's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. no_notification: type: boolean title: no_notification description: Whether to send the customer a notification about the created return. metadata: type: object description: The return's metadata, can hold custom key-value pairs. AdminPostReturnsRequestItemsActionReqSchema: type: object description: The details to update in the item. x-schemaName: AdminPostReturnsRequestItemsActionReqSchema properties: quantity: type: number title: quantity description: The item's quantity. internal_note: type: string title: internal_note description: A note viewed only by admin users. reason_id: type: string title: reason_id description: The ID of the associated return reason. metadata: type: object description: The claim's metadata, can hold custom key-value pairs. AdminPostReturnsRequestItemsReqSchema: type: object description: The items' details. x-schemaName: AdminPostReturnsRequestItemsReqSchema properties: items: type: array description: The items' details. 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. description: type: string title: description description: The item's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. reason_id: type: string title: reason_id description: The ID of the associated return reason. metadata: type: object description: The item's metadata, can hold custom key-value pairs. AdminPostReturnsReturnReqSchema: type: object description: The return's details. x-schemaName: AdminPostReturnsReturnReqSchema properties: location_id: type: string title: location_id description: The ID of the location to return items to. no_notification: type: boolean title: no_notification description: Whether the customer should receive notifications about updates to the return. metadata: type: object description: The return's metadata, can hold custom key-value pairs. AdminPostReturnsShippingActionReqSchema: type: object description: The shipping method's details. x-schemaName: AdminPostReturnsShippingActionReqSchema properties: custom_amount: type: number title: custom_amount description: Set a custom price for the shipping method. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The return's metadata, can hold custom key-value pairs. AdminPostReturnsShippingReqSchema: type: object description: The shipping method's details. x-schemaName: AdminPostReturnsShippingReqSchema required: - shipping_option_id properties: shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. custom_amount: type: number title: custom_amount description: Set the price of the shipping method. description: type: string title: description description: The shipping method's description. internal_note: type: string title: internal_note description: A note viewed only by admin users. metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. AdminPrice: type: object description: The price's details. 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. example: usd 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 minimum quantity that must be available in the cart for the price to be applied. max_quantity: type: number title: max_quantity description: The maximum quantity allowed to be available in the cart for the price to be applied. price_set_id: type: string title: price_set_id description: The ID of the associated price set. created_at: type: string format: date-time title: created_at description: The date the price was created. updated_at: type: string format: date-time title: updated_at description: The date the price was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the price was deleted. 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 date the price list starts. ends_at: type: string title: ends_at description: The date the price list ends. 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 date the price list was created. updated_at: type: string format: date-time title: updated_at description: The date the price list was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the price list was deleted. AdminPriceListBatchResponse: type: object description: The details of the created, updated, and deleted prices in a price list. x-schemaName: AdminPriceListBatchResponse required: - created - updated - deleted properties: created: type: array description: The created prices. items: $ref: '#/components/schemas/AdminPrice' updated: type: array description: The updated prices. items: $ref: '#/components/schemas/AdminPrice' deleted: type: object description: The details of the deleted prices. required: - ids - object - deleted properties: ids: type: array description: The IDs of the deleted prices. items: type: string title: ids description: A price's ID. object: type: string title: object description: The name of the deleted object. default: price deleted: type: boolean title: deleted description: Whether the prices were deleted. AdminPriceListDeleteResponse: type: object description: The details of the deleted price list. 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: The paginated list of price lists. x-schemaName: AdminPriceListListResponse required: - limit - offset - count - price_lists 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. price_lists: type: array description: The list of price lists. items: $ref: '#/components/schemas/AdminPriceList' AdminPriceListPrice: type: object description: The details of a price list's price. 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 ID of the product variant this price list is for. 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. example: usd 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 minimum quantity that must be available in the cart for the price to be applied. max_quantity: type: number title: max_quantity description: The maximum quantity allowed to be available in the cart for the price to be applied. price_set_id: type: string title: price_set_id description: The ID of the price set this price belongs to. created_at: type: string format: date-time title: created_at description: The date the price was created. updated_at: type: string format: date-time title: updated_at description: The date the price was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the price was deleted. AdminPriceListResponse: type: object description: The price list's details. 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. example: region_id value: type: string title: value description: The price preference's value. example: reg_123 is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether prices matching this preference include taxes. created_at: type: string format: date-time title: created_at description: The date the price preference was created. updated_at: type: string format: date-time title: updated_at description: The date the price preference was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the price preference was deleted. AdminPricePreferenceDeleteResponse: type: object description: The details of the deleted price preference. 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: The paginated list of price preferences. x-schemaName: AdminPricePreferenceListResponse required: - limit - offset - count - price_preferences 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 count of items. price_preferences: type: array description: The list of price preferences. items: $ref: '#/components/schemas/AdminPricePreference' AdminPricePreferenceResponse: type: object description: The price preference's details. x-schemaName: AdminPricePreferenceResponse required: - price_preference properties: price_preference: $ref: '#/components/schemas/AdminPricePreference' AdminProduct: type: object description: The product's details. x-schemaName: AdminProduct required: - variants - type - options - images - length - title - status - description - id - handle - subtitle - is_giftcard - thumbnail - width - weight - height - origin_country - hs_code - mid_code - material - collection_id - type_id - discountable - external_id - created_at - updated_at - deleted_at properties: collection: $ref: '#/components/schemas/AdminCollection' categories: type: array description: The product's categories. items: $ref: '#/components/schemas/AdminProductCategory' sales_channels: type: array description: The sales channels that the product is available in. items: $ref: '#/components/schemas/AdminSalesChannel' variants: type: array description: The product's variants. items: $ref: '#/components/schemas/AdminProductVariant' type: $ref: '#/components/schemas/AdminProductType' tags: type: array description: The product's tags. items: $ref: '#/components/schemas/AdminProductTag' 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/AdminProductOption' 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the product was created. updated_at: type: string format: date-time title: updated_at description: The date the product was updated. handle: type: string title: handle description: The product's unique handle. subtitle: type: string title: subtitle description: The product's subtitle. is_giftcard: type: boolean title: is_giftcard description: Whether the product is a gift card. 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_id: type: string title: collection_id description: The ID of the collection that the product belongs to. type_id: type: string title: type_id description: The ID of the product's type. images: type: array description: The product's images. items: $ref: '#/components/schemas/AdminProductImage' discountable: type: boolean title: discountable description: Whether discounts can be applied on the product. external_id: type: string title: external_id description: The ID of a product in an external system, such as an ERP or CMS. deleted_at: type: string format: date-time title: deleted_at description: The date the product was deleted. AdminProductCategory: type: object description: The product category's details. 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 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the category was created. updated_at: type: string format: date-time title: updated_at description: The date the category was updated. handle: type: string title: handle description: The category's unique handle. deleted_at: type: string format: date-time title: deleted_at description: The date the category was deleted. is_active: type: boolean title: is_active description: Whether the category is active. If disabled, the category isn't shown in the storefront. is_internal: type: boolean title: is_internal description: Whether the category is internal. If enabled, the category is only seen by admin users. rank: type: number title: rank description: The category's rank among sibling categories. parent_category_id: type: string title: parent_category_id description: The ID of the category's parent. AdminProductCategoryDeleteResponse: type: object description: The details of deleting the category. 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: The paginated list of product categories. x-schemaName: AdminProductCategoryListResponse required: - limit - offset - count - product_categories 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. product_categories: type: array description: The list of product categories. items: $ref: '#/components/schemas/AdminProductCategory' AdminProductCategoryResponse: type: object description: The product category's details. x-schemaName: AdminProductCategoryResponse required: - product_category properties: product_category: $ref: '#/components/schemas/AdminProductCategory' AdminProductDeleteResponse: type: object description: The details of the product deletion. 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. AdminProductImage: type: object description: The image's details. x-schemaName: AdminProductImage properties: id: type: string title: id description: The image's ID. url: type: string title: url description: The image's URL. created_at: type: string format: date-time title: created_at description: The date the image was created. updated_at: type: string format: date-time title: updated_at description: The date the image was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the image was deleted. metadata: type: object description: The image's metadata, can hold custom key-value pairs. required: - id - url AdminProductOption: type: object description: The product option's details. 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: type: object product_id: type: string title: product_id description: The ID of the product this option belongs to. values: type: array description: The product option's values. items: type: object metadata: type: object description: The product option's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the product option was created. updated_at: type: string format: date-time title: updated_at description: The date the product option was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the product option was deleted. AdminProductOptionDeleteResponse: type: object description: The details of the product option deletion. x-schemaName: AdminProductOptionDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product option's ID. object: type: string title: object description: The name of the deleted object. default: product_option deleted: type: boolean title: deleted description: Whether the product option was deleted. parent: $ref: '#/components/schemas/AdminProduct' AdminProductOptionResponse: type: object description: The product option's details. x-schemaName: AdminProductOptionResponse required: - product_option properties: product_option: $ref: '#/components/schemas/AdminProductOption' AdminProductOptionValue: type: object description: The product option value's details. x-schemaName: AdminProductOptionValue required: - id - value properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value. option: $ref: '#/components/schemas/AdminProductOption' option_id: type: string title: option_id description: The ID of the option this value belongs to. metadata: type: object description: The value's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the value was created. updated_at: type: string format: date-time title: updated_at description: The date the value was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the value was deleted. AdminProductResponse: type: object description: The product's details. x-schemaName: AdminProductResponse required: - product properties: product: $ref: '#/components/schemas/AdminProduct' AdminProductTag: type: object description: The product tag's details. 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 date the tag was created. updated_at: type: string format: date-time title: updated_at description: The date the tag was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the tag was deleted. metadata: type: object description: The tag's metadata, can hold custom key-value pairs. AdminProductTagDeleteResponse: type: object description: The details of the product tag deletion. 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: The paginated list of product tags. x-schemaName: AdminProductTagListResponse required: - limit - offset - count - product_tags 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. product_tags: type: array description: The list of product tags. items: $ref: '#/components/schemas/AdminProductTag' AdminProductTagResponse: type: object description: The product tag's details. x-schemaName: AdminProductTagResponse required: - product_tag properties: product_tag: $ref: '#/components/schemas/AdminProductTag' AdminProductType: type: object description: The product type's details. 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 date the type was created. updated_at: type: string format: date-time title: updated_at description: The date the type was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the type was deleted. metadata: type: object description: The type's metadata, can hold custom key-value pairs. AdminProductTypeDeleteResponse: type: object description: The details of the product type deletion. 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: The paginated list of product types. x-schemaName: AdminProductTypeListResponse required: - limit - offset - count - product_types 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. product_types: type: array description: The list of product types. items: $ref: '#/components/schemas/AdminProductType' AdminProductTypeResponse: type: object description: The product type's details. x-schemaName: AdminProductTypeResponse required: - product_type properties: product_type: $ref: '#/components/schemas/AdminProductType' AdminProductVariant: type: object description: The product variant's details. x-schemaName: AdminProductVariant required: - prices - options - id - title - sku - barcode - ean - upc - allow_backorder - manage_inventory - hs_code - origin_country - mid_code - material - weight - length - height - width - created_at - updated_at - deleted_at properties: prices: type: array description: The variant's prices. items: $ref: '#/components/schemas/AdminPrice' id: type: string title: id description: The variant's ID. title: type: string title: title description: The variant's title. sku: type: string title: sku description: The variant's SKU. barcode: type: string title: barcode description: The variant's barcode. ean: type: string title: ean description: The variant's EAN code. upc: type: string title: upc description: The variant's UPC. allow_backorder: type: boolean title: allow_backorder description: Whether the variant can be ordered even if it's out of stock. manage_inventory: type: boolean title: manage_inventory description: Whether the Medusa application manages the variant's inventory quantity and availablility. If disabled, the variant is always considered in stock. inventory_quantity: type: number title: inventory_quantity description: The variant's inventory quantity. This is only included if you pass in the `fields` query parameter a `+variants.inventory_quantity` parameter. hs_code: type: string title: hs_code description: The variant's HS code. origin_country: type: string title: origin_country description: The variant's origin country. mid_code: type: string title: mid_code description: The variant's MID code. material: type: string title: material description: The variant's material. 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. variant_rank: type: number title: variant_rank description: The variant's rank among its sibling variants. options: type: array description: The variant's option values. items: $ref: '#/components/schemas/AdminProductOptionValue' product: type: object product_id: type: string title: product_id description: The ID of the product that the variant belongs to. calculated_price: $ref: '#/components/schemas/BaseCalculatedPriceSet' created_at: type: string format: date-time title: created_at description: The date the variant was created. updated_at: type: string format: date-time title: updated_at description: The date the variant was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the variant was deleted. metadata: type: object description: The variant's metadata, can hold custom key-value pairs. AdminProductVariantDeleteResponse: type: object description: The details of the product variant's deletion. x-schemaName: AdminProductVariantDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The product variant's ID. object: type: string title: object description: The name of the deleted object. deleted: type: boolean title: deleted description: Whether the product variant was deleted. default: variant parent: $ref: '#/components/schemas/AdminProduct' AdminProductVariantInventoryBatchResponse: type: object description: The created, updated, and deleted associations between variants and inventory items. x-schemaName: AdminProductVariantInventoryBatchResponse required: - created - updated - deleted properties: created: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: The created associations between product variants and inventory items. items: type: object description: A created association between a product variant and an inventory item. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The product variant's details. required: - variant_id properties: variant_id: type: string title: variant_id description: The ID of the product variant. inventoryService: type: object description: The inventory item's details. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item. updated: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: The updated associations between product variants and inventory items. items: type: object description: An updated association between a product variant and an inventory item. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The product variant's details. required: - variant_id properties: variant_id: type: string title: variant_id description: The ID of the product variant. inventoryService: type: object description: The inventory item's details. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item. deleted: oneOf: - $ref: '#/components/schemas/AdminProductVariantInventoryLink' - type: array description: The deleted associations between product variants and inventory items. items: type: object description: An deleted association between a product variant and an inventory item. x-schemaName: AdminProductVariantInventoryLink required: - productService - inventoryService properties: productService: type: object description: The product variant's details. required: - variant_id properties: variant_id: type: string title: variant_id description: The ID of the product variant. inventoryService: type: object description: The inventory item's details. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item. AdminProductVariantInventoryLink: type: object description: The details of an association between a product variant and an inventory item. x-schemaName: AdminProductVariantInventoryLink required: - Product - Inventory properties: Product: type: object description: The product variant's details. required: - variant_id properties: variant_id: type: string title: variant_id description: The ID of the product variant. Inventory: type: object description: The inventory item's details. required: - inventory_item_id properties: inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item. AdminProductVariantInventoryLinkDeleteResponse: type: object description: The details of the deleted associated between a product variant and an inventory item. 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. default: variant-inventory-item-link deleted: type: boolean title: deleted description: Whether the association was deleted. parent: $ref: '#/components/schemas/AdminProductVariant' AdminProductVariantResponse: type: object description: The product variant's details. 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: application_method: type: object rules: type: array description: The promotion's rules. items: $ref: '#/components/schemas/AdminPromotionRule' id: type: string title: id description: The promotion's ID. code: type: string title: code description: The promotion's code. example: OFF50 type: type: string description: The promotion's type. enum: - standard - buyget is_automatic: type: boolean title: is_automatic description: Whether the promotion is applied on a cart automatically if it matches the promotion's rules. campaign_id: type: string title: campaign_id description: The ID of the campaign this promotion belongs to. campaign: $ref: '#/components/schemas/AdminCampaign' AdminPromotionResponse: type: object description: The promotion's details. x-schemaName: AdminPromotionResponse required: - promotion properties: promotion: $ref: '#/components/schemas/AdminPromotion' AdminPromotionRule: type: object description: The promotion rule's details. x-schemaName: AdminPromotionRule required: - id - values properties: id: type: string title: id description: The promotion rule's ID. description: type: string title: description description: The promotion rule's description. attribute: type: string title: attribute description: The promotion rule's attribute. example: customer_group_id operator: type: string description: The rule's operator. enum: - gt - lt - eq - ne - in - lte - gte values: type: array description: The rule's values. example: - cusgroup_123 items: $ref: '#/components/schemas/BasePromotionRuleValue' AdminRefund: type: object description: The refund's details. x-schemaName: AdminRefund required: - id - amount - created_at - payment properties: id: type: string title: id description: The refund's ID. amount: type: number title: amount description: The refund's amount. refund_reason_id: type: string title: refund_reason_id description: The ID of the refund reason. note: type: string title: note description: More details about the refund. created_at: type: string format: date-time title: created_at description: The date the refund was created. created_by: type: string title: created_by description: The ID of the user that created the refund. payment: $ref: '#/components/schemas/BasePayment' refund_reason: $ref: '#/components/schemas/RefundReason' 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the refund reason was created. updated_at: type: string format: date-time title: updated_at description: The date the refund reason was updated. AdminRegion: type: object description: The region's details. x-schemaName: AdminRegion required: - name - currency_code - id 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. example: usd automatic_taxes: type: boolean title: automatic_taxes description: Whether taxes are applied automatically during checkout. countries: type: array description: The region's countries. items: $ref: '#/components/schemas/AdminRegionCountry' payment_providers: type: array description: The region's payment providers. items: $ref: '#/components/schemas/AdminPaymentProvider' metadata: type: object description: The region's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the region was created. updated_at: type: string format: date-time title: updated_at description: The date the region was updated. AdminRegionCountry: type: object description: The country's details. x-schemaName: AdminRegionCountry required: - id properties: id: type: string title: id description: The country's ID. iso_2: type: string title: iso_2 description: The country's iso 2. example: us iso_3: type: string title: iso_3 description: The country's iso 3. example: usa num_code: type: string title: num_code description: The country's num code. example: 840 name: type: string title: name description: The country's name. display_name: type: string title: display_name description: The country's display name. AdminRegionResponse: type: object description: The region's details. 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 properties: id: type: string title: id description: The reservation's ID. line_item_id: type: string title: line_item_id description: The ID of the line item this reservation is for. location_id: type: string title: location_id description: The ID of the location the quantity is reserved from. quantity: type: number title: quantity description: The reservation's quantity. external_id: type: string title: external_id description: An ID in an external system description: type: string title: description description: The reservation's description. inventory_item_id: type: string title: inventory_item_id description: The ID of the inventory item this reservation is associated with. inventory_item: $ref: '#/components/schemas/AdminInventoryItem' metadata: type: object description: The reservation's metadata, can hold custom key-value pairs. created_by: type: string title: created_by description: The ID of the user that created this reservation. deleted_at: type: string format: date-time title: deleted_at description: The date this reservation was deleted. created_at: type: string format: date-time title: created_at description: The date this reservation was created. updated_at: type: string format: date-time title: updated_at description: The date this reservation was updated. AdminReservationResponse: type: object description: The reservation's details. x-schemaName: AdminReservationResponse required: - reservation properties: reservation: $ref: '#/components/schemas/AdminReservation' AdminReturn: type: object description: The return's details. x-schemaName: AdminReturn required: - items - id - order_id - order_version - display_id - received_at - created_at - canceled_at properties: id: type: string title: id description: The return's ID. status: type: string description: The return's status. enum: - canceled - requested - received - partially_received refund_amount: type: number title: refund_amount description: The amount refunded by this return. order_id: type: string title: order_id description: The ID of the associated order. items: type: array description: The return's items. items: $ref: '#/components/schemas/AdminReturnItem' created_at: type: string format: date-time title: created_at description: The date the return was created. canceled_at: type: string title: canceled_at description: The date the return was canceled. format: date-time 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: Whether the customer should receive notifications about the return's updates. received_at: type: string title: received_at description: The date the return was received. AdminReturnItem: type: object description: The return item's details. 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 received quantity of the item. This quantity is added to the stocked inventory quantity of the item. damaged_quantity: type: number title: damaged_quantity description: The received damaged quantity of the item, which isn't added to the stocked inventory quantity of the item. reason_id: type: string title: reason_id description: The ID of the return reason associated with the item. note: type: string title: note description: A note about why the item was returned. item_id: type: string title: item_id description: The ID of the associated order item. return_id: type: string title: return_id description: The ID of the return this return item belongs to. metadata: type: object description: The return item's metadata, can hold custom key-value pairs. AdminReturnPreviewResponse: type: object description: The details of a return and a preview of the order once the return is applied. 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the return reason was created. updated_at: type: string format: date-time title: updated_at description: The date the return reason was updated. AdminReturnReasonDeleteResponse: type: object description: The details of the return reason deletion. 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: The paginated list of return reasons. x-schemaName: AdminReturnReasonListResponse required: - limit - offset - count - return_reasons 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. return_reasons: type: array description: The list of return reasons. items: $ref: '#/components/schemas/AdminReturnReason' AdminReturnReasonResponse: type: object description: The return reason's details. x-schemaName: AdminReturnReasonResponse required: - return_reason properties: return_reason: $ref: '#/components/schemas/AdminReturnReason' AdminReturnResponse: type: object description: The return's details. x-schemaName: AdminReturnResponse required: - return properties: return: $ref: '#/components/schemas/AdminReturn' AdminRevokeApiKey: type: object description: The details of revoking the API key. x-schemaName: AdminRevokeApiKey properties: revoke_in: type: number title: revoke_in description: The time in seconds to revoke the API key after. If not set, the API key is revoked immediately. AdminRuleAttributeOption: type: object description: The details of a potential rule attribute. x-schemaName: AdminRuleAttributeOption required: - id - value - label - operators properties: id: type: string title: id description: The rule attribute's ID, which is a rule's `attribute` it refers to. example: customer_group value: type: string title: value description: The rule attribute's value. example: customer.groups.id label: type: string title: label description: The rule attribute option's label. example: Customer Group operators: type: array description: The attribute's operators. items: $ref: '#/components/schemas/BaseRuleOperatorOptions' AdminRuleValueOption: type: object description: The details of a potential rule value. x-schemaName: AdminRuleValueOption required: - value - label properties: value: type: string title: value description: The rule value's value. example: reg_123 label: type: string title: label description: The rule value's label. example: Europe Region AdminSalesChannel: type: object description: The sales channel's details. 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: Whether the sales channel is disabled. metadata: type: object description: The sales channel's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the sales channel was created. updated_at: type: string format: date-time title: updated_at description: The date the sales channel was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the sales channel was deleted. AdminSalesChannelDeleteResponse: type: object description: The details of deleting a sales channel. 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: The sales channel's details. x-schemaName: AdminSalesChannelResponse required: - sales_channel properties: sales_channel: $ref: '#/components/schemas/AdminSalesChannel' AdminServiceZone: type: object description: The shipping option's service zone. 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: The details of the service zone deletion. x-schemaName: AdminServiceZoneDeleteResponse required: - id - object - deleted properties: id: type: string title: id description: The service zone's ID. object: type: string title: object description: The name of the deleted object. default: service_zone deleted: type: boolean title: deleted description: Whether the service zone was deleted. parent: $ref: '#/components/schemas/AdminFulfillmentSet' AdminServiceZoneResponse: type: object description: The service zone's details. x-schemaName: AdminServiceZoneResponse required: - service_zone properties: service_zone: $ref: '#/components/schemas/AdminServiceZone' AdminShippingOption: type: object description: The shipping option's details. x-schemaName: AdminShippingOption required: - id - name - price_type - service_zone_id - service_zone - provider_id - provider - shipping_option_type_id - type - shipping_profile_id - shipping_profile - rules - prices - data - metadata - created_at - updated_at - deleted_at 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. If it's `flat`, the price is fixed and is set in the `prices` property. If it's `calculated`, the price is calculated on checkout by the associated fulfillment provider. enum: - calculated - flat service_zone_id: type: string title: service_zone_id description: The ID of the service zone this option belongs to. service_zone: type: object provider_id: type: string title: provider_id description: The ID of the provider handling fulfillments created from this shipping option. provider: $ref: '#/components/schemas/AdminFulfillmentProvider' shipping_option_type_id: type: string title: shipping_option_type_id description: The ID of the associated shipping option type. type: $ref: '#/components/schemas/AdminShippingOptionType' shipping_profile_id: type: string title: shipping_profile_id description: The ID of the associated shipping profile. shipping_profile: $ref: '#/components/schemas/AdminShippingProfile' rules: type: array description: The shipping option's rules. items: $ref: '#/components/schemas/AdminShippingOptionRule' prices: type: array description: The shipping option's prices. If the `price_type` is `calculated`, this array will be empty since the price is calculated by the fulfillment provider during checkout. items: $ref: '#/components/schemas/AdminShippingOptionPrice' data: type: object description: The shipping option's data, useful for the fulfillment provider handling fulfillments created from this option. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property metadata: type: object description: The shipping option's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the shipping option was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping option was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the shipping option was deleted. AdminShippingOptionDeleteResponse: type: object description: The details of the shipping option's deletion. 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. AdminShippingOptionPrice: type: object description: The details of the shipping option's price. x-schemaName: AdminShippingOptionPrice required: - price_rules - rules_count - id - title - currency_code - amount - raw_amount - min_quantity - max_quantity - price_set_id - created_at - updated_at - deleted_at properties: price_rules: type: array description: The price's rules. items: $ref: '#/components/schemas/AdminShippingOptionPriceRule' rules_count: type: number title: rules_count description: The number of rules the price has. 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. example: usd 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 minimum quantity required in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity that the cart's items must not surpass for this price to apply. price_set_id: type: string title: price_set_id description: The ID of the price set this price belongs to. created_at: type: string format: date-time title: created_at description: The date the price was created. updated_at: type: string format: date-time title: updated_at description: The date the price was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the price was deleted. AdminShippingOptionPriceRule: type: object description: The details of a shipping option price's rule. x-schemaName: AdminShippingOptionPriceRule required: - id - value properties: id: type: string title: id description: The price rule's ID. value: type: string title: value description: The price rule's value. AdminShippingOptionResponse: type: object description: The shipping option's details. x-schemaName: AdminShippingOptionResponse required: - shipping_option properties: shipping_option: $ref: '#/components/schemas/AdminShippingOption' AdminShippingOptionRule: type: object description: The shipping option rule'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 shipping option rule's ID. attribute: type: string title: attribute description: The shipping option rule's attribute. example: is_return operator: type: string title: operator description: The shipping option rule's operator. example: eq value: oneOf: - type: string title: value description: The rule's value. example: '"true"' - type: array description: The rule's values. items: type: string title: value description: A rule's value example: '"true"' shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this rule is for. created_at: type: string format: date-time title: created_at description: The date the shipping option rule was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping option rule was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the shipping option rule was deleted. AdminShippingOptionType: type: object description: The shipping option's details. x-schemaName: AdminShippingOptionType required: - id - label - description - code - shipping_option_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The shipping option's ID. created_at: type: string format: date-time title: created_at description: The date the shipping option was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping option was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the shipping option was deleted. 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. shipping_option_id: type: string title: shipping_option_id description: The type's shipping option id. AdminShippingProfile: type: object description: The shipping profile's details.. x-schemaName: AdminShippingProfile properties: id: type: string title: id description: The shipping profile's ID. 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, holds custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the shipping profile was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping profile was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the shipping profile was deleted. required: - id - name - type - metadata - created_at - updated_at - deleted_at AdminShippingProfileDeleteResponse: type: object description: The details of the shipping profile's deletion. 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: The shipping profile's details. x-schemaName: AdminShippingProfileResponse required: - shipping_profile properties: shipping_profile: $ref: '#/components/schemas/AdminShippingProfile' AdminStockLocation: type: object description: The stock location's details. 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 ID of the associated address. address: $ref: '#/components/schemas/AdminStockLocationAddress' sales_channels: type: array description: The sales channels associated with the location. items: $ref: '#/components/schemas/AdminSalesChannel' fulfillment_providers: type: array description: The fulfillment providers associated with the location. items: $ref: '#/components/schemas/AdminFulfillmentProvider' fulfillment_sets: type: array description: The fulfillment sets associated with the location. items: type: object AdminStockLocationAddress: type: object description: The details of the stock location address. x-schemaName: AdminStockLocationAddress properties: id: type: string title: id description: The address's ID. 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. company: type: string title: company description: The address's company. country_code: type: string title: country_code description: The address's country code. example: us 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. required: - id - address_1 - address_2 - company - country_code - city - phone - postal_code - province AdminStockLocationDeleteResponse: type: object description: The details of the stock location's deletion. 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: The paginated list of stock locations. x-schemaName: AdminStockLocationListResponse required: - limit - offset - count - stock_locations 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. stock_locations: type: array description: The list of stock locations. items: $ref: '#/components/schemas/AdminStockLocation' AdminStockLocationResponse: type: object description: The stock location's details. 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 ID of the sales channel used by default in the store. default_region_id: type: string title: default_region_id description: The ID of the region used by default in the store. default_location_id: type: string title: default_location_id description: The ID of the stock location used by default in the store. metadata: type: object description: The store's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the store was created. updated_at: type: string format: date-time title: updated_at description: The date the store was updated. AdminStoreCurrency: type: object description: The details of a store's currency. 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 currency's ID. currency_code: type: string title: currency_code description: The currency's code. example: usd store_id: type: string title: store_id description: The ID of the store this currency belongs to. is_default: type: boolean title: is_default description: Whether this currency is the default in the store. currency: $ref: '#/components/schemas/AdminCurrency' created_at: type: string format: date-time title: created_at description: The date the currency was created. updated_at: type: string format: date-time title: updated_at description: The date the currency was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the currency was deleted. AdminStoreListResponse: type: object description: The paginated list of stores. x-schemaName: AdminStoreListResponse required: - limit - offset - count - stores 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. stores: type: array description: The list of stores. items: $ref: '#/components/schemas/AdminStore' AdminStoreResponse: type: object description: The store's details. x-schemaName: AdminStoreResponse required: - store properties: store: $ref: '#/components/schemas/AdminStore' AdminTaxRate: type: object description: The tax rate's details. 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 tax rate's ID. rate: type: number title: rate description: The rate to charge. example: 10 code: type: string title: code description: The code the tax rate is identified by. name: type: string title: name description: The tax rate's name. metadata: type: object description: The tax rate's metadata, can hold custom key-value pairs. tax_region_id: type: string title: tax_region_id description: The ID of the tax region this rate belongs to. is_combinable: type: boolean title: is_combinable description: Whether the tax rate should be combined with parent rates. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-rates-and-rules#combinable-tax-rates is_default: type: boolean title: is_default description: Whether this tax rate is the default in the tax region. created_at: type: string format: date-time title: created_at description: The date the tax rate was created. updated_at: type: string format: date-time title: updated_at description: The date the tax rate was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the tax rate was deleted. created_by: type: string title: created_by description: The ID of the user that created the tax rate. tax_region: $ref: '#/components/schemas/AdminTaxRegion' rules: type: array description: The tax rate's rules. items: $ref: '#/components/schemas/AdminTaxRateRule' AdminTaxRateDeleteResponse: type: object description: The details of the tax rate deletion. 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: The tax rate's details. x-schemaName: AdminTaxRateResponse required: - tax_rate properties: tax_rate: $ref: '#/components/schemas/AdminTaxRate' AdminTaxRateRule: type: object description: The tax rate rule's details. x-schemaName: AdminTaxRateRule required: - reference - reference_id properties: reference: type: string title: reference description: The name of the table this rule references. example: product_type reference_id: type: string title: reference_id description: The ID of a record in the table that this rule references. example: ptyp_1 AdminTaxRegion: type: object description: The tax region's details. x-schemaName: AdminTaxRegion required: - id - country_code - province_code - metadata - 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. country_code: type: string title: country_code description: The tax region's country code. example: us province_code: type: string title: province_code description: The tax region's province code. metadata: type: object description: The tax region's metadata, can hold custom key-value pairs. parent_id: type: string title: parent_id description: The ID of the parent tax region. created_at: type: string format: date-time title: created_at description: The date the tax region was created. updated_at: type: string format: date-time title: updated_at description: The date the tax region was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the tax region was deleted. created_by: type: string title: created_by description: The ID of the user that created the tax region. tax_rates: type: array description: The tax region's rates. items: type: object parent: type: object children: type: array description: The tax region's children. items: type: object AdminTaxRegionDeleteResponse: type: object description: The details of the tax region deletion. 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: The tax region's details. x-schemaName: AdminTaxRegionResponse required: - tax_region properties: tax_region: $ref: '#/components/schemas/AdminTaxRegion' AdminUpdateApiKey: type: object description: The details to update in an API key. x-schemaName: AdminUpdateApiKey required: - title properties: title: type: string title: title description: The API key's title. AdminUpdateCollection: type: object description: The details to update in a collection. 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, can hold custom key-value pairs. AdminUpdateCustomerGroup: type: object description: The details to update in a customer group. x-schemaName: AdminUpdateCustomerGroup properties: name: type: string title: name description: The customer group's name. metadata: type: object description: The customer group's metadata, can hold custom key-value pairs. AdminUpdatePriceList: type: object description: the details to update in a price list. 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 date the price list starts. ends_at: type: string title: ends_at description: The date the price list ends. 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. example: customer_group_id: - cusgrp_123 AdminUpdatePricePreference: type: object description: The details to update in the price preference. x-schemaName: AdminUpdatePricePreference properties: attribute: type: string title: attribute description: The price preference's attribute. example: region_id value: type: string title: value description: The price preference's value. example: reg_123 is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether prices are tax inclusive for this price preference. AdminUpdateProduct: type: object description: The product's details. x-schemaName: AdminUpdateProduct properties: title: type: string title: title description: The product's title. 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: Whether the product is a gift card. discountable: type: boolean title: discountable description: Whether discounts can be applied on the product. images: type: array description: The product's images. items: type: object description: The image's details. required: - url properties: url: type: string title: url description: The image's URL. thumbnail: type: string title: thumbnail description: The product's thumbnail URL. handle: type: string title: handle description: The product's unique handle. status: type: string description: The product's status. enum: - draft - proposed - published - rejected type_id: type: string title: type_id description: The ID of the product's type. collection_id: type: string title: collection_id description: The ID of the product's collection. categories: type: array description: The product's categories. items: type: object description: The product's category. required: - id properties: id: type: string title: id description: The category's ID. tags: type: array description: The product's tags. items: type: object description: The product's tag. required: - id properties: id: type: string title: id description: The tag's ID. options: type: array description: The product's options. items: $ref: '#/components/schemas/AdminUpdateProductOption' variants: type: array description: The product's variants. You can add new variants or update existing ones, passing their IDs in the object. items: oneOf: - $ref: '#/components/schemas/AdminCreateProductVariant' - $ref: '#/components/schemas/AdminUpdateProductVariant' sales_channels: type: array description: The sales channels that the product is available in. items: type: object description: The sales channel's details. required: - id properties: id: type: string title: id description: The sales channel's ID. 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. width: type: number title: width description: The product's width. 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. origin_country: type: string title: origin_country description: The product's origin country. material: type: string title: material description: The product's material. metadata: type: object description: The product's metadata, can hold custom key-value pairs. AdminUpdateProductOption: type: object description: The details to update in a product option. x-schemaName: AdminUpdateProductOption properties: title: type: string title: title description: The option's title. values: type: array description: The option's values. items: type: string title: values description: An option value. AdminUpdateProductVariant: type: object description: The properties to update of a product variant. x-schemaName: AdminUpdateProductVariant properties: title: type: string title: title description: The product variant's title. sku: type: string title: sku description: The product variant's SKU. ean: type: string title: ean description: The product variant's EAN. upc: type: string title: upc description: The product variant's UPC. barcode: type: string title: barcode description: The product variant's barcode. hs_code: type: string title: hs_code description: The product variant's HS code. mid_code: type: string title: mid_code description: The product variant's MID code. allow_backorder: type: boolean title: allow_backorder description: Whether customers can order the variant even if it's not in stock. manage_inventory: type: boolean title: manage_inventory description: Whether the Medusa application manages the variant's inventory. If disabled, the product variant is always considered in stock. variant_rank: type: number title: variant_rank description: The product variant's rank among its siblings. weight: type: number title: weight description: The product variant's weight. length: type: number title: length description: The product variant's length. height: type: number title: height description: The product variant's height. width: type: number title: width description: The product variant's width. origin_country: type: string title: origin_country description: The product variant's origin country. material: type: string title: material description: The product variant's material. metadata: type: object description: The product variant's metadata, can hold custom key-value pairs. prices: type: array description: The product variant's prices. items: $ref: '#/components/schemas/AdminCreateProductVariantPrice' options: type: object description: The product variant's options. AdminUpdatePromotionRule: 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 x-schemaName: AdminUpdatePromotionRule AdminUpdateReturnReason: type: object description: The details to update in a return reason. x-schemaName: AdminUpdateReturnReason properties: 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, can hold custom key-value pairs. required: - value - label AdminUpdateSalesChannel: type: object description: The properties to update in the sales channel. 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: Whether the sales channel is disabled. metadata: type: object description: The sales channel's metadata, can hold custom key-value pairs. AdminUpdateShippingOptionRule: 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 x-schemaName: AdminUpdateShippingOptionRule AdminUpdateStockLocation: type: object description: The properties to update in a stock location. x-schemaName: AdminUpdateStockLocation properties: name: type: string title: name description: The stock location's name. address: type: object description: The stock location's address. Pass this property if you're creating a new address to associate with the location. required: - address_1 - country_code properties: 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. 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. example: us 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 ID of an existing stock location address to associate the stock location with. metadata: type: object description: The stock location's metadata, can hold custom key-value pairs. AdminUpdateStore: type: object description: The properties to update in a store. 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: A store currency. required: - currency_code properties: currency_code: type: string title: currency_code description: The currency's code. example: usd is_default: type: boolean title: is_default description: Whether the currency is the default in the store. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether prices using this currency are tax inclusive. default_sales_channel_id: type: string title: default_sales_channel_id description: The ID of the default sales channel in the store. default_region_id: type: string title: default_region_id description: The ID of the default region in the store. default_location_id: type: string title: default_location_id description: The ID of the default stock location in the store. metadata: type: object description: The store's metadata, can hold custom key-value pairs. AdminUpdateTaxRate: type: object description: The properties to update in the tax rate. x-schemaName: AdminUpdateTaxRate properties: rate: type: number title: rate description: The rate to charge. code: type: string title: code description: The code that the tax rate is identified by. rules: type: array description: The tax rate's rules. items: type: object description: A tax rate rule. required: - reference - reference_id properties: reference: type: string title: reference description: The name of the table this rule references. example: product_type reference_id: type: string title: reference_id description: The ID of the record in the table that the rule references. example: ptyp_123 name: type: string title: name description: The tax rate's name. is_default: type: boolean title: is_default description: Whether the tax rate is the default in the store. is_combinable: type: boolean title: is_combinable description: Whether the tax rate should be combined with parent rates. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/tax/tax-rates-and-rules#combinable-tax-rates metadata: type: object description: The tax rate's metadata, can hold custom key-value pairs. AdminUpdateUser: type: object description: The properties to update in a user. 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 URL of the user's avatar. metadata: type: object description: The user's metadata, can hold custom key-value pairs. AdminUpdateVariantInventoryItem: type: object description: The properties to update of the variant's inventory item association. x-schemaName: AdminUpdateVariantInventoryItem required: - required_quantity properties: required_quantity: type: number title: required_quantity description: The number of units a single quantity is equivalent to. For example, if a customer orders one quantity of the variant, Medusa checks the availability of the quantity multiplied by the value set for `required_quantity`. When the customer orders the quantity, Medusa reserves the ordered quantity multiplied by the value set for `required_quantity`. AdminUpsertStockLocationAddress: type: object description: The details of the stock location address to create. x-schemaName: AdminUpsertStockLocationAddress required: - address_1 - country_code properties: 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. company: type: string title: company description: The address's company. country_code: type: string title: country_code description: The address's country code. example: usd 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 URL of the user's avatar. metadata: type: object description: The user's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the user was created. updated_at: type: string format: date-time title: updated_at description: The date the user was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the user was deleted. AdminUserDeleteResponse: type: object description: The details of the deleted user. 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: The paginated list of users. x-schemaName: AdminUserListResponse required: - limit - offset - count - users 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. users: type: array description: The list of users. items: $ref: '#/components/schemas/AdminUser' AdminUserResponse: type: object description: The user's details. x-schemaName: AdminUserResponse required: - user properties: user: $ref: '#/components/schemas/AdminUser' AdminWorkflowExecution: type: object description: The workflows execution's details. 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 ID of the workflow. 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 date the workflow execution was created. updated_at: type: string format: date-time title: updated_at description: The date the workflow execution was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the workflow execution was deleted. AdminWorkflowExecutionExecution: type: object description: The workflow execution's steps details. x-schemaName: AdminWorkflowExecutionExecution required: - steps properties: steps: type: object description: The execution's steps. Each object key is a step ID, and the value is the object whose properties are shown below. required: - id - invoke - definition - compensate - depth - startedAt additionalProperties: type: object properties: id: type: string title: id description: The step's ID. invoke: type: object description: The state of the step's invokation function. x-schemaName: WorkflowExecutionFn properties: state: type: string description: The invokation step's state. enum: - not_started - invoking - compensating - done - reverted - failed - dormant - skipped - skipped_failure - timeout status: type: string description: The invokation step's state. enum: - idle - ok - waiting_response - temp_failure - permanent_failure required: - state - status definition: type: object description: The step's definition details. x-schemaName: WorkflowExecutionDefinition properties: async: type: boolean title: async description: Whether the step is async. compensateAsync: type: boolean title: compensateAsync description: Whether the compensation function of the step is async. noCompensation: type: boolean title: noCompensation description: Whether the step doesn't have a compensation function. continueOnPermanentFailure: type: boolean title: continueOnPermanentFailure description: Whether the step continues executing even if its status is changed to failed. maxRetries: type: number title: maxRetries description: The maximum number of times to retry the step. noWait: type: boolean title: noWait description: Whether the workflow shouldn't wait for the step to finish before moving to the next step. default: false retryInterval: type: number title: retryInterval description: The interval in seconds between retry attempts when the step fails. retryIntervalAwaiting: type: number title: retryIntervalAwaiting description: The interval in seconds to retry a step even if its status is `waiting_response`. saveResponse: type: boolean title: saveResponse description: Whether the step's response is stored. timeout: type: number title: timeout description: The maximum time in seconds to wait for this step to complete. If the step exceeds this time, the step's state is changed to `timeout`, but the step continues executing. compensate: type: object description: The state of the step's compensation function. x-schemaName: WorkflowExecutionFn properties: state: type: string description: The compensation function's state. enum: - not_started - invoking - compensating - done - reverted - failed - dormant - skipped - skipped_failure - timeout status: type: string description: The compensation function's status. enum: - idle - ok - waiting_response - temp_failure - permanent_failure required: - state - status depth: type: number title: depth description: The step's depth in the workflow's execution. startedAt: type: number title: startedAt description: The timestamp the step started executing. AdminWorkflowExecutionResponse: type: object description: The workflow execution's details. 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 redacted form of the API key's token. This is useful when showing portion of the token. For example `sk_...123`. title: type: string title: title description: The API key's title. type: type: string description: The API key's type. `secret` API keys are used for authenticating admin users, and `publishable` API key are used for storefronts and similar clients to scope requests to sales channels. enum: - secret - publishable last_used_at: type: string title: last_used_at description: The date the API key was last used. format: date-time created_by: type: string title: created_by description: The ID of the user that created the API key. created_at: type: string title: created_at description: The date the API key was created. format: date-time revoked_by: type: string title: revoked_by description: The ID of the user that revoked the API key. revoked_at: type: string title: revoked_at description: The date the API key was revoked. 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' AuthCallbackResponse: type: object description: The authentication's details. x-schemaName: AuthCallbackResponse required: - location properties: location: type: string title: location description: The location to redirect the user to for further authentication with the third-party provider. 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' BaseCalculatedPriceSet: type: object description: The calculated price's details. 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: Whether the calculated price belongs to a price list. is_calculated_price_tax_inclusive: type: boolean title: is_calculated_price_tax_inclusive description: Whether the calculated price is tax inclusive. calculated_amount: type: number title: calculated_amount description: The amount of the calculated price, or `null` if there isn't a calculated price. This is the amount shown to the customer. calculated_amount_with_tax: type: number title: calculated_amount_with_tax description: The calculated price's amount with taxes applied. calculated_amount_without_tax: type: number title: calculated_amount_without_tax description: The calculated price's amount without taxes applied. is_original_price_price_list: type: boolean title: is_original_price_price_list description: Whether the original price belongs to a price list. is_original_price_tax_inclusive: type: boolean title: is_original_price_tax_inclusive description: Whether the original price is tax inclusive. original_amount: type: number title: original_amount description: The amount of the original price, or `null` if there isn't an original price. This amount is useful to compare with the `calculated_amount`, such as to check for discounted value. currency_code: type: string title: currency_code description: The calculated price's currency code. example: usd calculated_price: type: object description: The calculated price's details. properties: id: type: string title: id description: The calculated price's ID. price_list_id: type: string title: price_list_id description: The ID of the price list that the price belongs to. price_list_type: type: string title: price_list_type description: The price list's type. For example, `sale`. min_quantity: type: number title: min_quantity description: The minimum quantity required in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity required in the cart for this price to apply. required: - id - price_list_id - price_list_type - min_quantity - max_quantity original_price: type: object description: The original price's details. properties: id: type: string title: id description: The original price's ID. price_list_id: type: string title: price_list_id description: The ID of the price list that the price belongs to. price_list_type: type: string title: price_list_type description: The price list's type. For example, `sale`. min_quantity: type: number title: min_quantity description: The minimum quantity required in the cart for this price to apply. max_quantity: type: number title: max_quantity description: The maximum quantity required in the cart for this price to apply. required: - id - price_list_id - price_list_type - min_quantity - max_quantity BaseCapture: type: object description: The details of a captured payment. x-schemaName: BaseCapture required: - id - amount - created_at - payment properties: id: type: string title: id description: The payment capture's ID. amount: type: number title: amount description: The captured amount. created_at: type: string format: date-time title: created_at description: The date the capture was created. created_by: type: string title: created_by description: The ID of the user that captured the payment. payment: type: object BaseCart: type: object description: The item's cart. x-schemaName: BaseCart 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 cart's ID. region: $ref: '#/components/schemas/BaseRegion' 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: $ref: '#/components/schemas/BaseCartAddress' billing_address: $ref: '#/components/schemas/BaseCartAddress' items: type: array description: The cart's items. items: type: object shipping_methods: type: array description: The cart's shipping methods. items: $ref: '#/components/schemas/BaseCartShippingMethod' payment_collection: $ref: '#/components/schemas/BasePaymentCollection' metadata: type: object description: The cart's metadata. created_at: type: string format: date-time title: created_at description: The cart's created at. updated_at: type: string format: date-time title: updated_at description: The cart's updated at. original_item_total: type: number title: original_item_total description: The cart's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The cart's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The cart's original item tax total. item_total: type: number title: item_total description: The cart's item total. item_subtotal: type: number title: item_subtotal description: The cart's item subtotal. item_tax_total: type: number title: item_tax_total description: The cart's item tax total. original_total: type: number title: original_total description: The cart's original total. original_subtotal: type: number title: original_subtotal description: The cart's original subtotal. original_tax_total: type: number title: original_tax_total description: The cart's original tax total. total: type: number title: total description: The cart's total. subtotal: type: number title: subtotal description: The cart's subtotal. tax_total: type: number title: tax_total description: The cart's tax total. discount_total: type: number title: discount_total description: The cart's discount total. discount_tax_total: type: number title: discount_tax_total description: The cart's discount tax total. gift_card_total: type: number title: gift_card_total description: The cart's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The cart's gift card tax total. shipping_total: type: number title: shipping_total description: The cart's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The cart's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The cart's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The cart's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The cart's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The cart's original shipping tax total. BaseCartAddress: type: object description: The cart's shipping address. x-schemaName: BaseCartAddress BaseCartLineItem: type: object description: The tax line's item. 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: type: number title: quantity description: The item's quantity. 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: 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. tax_lines: type: array description: The item's tax lines. items: type: object 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: 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. BaseCartShippingMethod: type: object description: A cart's shipping method. 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 ID of the cart this shipping method belongs to. 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: Whether the shipping method's amount is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The shipping method's data, useful for fulfillment handling by third-party services. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/cart/concepts#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. 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, such as applied promotions. items: $ref: '#/components/schemas/BaseShippingMethodAdjustment' created_at: type: string format: date-time title: created_at description: The date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. original_total: type: string title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: type: string title: original_subtotal description: The shipping method's total excluding taxes, including promotions. original_tax_total: type: string title: original_tax_total description: The total taxes applied on the shipping method's amount including promotions. total: type: string title: total description: The shipping method's total amount including taxes and promotions. subtotal: type: string title: subtotal description: The shipping method's total amount excluding taxes, including promotions. tax_total: type: string title: tax_total description: The total taxes applied on the shipping method's amount including promotions. discount_total: type: string title: discount_total description: The total amount discounted. discount_tax_total: type: string title: discount_total description: The taxes applied on the discounted amount. BaseClaimItem: type: object description: The claim item's details. 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 ID of the claim this item belongs to. order_id: type: string title: order_id description: The ID of the order this item belongs to. item_id: type: string title: item_id description: The ID of the item in the order. quantity: type: number title: quantity description: The quantity claimed. reason: type: string description: The claim's reason. enum: - missing_item - wrong_item - production_failure - other raw_quantity: type: object description: The quantity claimed. properties: value: oneOf: - type: string title: value description: The raw quantity's value. - type: number title: value description: The raw quantity's value. required: - value metadata: type: object description: The item's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the claim was created. updated_at: type: string format: date-time title: updated_at description: The date the claim was updated. BaseCollection: type: object description: The collection's details. x-schemaName: BaseCollection BaseExchangeItem: type: object description: The item's details. x-schemaName: BaseExchangeItem required: - id - exchange_id - order_id - item_id - quantity - created_at - updated_at properties: id: type: string title: id description: The item's ID. exchange_id: type: string title: exchange_id description: The ID of the exchange this item belongs to. order_id: type: string title: order_id description: The ID of the order this item belongs to. item_id: type: string title: item_id description: The ID of the item in the order. quantity: type: number title: quantity description: The item's quantity. metadata: type: object description: The item's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. BaseFulfillmentProvider: type: object description: The fulfillment provider's details. 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: Whether the provider is enabled. BaseLineItemAdjustment: type: object description: The adjustment's details. x-schemaName: BaseLineItemAdjustment properties: item: type: object item_id: type: string title: item_id description: The ID of the item this adjustment applies on. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. cart_id: type: string title: cart_id description: The ID of the cart this adjustment belongs to. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion applied by this adjustment. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. required: - item - item_id - id - amount - cart_id - created_at - updated_at BaseLineItemTaxLine: type: object description: The tax line's details x-schemaName: BaseLineItemTaxLine properties: item: $ref: '#/components/schemas/BaseCartLineItem' item_id: type: string title: item_id description: The ID of the item the tax line applies on. total: type: number title: total description: The item's total, including taxes and promotions. subtotal: type: number title: subtotal description: The item's subtotal excluding taxes, including promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the associated tax rate. code: type: string title: code description: The code the tax rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. required: - item - item_id - total - subtotal - id - code - rate - created_at - updated_at BaseOrder: type: object description: The order's details. x-schemaName: BaseOrder 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 ID of the region associated with the order. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the order is placed in. email: type: string title: email description: The email of the customer that placed the order. 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the order was created. updated_at: type: string format: date-time title: updated_at description: The date the order was updated. original_item_total: type: number title: original_item_total description: The total of the order's items including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The total of the order's items excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The tax total of the order's items excluding promotions. item_total: type: number title: item_total description: The total of the order's items including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The total of the order's items excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The tax total of the order's items including promotions. original_total: type: number title: original_total description: The order's total excluding promotions, including taxes. original_subtotal: type: number title: original_subtotal description: The order's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The order's tax total, excluding promotions. total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The order's tax total including promotions. discount_total: type: number title: discount_total description: The order's discount or promotions total. discount_tax_total: type: number title: discount_tax_total description: The tax total of order's discount or promotion. 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 tax total of the order's gift card. shipping_total: type: number title: shipping_total description: The order's shipping total including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The tax total of the order's shipping. original_shipping_total: type: number title: original_shipping_total description: The order's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The tax total of the order's shipping excluding promotions. BaseOrderAddress: type: object description: An order address x-schemaName: BaseOrderAddress required: - id - metadata - created_at - updated_at properties: id: type: string title: id description: The address's ID. customer_id: type: string title: customer_id description: The ID of the customer this address belongs to. 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. phone: type: string title: phone description: The address's phone. company: type: string title: company description: The address's company. 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. example: us country: $ref: '#/components/schemas/AdminRegionCountry' province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. metadata: type: object description: The address's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the address was created. updated_at: type: string format: date-time title: updated_at description: The date the address was updated. 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 ID of the location the items are fulfilled from. packed_at: type: string title: packed_at description: The date the items were packed. format: date-time shipped_at: type: string title: shipped_at description: The date the items were shipped. format: date-time delivered_at: type: string title: delivered_at description: The date the items were delivered. format: date-time canceled_at: type: string title: canceled_at description: The date the items were canceled. format: date-time data: type: object description: Data useful for the fulfillment provider handling it. This is taken from the associated shipping option. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property provider_id: type: string title: provider_id description: The ID of the fulfillment provider used to handle the fulfillment. shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. metadata: type: object description: The fulfillment's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the fulfillment was created. updated_at: type: string format: date-time title: updated_at description: The date the fulfillment was updated. BaseOrderItemDetail: type: object description: The item's detail. x-schemaName: BaseOrderItemDetail required: - id - item_id - item - quantity - fulfilled_quantity - delivered_quantity - shipped_quantity - return_requested_quantity - return_received_quantity - return_dismissed_quantity - written_off_quantity - metadata - created_at - updated_at properties: id: type: string title: id description: the detail's ID. item_id: type: string title: id description: the ID of the associated line item. item: type: object quantity: type: number title: quantity description: The item's quantity. fulfilled_quantity: type: number title: fulfilled_quantity description: The item's fulfilled quantity. delivered_quantity: type: number title: fulfilled_quantity description: The item's delivered quantity. shipped_quantity: type: number title: shipped_quantity description: The item's shipped quantity. return_requested_quantity: type: number title: return_requested_quantity description: The item's quantity that's requested to be returned. return_received_quantity: type: number title: return_received_quantity description: The item's quantity that's returned and added to the underlying variant's stocked quantity. return_dismissed_quantity: type: number title: return_dismissed_quantity description: The item's quantity that's returned but damaged. So, it's not added to the underlying variant's stocked quantity. written_off_quantity: type: number title: written_off_quantity description: The item's quantity that's removed from the order. metadata: type: object title: metadata description: The item's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the detail was created. updated_at: type: string format: date-time title: updated_at description: The date the detail was updated. 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 URL of the item's thumbnail. variant: $ref: '#/components/schemas/BaseProductVariant' variant_id: type: string title: variant_id description: The ID of the associated variant. product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The ID of the associated product. 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 ID of the collection the item's product belongs to. 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 values of the item variant's options. example: Color: Blue requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. is_discountable: type: boolean title: is_discountable description: Whether the item is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the item is tax inclusive. compare_at_unit_price: type: number title: compare_at_unit_price description: The original price of the item before a promotion or sale. 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 date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. metadata: type: object description: The item's metadata, can hold custom key-value pairs. original_total: type: number title: original_total description: The item's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The item's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the item, excluding promotions. item_total: type: number title: item_total description: The total taxes of the item, including promotions. item_subtotal: type: number title: item_subtotal description: The item's total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The total taxes of the item, including promotions. total: type: number title: total description: The item's total, including taxes and promotions. subtotal: type: number title: subtotal description: The item's subtotal excluding taxes, including promotions. tax_total: type: number title: tax_total description: The tax total of the item including promotions. discount_total: type: number title: discount_total description: The total discount amount of the item. discount_tax_total: type: number title: discount_tax_total description: The total taxes applied on the discounted amount. refundable_total: type: number title: refundable_total description: The total refundable amount of the item's total. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The total refundable amount of the item's total for a single quantity. BaseOrderLineItemAdjustment: type: object description: The adjustment's details. x-schemaName: BaseOrderLineItemAdjustment properties: item: type: object item_id: type: string title: item_id description: The ID of the item this adjustment applies to. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. order_id: type: string title: order_id description: The ID of the associated order. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion that this applies on the order's item. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. required: - item - item_id - id - amount - order_id - created_at - updated_at BaseOrderLineItemTaxLine: type: object description: The tax line's tax lines. x-schemaName: BaseOrderLineItemTaxLine properties: item: type: object item_id: type: string title: item_id description: The ID of the associated line item. total: type: number title: total description: The tax line's total including promotions. subtotal: type: number title: subtotal description: The tax line's subtotal excluding promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider used to calculate the tax line. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. required: - item - item_id - total - subtotal - id - code - rate - created_at - updated_at BaseOrderShippingDetail: type: object description: Details of changes to a shipping method. x-schemaName: BaseOrderShippingDetail required: - id - shipping_method_id - shipping_method - created_at - updated_at properties: id: type: string title: id description: The ID of the new changes to the shipping method. shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method. shipping_method: type: object claim_id: type: string title: claim_id description: The ID of the associated claim. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. return_id: type: string title: return_id description: The ID of the associated return. created_at: type: string format: date-time title: created_at description: The date the shipping method change was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method change was updated. BaseOrderShippingMethod: type: object description: The shipping method's details. 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 ID of the order the shipping method belongs to. 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: Whether the shipping method's amount includes applied taxes. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The shipping method's data, useful for fulfillment provider handling its fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. 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: type: number title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The shipping method's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The shipping method's total taxes excluding promotions. total: type: number title: total description: The shipping method's total including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The shipping method's tax total including promotions. discount_total: type: number title: discount_total description: The total discounts applied on the shipping method. discount_tax_total: type: number title: discount_tax_total description: The taxes applied on the discount amount. created_at: type: string format: date-time title: created_at description: The date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. detail: $ref: '#/components/schemas/BaseOrderShippingDetail' BaseOrderShippingMethodAdjustment: type: object description: The adjustment's adjustments. x-schemaName: BaseOrderShippingMethodAdjustment properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method this adjustment applies on. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. order_id: type: string title: order_id description: The ID of the associated order. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion applied by this adjustment. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. required: - shipping_method - shipping_method_id - id - amount - order_id - created_at - updated_at BaseOrderShippingMethodTaxLine: type: object description: The tax line's details. x-schemaName: BaseOrderShippingMethodTaxLine properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method this tax line belongs to. total: type: number title: total description: The shipping method's total including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider handling the tax calculation. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. required: - shipping_method - shipping_method_id - total - subtotal - id - code - rate - created_at - updated_at BaseOrderSummary: type: object description: The order's summary details. x-schemaName: BaseOrderSummary required: - total - subtotal - total_tax - ordered_total - fulfilled_total - returned_total - return_request_total - write_off_total - paid_total - refunded_total properties: total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's total excluding taxes, including promotions. total_tax: type: number title: total_tax description: The order's total taxes. ordered_total: type: number title: ordered_total description: The order's total when it was placed. fulfilled_total: type: number title: fulfilled_total description: The total of the fulfilled items of the order. returned_total: type: number title: returned_total description: The total of the order's returned items. return_request_total: type: number title: return_request_total description: The total of the items requested to be returned. write_off_total: type: number title: write_off_total description: The total of the items removed from the order. paid_total: type: number title: paid_total description: The total amount paid. refunded_total: type: number title: refunded_total description: The total amount refunded. BaseOrderTransaction: type: object description: An order transaction's details. 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 ID of the order this transaction belongs to. amount: type: number title: amount description: The transaction's amount. currency_code: type: string title: currency_code description: The transaction's currency code. example: usd reference: type: string title: reference description: The name of a table that this transaction references. If this transaction is for captured payment, its value is `capture`. If this transaction is for refunded payment, its value is `refund`. enum: - capture - refund reference_id: type: string title: reference_id description: The ID of the referenced record in the referenced table. metadata: type: object description: The transaction's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date that the transaction was created. updated_at: type: string format: date-time title: updated_at description: The date that the transaction was updated. BasePayment: type: object description: The payment's details. x-schemaName: BasePayment required: - id - amount - currency_code - provider_id properties: id: type: string title: id description: The payment's ID. amount: type: number title: amount description: The payment's amount. authorized_amount: type: number title: authorized_amount description: The amount authorized of the payment. currency_code: type: string title: currency_code description: The payment's currency code. provider_id: type: string title: provider_id description: The ID of the payment provider used to process this payment. cart_id: type: string title: cart_id description: The ID of the associated cart. order_id: type: string title: order_id description: The ID of the associated order. order_edit_id: type: string title: order_edit_id description: The ID of the associated order edit. customer_id: type: string title: customer_id description: ID of the associated customer. data: type: object description: The payment's data, useful for processing by the payment provider. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment#whats-a-payment created_at: type: string format: date-time title: created_at description: The date the payment was created. updated_at: type: string format: date-time title: updated_at description: The date the payment was updated. captured_at: type: string format: date-time title: captured_at description: The date the payment was captured. canceled_at: type: string format: date-time title: canceled_at description: The date the payment was canceled. captured_amount: type: number title: captured_amount description: The captured amount of the payment. refunded_amount: type: number title: captured_amount description: The refunded amount of the payment. captures: type: array description: The details of payment captures. items: $ref: '#/components/schemas/BaseCapture' refunds: type: array description: The details of payment refunds. items: $ref: '#/components/schemas/BaseRefund' payment_collection: type: object payment_session: type: object BasePaymentCollection: type: object description: The payment collection's details. 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 ID of the region this payment collection is associated with. amount: type: number title: amount description: The total amount to be paid. authorized_amount: type: number title: authorized_amount description: The total authorized amount of the collection's payments. captured_amount: type: number title: captured_amount description: The total captured amount of the collection's payments. refunded_amount: type: number title: refunded_amount description: The total refunded amount of the collection's payments. completed_at: type: string format: date-time title: completed_at description: The date the payment collection was completed. created_at: type: string format: date-time title: created_at description: The date the payment collection was created. updated_at: type: string format: date-time title: updated_at description: The date the payment collection was updated. metadata: type: object description: The payment collection's metadata, can hold custom key-value pairs. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment provider used to process the collection's payments and sessions. 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 required: - id properties: id: type: string title: id description: The payment provider's ID. BasePaymentSession: type: object description: The payment session's details. x-schemaName: BasePaymentSession properties: id: type: string title: id description: The payment session's ID. amount: type: number title: amount description: The payment session's amount. currency_code: type: string title: currency_code description: The payment session's currency code. example: usd provider_id: type: string title: provider_id description: The ID of the payment provider processing this session. data: type: object description: The payment session's data, useful for the payment provider processing the payment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property context: type: object description: The context around the payment, such as the customer's details. example: customer: id: cus_123 status: type: string description: The payment session's status. enum: - authorized - captured - canceled - pending - requires_more - error authorized_at: type: string title: authorized_at description: The date the payment session was authorized. format: date-time payment_collection: type: object payment: $ref: '#/components/schemas/BasePayment' required: - id - amount - currency_code - provider_id - data - status 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: type: object 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 details. x-schemaName: BaseProductImage properties: id: type: string title: id description: The image's ID. url: type: string title: url description: The image's URL. created_at: type: string format: date-time title: created_at description: The date the image was created. updated_at: type: string format: date-time title: updated_at description: The date the image was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the image was deleted. metadata: type: object description: The image's metadata, can hold custom key-value pairs. required: - id - url BaseProductOption: type: object description: The product option's details. x-schemaName: BaseProductOption properties: id: type: string title: id description: The option's ID. title: type: string title: title description: The option's title. product: type: object product_id: type: string title: product_id description: The option's product id. values: type: array description: The option's values. items: $ref: '#/components/schemas/BaseProductOptionValue' 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. required: - id - title BaseProductOptionValue: type: object description: The product option value's details. x-schemaName: BaseProductOptionValue required: - id - value properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value. option: type: object option_id: type: string title: option_id description: The ID of the option this value belongs to. metadata: type: object description: The value's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the value was created. updated_at: type: string format: date-time title: updated_at description: The date the value was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the value was deleted. BaseProductTag: type: object description: The tag's tags. x-schemaName: BaseProductTag BaseProductVariant: type: object description: The product variant's details. x-schemaName: BaseProductVariant required: - 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: id: type: string title: id description: The variant's ID. title: type: string title: title description: The variant's title. sku: type: string title: sku description: The variant's SKU. barcode: type: string title: barcode description: The variant's barcode. ean: type: string title: ean description: The variant's EAN code. upc: type: string title: upc description: The variant's UPC. allow_backorder: type: boolean title: allow_backorder description: Whether the variant can be ordered even if it's out of stock. manage_inventory: type: boolean title: manage_inventory description: Whether the Medusa application manages the variant's inventory quantity and availablility. If disabled, the variant is always considered in stock. inventory_quantity: type: number title: inventory_quantity description: The variant's inventory quantity. This is only included if you pass in the `fields` query parameter a `+variants.inventory_quantity` parameter. hs_code: type: string title: hs_code description: The variant's HS code. origin_country: type: string title: origin_country description: The variant's origin country. mid_code: type: string title: mid_code description: The variant's MID code. material: type: string title: material description: The variant's material. 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. variant_rank: type: number title: variant_rank description: The variant's rank among its sibling variants. options: type: array description: The variant's option values. items: $ref: '#/components/schemas/BaseProductOptionValue' product: $ref: '#/components/schemas/BaseProduct' product_id: type: string title: product_id description: The ID of the product that the variant belongs to. calculated_price: $ref: '#/components/schemas/BaseCalculatedPriceSet' created_at: type: string format: date-time title: created_at description: The date the variant was created. updated_at: type: string format: date-time title: updated_at description: The date the variant was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the variant was deleted. metadata: type: object description: The variant's metadata, can hold custom key-value pairs. BasePromotionRuleValue: type: object description: The rule value's details. x-schemaName: BasePromotionRuleValue required: - id properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value. BaseRefund: type: object description: The refund's details. x-schemaName: BaseRefund required: - id - amount - created_at - payment properties: id: type: string title: id description: The refund's ID. amount: type: number title: amount description: The refund's amount. refund_reason_id: type: string title: refund_reason_id description: The ID of the refund reason. note: type: string title: note description: More details about the refund. created_at: type: string format: date-time title: created_at description: The date the refund was created. created_by: type: string title: created_by description: The ID of the user that created the refund. payment: type: object refund_reason: $ref: '#/components/schemas/RefundReason' BaseRegion: type: object description: The region's details. 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 details. x-schemaName: BaseRegionCountry properties: id: type: string title: id description: The country's ID. iso_2: type: string title: iso_2 description: The country's iso 2. example: us iso_3: type: string title: iso_3 description: The country's iso 3. example: usa num_code: type: string title: num_code description: The country's num code. example: 840 name: type: string title: name description: The country's name. display_name: type: string title: display_name description: The country's display name. required: - id BaseRuleOperatorOptions: type: object description: The operator's details. x-schemaName: BaseRuleOperatorOptions required: - id - value - label properties: id: type: string title: id description: The operator's ID. example: in value: type: string title: value description: The operator's value. example: in label: type: string title: label description: The operator's label. example: In BaseShippingMethodAdjustment: type: object description: The adjustment's details. x-schemaName: BaseShippingMethodAdjustment required: - shipping_method - shipping_method_id - id - amount - cart_id - created_at - updated_at properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method the adjustment is applied on. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. cart_id: type: string title: cart_id description: The ID of the associated cart. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion applied by this adjustment. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. BaseShippingMethodTaxLine: type: object description: The tax line's details. x-schemaName: BaseShippingMethodTaxLine required: - shipping_method - shipping_method_id - total - subtotal - id - code - rate - created_at - updated_at properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of this shipping method the tax line belongs to. total: type: number title: total description: The method's total including taxes and promotions. subtotal: type: number title: subtotal description: The method's total excluding taxes, including promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider that calculated the taxes. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. 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 address to create. x-schemaName: CreateAddress properties: customer_id: type: string title: customer_id description: The ID of the customer this address belongs to. 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. example: us 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, can hold custom key-value pairs. CustomerGroupInCustomerFilters: type: object description: Filter by customer groups to get their associated customers. x-schemaName: CustomerGroupInCustomerFilters required: - id - name - created_at - updated_at - deleted_at properties: id: oneOf: - type: string title: id description: Filter by a group's ID. - type: array description: Filter by group IDs. items: type: string title: id description: A group's ID. name: oneOf: - type: string title: name description: Filter by a group's name. - type: array description: Filter by group names. items: type: string title: name description: A group's name. created_at: type: object description: Filter by the group'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 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 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: Filter by the group'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 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 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: Filter by the group'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 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 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 InventoryLevel: type: object description: The inventory level's details 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 ID of the associated inventory item. 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. 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, can hold custom key-value pairs. Order: type: object description: The order change's order. x-schemaName: Order required: - id - version - status - currency_code - 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_subtotal - 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: id: type: string title: id description: The order's ID. version: type: number title: version description: The order's version. order_change: type: object status: type: string description: The order's status. enum: - canceled - requires_action - pending - completed - draft - archived region_id: type: string title: region_id description: The ID of the region the order belongs to. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the order was placed in. email: type: string title: email description: The email of the customer that placed the order. format: email currency_code: type: string title: currency_code description: The order's currency code. example: usd shipping_address: $ref: '#/components/schemas/OrderAddress' billing_address: $ref: '#/components/schemas/OrderAddress' items: type: array description: The order's items. items: $ref: '#/components/schemas/OrderLineItem' shipping_methods: type: array description: The order's shipping methods. items: $ref: '#/components/schemas/OrderShippingMethod' transactions: type: array description: The order's transactions. items: $ref: '#/components/schemas/OrderTransaction' summary: type: object description: The order's summary. metadata: type: object description: The order's metadata, can hold custom key-value pairs. canceled_at: type: string format: date-time title: canceled_at description: The date the order was canceled. created_at: type: string format: date-time title: created_at description: The date the order was created. updated_at: type: string format: date-time title: updated_at description: The date the order was updated. original_item_total: type: number title: original_item_total description: The order items' total including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The order items' total excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The taxes total for order items, excluding promotions. item_total: type: number title: item_total description: The order items' total including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The order items' total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The tax total of the order items including promotions. original_total: type: number title: original_total description: The order's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The order's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The tax total of the order excluding promotions. total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's subtotal excluding taxes, including promotions. tax_total: type: number title: tax_total description: The tax total of the order including promotions. discount_subtotal: type: number title: discount_subtotal description: The total discount excluding taxes. discount_total: type: number title: discount_total description: The total discount including taxes. discount_tax_total: type: number title: discount_tax_total description: The tax total applied on the discount. 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 including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The total taxes of the order's shipping including taxes. original_shipping_total: type: number title: original_shipping_total description: The order's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The total taxes of the order's shipping excluding promotions. raw_original_item_total: type: object description: The order's raw original item total. raw_original_item_subtotal: type: object description: The order's raw original item subtotal. raw_original_item_tax_total: type: object description: The order's raw original item tax total. raw_item_total: type: object description: The order's raw item total. raw_item_subtotal: type: object description: The order's raw item subtotal. raw_item_tax_total: type: object description: The order's raw item tax total. raw_original_total: type: object description: The order's raw original total. raw_original_subtotal: type: object description: The order's raw original subtotal. raw_original_tax_total: type: object description: The order's raw original tax total. raw_total: type: object description: The order's raw total. raw_subtotal: type: object description: The order's raw subtotal. raw_tax_total: type: object description: The order's raw tax total. raw_discount_total: type: object description: The order's raw discount total. raw_discount_tax_total: type: object description: The order's raw discount tax total. raw_gift_card_total: type: object description: The order's raw gift card total. raw_gift_card_tax_total: type: object description: The order's raw gift card tax total. raw_shipping_total: type: object description: The order's raw shipping total. raw_shipping_subtotal: type: object description: The order's raw shipping subtotal. raw_shipping_tax_total: type: object description: The order's raw shipping tax total. raw_original_shipping_total: type: object description: The order's raw original shipping total. raw_original_shipping_subtotal: type: object description: The order's raw original shipping subtotal. raw_original_shipping_tax_total: type: object description: The order's raw original shipping tax total. OrderAddress: type: object description: The address's details. x-schemaName: OrderAddress required: - id - created_at - updated_at properties: id: type: string title: id description: The address's ID. customer_id: type: string title: customer_id description: The ID of the customer the address belongs to. 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. phone: type: string title: phone description: The address's phone. company: type: string title: company description: The address's company. 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. example: us province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. metadata: type: object description: The address's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the address was created. updated_at: type: string format: date-time title: updated_at description: The date the address was updated. OrderChange: type: object description: The order change's details. 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. This will be the order's version when the change is applied. change_type: type: string description: The order change's type. enum: - return - exchange - claim - edit order_id: type: string title: order_id description: The ID of the order this change applies on. return_id: type: string title: return_id description: The ID of the associated return. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. claim_id: type: string title: claim_id description: The ID of the associated claim. order: type: object return_order: type: object 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 description: The order change's status. enum: - canceled - requested - pending - confirmed - declined requested_by: type: string title: requested_by description: The ID of the user that requested the change. requested_at: type: string title: requested_at description: The date the order change was requested. format: date-time confirmed_by: type: string title: confirmed_by description: The ID of the user that confirmed the order change. confirmed_at: type: string title: confirmed_at description: The date the order change was confirmed. format: date-time declined_by: type: string title: declined_by description: The ID of the user that declined the order change. declined_reason: type: string title: declined_reason description: The reason the order change was declined. metadata: type: object description: The order change's metadata, can hold custom key-value pairs. declined_at: type: string title: declined_at description: The date the order change was declined. format: date-time canceled_by: type: string title: canceled_by description: The ID of the user that canceled the order change. canceled_at: type: string title: canceled_at description: The date the order change was canceled. format: date-time created_at: type: string format: date-time title: created_at description: The date the order change was created. updated_at: type: string format: date-time title: updated_at description: The date the order change was updated. OrderChangeAction: type: object description: The order change action's details. x-schemaName: OrderChangeAction required: - id - order_change_id - order_change - order_id - return_id - claim_id - exchange_id - order - reference - reference_id - action - details - internal_note - created_at - updated_at properties: id: type: string title: id description: The action's ID. order_change_id: type: string title: order_change_id description: The ID of the order change that the action belongs to. order_change: type: object order_id: type: string title: order_id description: The ID of the order the associated change is for. return_id: type: string title: return_id description: The ID of the associated return. claim_id: type: string title: claim_id description: The ID of the associated claim. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. order: $ref: '#/components/schemas/Order' reference: type: string title: reference description: The name of the table this action applies on. enum: - claim - exchange - return - order_shipping_method reference_id: type: string title: reference_id description: The ID of the record in the referenced table. action: type: string description: The applied action. enum: - CANCEL_RETURN_ITEM - FULFILL_ITEM - DELIVER_ITEM - CANCEL_ITEM_FULFILLMENT - ITEM_ADD - ITEM_REMOVE - ITEM_UPDATE - RECEIVE_DAMAGED_RETURN_ITEM - RECEIVE_RETURN_ITEM - RETURN_ITEM - SHIPPING_ADD - SHIPPING_REMOVE - SHIP_ITEM - WRITE_OFF_ITEM - REINSTATE_ITEM details: type: object description: The action's details. example: reference_id: 123 quantity: 1 internal_note: type: string title: internal_note description: A note that's viewed only by admin users. created_at: type: string format: date-time title: created_at description: The date the action was created. updated_at: type: string format: date-time title: updated_at description: The date the action was updated. OrderClaim: type: object description: The order change's claim. x-schemaName: OrderClaim 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: id: type: string title: id description: The claim's ID. order_id: type: string title: order_id description: The ID of the order associated with the claim. claim_items: type: array description: The order items targetted by the claim. items: $ref: '#/components/schemas/BaseClaimItem' additional_items: type: array description: The outbound or new items of the claim. items: $ref: '#/components/schemas/BaseClaimItem' return: type: object return_id: type: string title: return_id description: The ID of the associated return. no_notification: type: boolean title: no_notification description: Whether the customer should be notified about changes in the claim. refund_amount: type: number title: refund_amount description: The amount to be refunded. currency_code: type: string title: currency_code description: The claim's currency code. region_id: type: string title: region_id description: The ID of the region associated with the claim. customer_id: type: string title: customer_id description: The ID of the customer associated with the claim's order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the claim's order is created in. email: type: string title: email description: The email associated with the claim's order. 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. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions description: Learn more about transactions of orders and associated models. items: $ref: '#/components/schemas/BaseOrderTransaction' summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The claim's metadata, used to store custom key-value pairs. created_at: type: string format: date-time title: created_at description: The claim's creation date. updated_at: type: string format: date-time title: updated_at description: The claim's update date. original_item_total: type: number title: original_item_total description: The total of the original items in the associated order. original_item_subtotal: type: number title: original_item_subtotal description: The subtotal of the original items in the associated order. original_item_tax_total: type: number title: original_item_tax_total description: The tax total of the original items in the associated order. item_total: type: number title: item_total description: The total of the claim's items. item_subtotal: type: number title: item_subtotal description: The subtotal of the claim's items. item_tax_total: type: number title: item_tax_total description: The tax total of the claim's items. original_total: type: number title: original_total description: The associated order's original total. original_subtotal: type: number title: original_subtotal description: The associated order's original subtotal. original_tax_total: type: number title: original_tax_total description: The associated order's original tax total. total: type: number title: total description: The associated order'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 associated order's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The associated order's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The associated order's original shipping tax total. OrderExchange: type: object description: The order change's exchange. x-schemaName: OrderExchange 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 ID of the order the exchange is created for. return_items: type: array description: The items returned (inbound) by the exchange. items: $ref: '#/components/schemas/AdminReturnItem' additional_items: type: array description: The new items (outbound) sent by the exchange. items: $ref: '#/components/schemas/BaseExchangeItem' no_notification: type: boolean title: no_notification description: Whether to send the customer notifications when the exchange is updated. difference_due: type: number title: difference_due description: The amount to be exchanged or refunded. If the amount is negative, it must be refunded. If positive, additional payment is required from the customer. return: description: the return associated with the exchange. $ref: '#/components/schemas/AdminReturn' return_id: type: string title: return_id description: The ID of the associated exchange. 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 ID of the associated order's region. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the associated order belongs to. email: type: string title: email description: The email used when placing the order. format: email display_id: type: number title: display_id description: The exchange's display ID. shipping_address: description: The shipping address to send new items to. $ref: '#/components/schemas/BaseOrderAddress' billing_address: description: The customer's billing address. $ref: '#/components/schemas/BaseOrderAddress' shipping_methods: type: array description: The shipping methods used to send the new (outbound) items. 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 of new (outbound) items. 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. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions items: $ref: '#/components/schemas/BaseOrderTransaction' summary: description: The totals summary of the exchange. $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The exchange's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date that the exchange was created. updated_at: type: string format: date-time title: updated_at description: The date that the exchange was updated. original_item_total: type: number title: original_item_total description: The total of the original items in the order. original_item_subtotal: type: number title: original_item_subtotal description: The subtotal of the original items in the order. original_item_tax_total: type: number title: original_item_tax_total description: The total tax of the original items in the order. item_total: type: number title: item_total description: The total of the exchange's new items. item_subtotal: type: number title: item_subtotal description: The subtotal of the exchange's new items. item_tax_total: type: number title: item_tax_total description: The tax total of the exchange's new items. original_total: type: number title: original_total description: The total of the order. original_subtotal: type: number title: original_subtotal description: The subtotal of the order. original_tax_total: type: number title: original_tax_total description: The tax total of the order. total: type: number title: total description: The total of the exchange. subtotal: type: number title: subtotal description: The subtotal of the exchange. tax_total: type: number title: tax_total description: The tax total of the exchange. discount_total: type: number title: discount_total description: The discount total of the exchange. discount_tax_total: type: number title: discount_tax_total description: The total taxes on discount of the exchange. gift_card_total: type: number title: gift_card_total description: The gift cards total of the exchange. gift_card_tax_total: type: number title: gift_card_tax_total description: The total taxes on the gift card of the exchange. 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 order's shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The order's shipping tax total. OrderItem: type: object description: The order item's detail. x-schemaName: OrderItem required: - id - item_id - item - quantity - raw_quantity - fulfilled_quantity - raw_fulfilled_quantity - delivered_quantity - raw_delivered_quantity - shipped_quantity - raw_shipped_quantity - return_requested_quantity - raw_return_requested_quantity - return_received_quantity - raw_return_received_quantity - return_dismissed_quantity - raw_return_dismissed_quantity - written_off_quantity - raw_written_off_quantity - metadata - created_at - updated_at properties: id: type: string title: id description: The item's ID. item_id: type: string title: item_id description: The ID of the associated line item. item: type: object quantity: type: number title: quantity description: The item's quantity. raw_quantity: type: object description: The item's raw quantity. fulfilled_quantity: type: number title: fulfilled_quantity description: The item's fulfilled quantity. raw_fulfilled_quantity: type: object description: The item's raw fulfilled quantity. delivered_quantity: type: number title: delivered_quantity description: The item's delivered quantity. raw_delivered_quantity: type: object description: The item's raw delivered quantity. shipped_quantity: type: number title: shipped_quantity description: The item's shipped quantity. raw_shipped_quantity: type: object description: The item's raw shipped quantity. return_requested_quantity: type: number title: return_requested_quantity description: The item's quantity that's requested to be returned. raw_return_requested_quantity: type: object description: The item's raw return requested quantity. return_received_quantity: type: number title: return_received_quantity description: The item's quantity that's received through a return. raw_return_received_quantity: type: object description: The item's raw return received quantity. return_dismissed_quantity: type: number title: return_dismissed_quantity description: The item's quantity that's returned but dismissed because it's damaged. raw_return_dismissed_quantity: type: object description: The item's raw return dismissed quantity. written_off_quantity: type: number title: written_off_quantity description: The item's quantity that's removed due to an order change. raw_written_off_quantity: type: object description: The item's raw written off quantity. metadata: type: object description: The item's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. OrderLineItem: type: object description: The order line item's details. 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 URL. variant_id: type: string title: variant_id description: The ID of the associated variant. product_id: type: string title: product_id description: The ID of the associated product. 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 ID of the associated product's type. product_collection: type: string title: product_collection description: The ID of the associated product's 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 associated variant's values for the associated product's options. example: Color: Red requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. is_discountable: type: boolean title: is_discountable description: Whether the item is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the item's price includes taxes. compare_at_unit_price: type: number title: compare_at_unit_price description: The original price of the item before a promotion or sale. raw_compare_at_unit_price: type: object description: The item's raw compare at unit price. required: - value properties: value: oneOf: - type: string title: value description: The raw compare at unit price's value. - type: number title: value description: The raw compare at unit price's value. unit_price: type: number title: unit_price description: The item's price for a single quantity. raw_unit_price: type: object description: The item's raw unit price. required: - value properties: value: oneOf: - type: string title: value description: The raw unit price's value. - type: number title: value description: The raw unit price's value. quantity: type: number title: quantity description: The item's quantity. raw_quantity: type: object description: The item's raw quantity. required: - value properties: value: oneOf: - type: string title: value description: The raw quantity's value. - type: number title: value description: The raw quantity's value. 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 date the item was created. updated_at: type: string format: date-time title: updated_at description: The date the item was updated. metadata: type: object description: The item's metadata, can hold custom key-value pairs. original_total: type: number title: original_total description: The item's total including taxes and promotions. original_subtotal: type: number title: original_subtotal description: The item's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the item excluding promotions. item_total: type: number title: item_total description: The item's total for a single quantity, including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The item's total for a single quantity, excluding taxes and including promotions. item_tax_total: type: number title: item_tax_total description: The total taxes of a single quantity of the item, including promotions. total: type: number title: total description: The item's total including taxes and promotions. subtotal: type: number title: subtotal description: The item's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The total taxes of the item, including promotions. discount_total: type: number title: discount_total description: The item's discount total. discount_tax_total: type: number title: discount_tax_total description: The total taxes on the discounted amount. refundable_total: type: number title: refundable_total description: The total amount of the item that can be refunded. refundable_total_per_unit: type: number title: refundable_total_per_unit description: The total amount that can be refunded of a single quantity of the item. raw_original_total: type: object description: The item'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 item'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 item'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_item_total: type: object description: The item'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 item'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 item'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_total: type: object description: The item'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 item'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 item'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 item'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 item'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_refundable_total: type: object description: The item's raw refundable total. required: - value properties: value: oneOf: - type: string title: value description: The raw refundable total's value. - type: number title: value description: The raw refundable total's value. raw_refundable_total_per_unit: type: object description: The item's raw refundable total per unit. required: - value properties: value: oneOf: - type: string title: value description: The raw refundable total per unit's value. - type: number title: value description: The raw refundable total per unit's value. OrderLineItemAdjustment: type: object description: The line item adjustment's details. x-schemaName: OrderLineItemAdjustment required: - item - item_id - id - amount - order_id - created_at - updated_at properties: item: type: object item_id: type: string title: item_id description: The ID of the item this adjustment is for. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. order_id: type: string title: order_id description: The ID of the associated order. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion applied by this adjustment. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. OrderLineItemTaxLine: type: object description: The line item tax line's details. x-schemaName: OrderLineItemTaxLine required: - item - item_id - total - subtotal - raw_total - raw_subtotal - id - code - rate - created_at - updated_at properties: item: type: object item_id: type: string title: item_id description: The ID of the line item that the tax line belongs to. total: type: number title: total description: The item's total including taxes and promotions. subtotal: type: number title: subtotal description: The item's total excluding taxes, including promotions. raw_total: type: object description: The tax line's raw total. raw_subtotal: type: object description: The tax line's raw subtotal. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider used to calculate the tax lines. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. OrderReturnItem: type: object description: The item's items. x-schemaName: OrderReturnItem 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 received quantity of the item. This quantity is added to the stocked inventory quantity of the item. damaged_quantity: type: number title: damaged_quantity description: The received damaged quantity of the item, which isn't added to the stocked inventory quantity of the item. reason_id: type: string title: reason_id description: The ID of the return reason associated with the item. note: type: string title: note description: A note about why the item was returned. item_id: type: string title: item_id description: The ID of the associated order item. return_id: type: string title: return_id description: The ID of the return this return item belongs to. metadata: type: object description: The return item's metadata, can hold custom key-value pairs. OrderShippingMethod: type: object description: The shipping method's details. 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 ID of the order that the shipping method belongs to. 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. raw_amount: type: object description: The shipping method's raw amount. required: - value properties: value: oneOf: - type: string title: value description: The raw amount's value. - type: number title: value description: The raw amount's value. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the shipping method's amount includes taxes. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The shipping method's data, useful for the fulfillment provider handling the fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/order/concepts#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. 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 date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. original_total: type: number title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The shipping method's subtotal excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the shipping method excluding promotions. total: type: number title: total description: The shipping method's total including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The total taxes of the shipping method, including promotions. discount_total: type: number title: discount_total description: The shipping method's discount total. discount_tax_total: type: number title: discount_tax_total description: The total taxes of the discount amount. raw_original_total: type: object description: The shipping method'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 shipping method'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 shipping method'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 shipping method'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 shipping method'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 shipping method'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 shipping method'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 shipping method'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. OrderShippingMethodAdjustment: type: object description: The shipping method adjustment's details. x-schemaName: OrderShippingMethodAdjustment required: - shipping_method - shipping_method_id - id - amount - order_id - created_at - updated_at properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method this adjustment is for. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. order_id: type: string title: order_id description: The ID of the associated order. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the promotion this adjustment applies. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. OrderShippingMethodTaxLine: type: object description: The shipping method tax line's details. x-schemaName: OrderShippingMethodTaxLine required: - shipping_method - shipping_method_id - total - subtotal - raw_total - raw_subtotal - id - code - rate - created_at - updated_at properties: shipping_method: type: object shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method that this tax line is for. total: type: number title: total description: The shipping method's total including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total excluding taxes, including promotions. raw_total: type: object description: The tax line's raw total. raw_subtotal: type: object description: The tax line's raw subtotal. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The rate to charge. provider_id: type: string title: provider_id description: The ID of the tax provider used to calculate taxes. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. OrderTransaction: type: object description: The transaction's details. x-schemaName: OrderTransaction 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 ID of the order this transaction belongs to. amount: type: number title: amount description: The transaction's amount. currency_code: type: string title: currency_code description: The transaction's currency code. example: usd reference: type: string title: reference description: The name of a table that this transaction references. If this transaction is for captured payment, its value is `capture`. If this transaction is for refunded payment, its value is `refund`. enum: - capture - refund reference_id: type: string title: reference_id description: The ID of the referenced record in the referenced table. metadata: type: object description: The transaction's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date that the transaction was created. updated_at: type: string format: date-time title: updated_at description: The date that the transaction was updated. RefundReason: type: object description: The refund reason's details. x-schemaName: RefundReason 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the refund reason was created. updated_at: type: string format: date-time title: updated_at description: The date the refund reason was updated. RefundReasonResponse: type: object description: The refund reason's details. x-schemaName: RefundReasonResponse required: - refund_reason properties: refund_reason: $ref: '#/components/schemas/AdminRefundReason' Return: type: object description: The return's details. x-schemaName: Return required: - id - status - order_id - items - currency_code - 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 - discount_subtotal - 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: id: type: string title: id description: The return's ID. status: type: string description: The return's status. enum: - canceled - requested - received - partially_received refund_amount: type: number title: refund_amount description: The amount refunded by this return. order_id: type: string title: order_id description: The ID of the associated order. items: type: array description: The return's items. items: $ref: '#/components/schemas/OrderReturnItem' region_id: type: string title: region_id description: The ID of the region this return belongs to. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the associated order's sales channel. email: type: string title: email description: The email of the customer that placed the order. format: email currency_code: type: string title: currency_code description: The return's currency code. example: usd shipping_address: $ref: '#/components/schemas/OrderAddress' billing_address: $ref: '#/components/schemas/OrderAddress' shipping_methods: type: array description: The return's shipping methods. items: $ref: '#/components/schemas/OrderShippingMethod' transactions: type: array description: The return's transactions. items: $ref: '#/components/schemas/OrderTransaction' summary: type: object description: The return's summary. metadata: type: object description: The return's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the return was created. updated_at: type: string format: date-time title: updated_at description: The date the return was updated. original_item_total: type: number title: original_item_total description: The return's original item total. original_item_subtotal: type: number title: original_item_subtotal description: The return's original item subtotal. original_item_tax_total: type: number title: original_item_tax_total description: The return's original item tax total. item_total: type: number title: item_total description: The return's item total. item_subtotal: type: number title: item_subtotal description: The return's item subtotal. item_tax_total: type: number title: item_tax_total description: The return's item tax total. original_total: type: number title: original_total description: The return's original total. original_subtotal: type: number title: original_subtotal description: The return's original subtotal. original_tax_total: type: number title: original_tax_total description: The return's original tax total. total: type: number title: total description: The return's total. subtotal: type: number title: subtotal description: The return's subtotal. tax_total: type: number title: tax_total description: The return's tax total. discount_total: type: number title: discount_total description: The return's discount total. discount_tax_total: type: number title: discount_tax_total description: The return's discount tax total. gift_card_total: type: number title: gift_card_total description: The return's gift card total. gift_card_tax_total: type: number title: gift_card_tax_total description: The return's gift card tax total. shipping_total: type: number title: shipping_total description: The return's shipping total. shipping_subtotal: type: number title: shipping_subtotal description: The return's shipping subtotal. shipping_tax_total: type: number title: shipping_tax_total description: The return's shipping tax total. original_shipping_total: type: number title: original_shipping_total description: The return's original shipping total. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The return's original shipping subtotal. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The return's original shipping tax total. order_change: $ref: '#/components/schemas/OrderChange' canceled_at: type: string title: canceled_at description: The date the return was canceled. format: date-time discount_subtotal: type: number title: discount_subtotal description: The return's discount subtotal. raw_original_item_total: type: object description: The return's raw original item total. raw_original_item_subtotal: type: object description: The return's raw original item subtotal. raw_original_item_tax_total: type: object description: The return's raw original item tax total. raw_item_total: type: object description: The return's raw item total. raw_item_subtotal: type: object description: The return's raw item subtotal. raw_item_tax_total: type: object description: The return's raw item tax total. raw_original_total: type: object description: The return's raw original total. raw_original_subtotal: type: object description: The return's raw original subtotal. raw_original_tax_total: type: object description: The return's raw original tax total. raw_total: type: object description: The return's raw total. raw_subtotal: type: object description: The return's raw subtotal. raw_tax_total: type: object description: The return's raw tax total. raw_discount_total: type: object description: The return's raw discount total. raw_discount_tax_total: type: object description: The return's raw discount tax total. raw_gift_card_total: type: object description: The return's raw gift card total. raw_gift_card_tax_total: type: object description: The return's raw gift card tax total. raw_shipping_total: type: object description: The return's raw shipping total. raw_shipping_subtotal: type: object description: The return's raw shipping subtotal. raw_shipping_tax_total: type: object description: The return's raw shipping tax total. raw_original_shipping_total: type: object description: The return's raw original shipping total. raw_original_shipping_subtotal: type: object description: The return's raw original shipping subtotal. raw_original_shipping_tax_total: type: object description: The return's raw original shipping tax total. StoreAddCartLineItem: type: object description: The details of the line item to add. x-schemaName: StoreAddCartLineItem required: - variant_id - quantity properties: variant_id: type: string title: variant_id description: The ID of the product variant to add to the cart. quantity: type: number title: quantity description: The item's quantity. metadata: type: object description: The item's metadata, can hold custom key-value pairs. StoreCart: type: object description: The cart's details. x-schemaName: StoreCart required: - currency_code - 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 properties: id: type: string title: id description: The cart's ID. region: $ref: '#/components/schemas/StoreRegion' region_id: type: string title: region_id description: The ID of the region the cart belongs to. customer_id: type: string title: customer_id description: The ID of the customer the cart belongs to. sales_channel_id: type: string title: sales_channel_id description: The ID of the cart's sales channel. Only products that belong to the same sales channel can be added to the cart. The created order will be associated with the same sales channel. email: type: string title: email description: The email of the customer the cart belongs to. format: email currency_code: type: string title: currency_code description: The cart's currency code. example: usd shipping_address: $ref: '#/components/schemas/StoreCartAddress' billing_address: $ref: '#/components/schemas/StoreCartAddress' items: type: array description: The cart's items. items: $ref: '#/components/schemas/StoreCartLineItem' shipping_methods: type: array description: The cart's shipping methods. items: $ref: '#/components/schemas/StoreCartShippingMethod' payment_collection: $ref: '#/components/schemas/StorePaymentCollection' metadata: type: object description: The cart's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the cart was created. updated_at: type: string format: date-time title: updated_at description: The date the cart was updated. original_item_total: type: number title: original_item_total description: The cart items' total including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The cart items' total excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The cart items' tax total excluding promotions. item_total: type: number title: item_total description: The cart items' total including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The cart items' total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The cart items' tax total including promotions. original_total: type: number title: original_total description: The cart's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The cart's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The cart's tax total excluding promotions. total: type: number title: total description: The cart's total including taxes and promotions. subtotal: type: number title: subtotal description: The cart's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The cart's tax total including promotions. discount_total: type: number title: discount_total description: The cart's discount total. discount_tax_total: type: number title: discount_tax_total description: The tax total applied on the discounted amount. gift_card_total: type: number title: gift_card_total description: The total gift card amount applied on the cart. gift_card_tax_total: type: number title: gift_card_tax_total description: The total taxes applied on the gift card amount. shipping_total: type: number title: shipping_total description: The cart's shipping total including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The cart's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The total taxes applied on the cart's shipping amount. original_shipping_total: type: number title: original_shipping_total description: The cart's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The cart's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The total taxes applied on the cart's shipping amount. StoreCartAddress: type: object description: The address's details. x-schemaName: StoreCartAddress required: - id - created_at - updated_at properties: id: type: string title: id description: The address's ID. customer_id: type: string title: customer_id description: The ID of the customer the address belongs to. 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. phone: type: string title: phone description: The address's phone. company: type: string title: company description: The address's company. 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. example: us province: type: string title: province description: The address's province. postal_code: type: string title: postal_code description: The address's postal code. metadata: type: object description: The address's metadata, can hold custom key-value pairs. created_at: type: string title: created_at description: The date the address was created. format: date-time updated_at: type: string title: updated_at description: The date the address was updated. format: date-time StoreCartLineItem: type: object description: The item's details. x-schemaName: StoreCartLineItem required: - cart - title - id - item_total - item_subtotal - item_tax_total - original_total - original_subtotal - original_tax_total - total - subtotal - tax_total - discount_total - discount_tax_total - requires_shipping - is_discountable - is_tax_inclusive - unit_price - quantity - cart_id 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 URL. quantity: type: number title: quantity description: The item's quantity. product: $ref: '#/components/schemas/StoreProduct' product_id: type: string title: product_id description: The ID of the associated product. 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 ID of the associated product's type. product_collection: type: string title: product_collection description: The ID of the associated product's collection. product_handle: type: string title: product_handle description: The item's product handle. variant: $ref: '#/components/schemas/StoreProductVariant' variant_id: type: string title: variant_id description: The ID of the associated product variant. 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 associated variant's value for the product's options. example: Color: Red requires_shipping: type: boolean title: requires_shipping description: Whether the item requires shipping. is_discountable: type: boolean title: is_discountable description: Whether the item is discountable. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the item's price includes taxes. compare_at_unit_price: type: number title: compare_at_unit_price description: The original price of the item before a promotion or sale. unit_price: type: number title: unit_price description: The price of a single quantity of the item. tax_lines: type: array description: The item's tax lines. items: allOf: - type: object description: The tax line's details. x-schemaName: BaseLineItemTaxLine required: - item - item_id - total - subtotal - id - code - rate - created_at - updated_at properties: item: type: object title: item description: The details of the item that the tax line belongs to. item_id: type: string title: item_id description: The ID of the line item this tax line belongs to. total: type: number title: total description: The item's total including taxes and promotions. subtotal: type: number title: subtotal description: The item's total excluding taxes, including promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The charged rate. provider_id: type: string title: provider_id description: The ID of the tax provider used to calculate the tax line. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. - type: object description: The tax line's details. required: - item properties: item: type: object title: item description: The details of the item that the tax line belongs to. description: The tax line's details adjustments: type: array description: The item's adjustments. items: allOf: - type: object description: The adjustment's details. x-schemaName: BaseLineItemAdjustment required: - item - item_id - id - amount - cart_id - created_at - updated_at properties: item: type: object title: item description: The details of the item that the adjustment belongs to. item_id: type: string title: item_id description: The ID of the item that the adjustment belongs to. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. cart_id: type: string title: cart_id description: The ID of the associated cart. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the applied promotion. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. - type: object description: The adjustment's details. required: - item properties: item: type: object title: item description: The details of the item that the adjustment belongs to. description: The adjustment's details. cart: type: object cart_id: type: string title: cart_id description: The ID of the cart that the line item belongs to. metadata: type: object description: The item's metadata, can hold custom key-value pairs. created_at: type: string title: created_at description: The date the item was created. format: date-time updated_at: type: string title: updated_at description: The date the item was updated. format: date-time deleted_at: type: string title: deleted_at description: The date the item was deleted. format: date-time original_total: type: number title: original_total description: The item's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The item's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the item excluding promotions. item_total: type: number title: original_tax_total description: The item's total including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The item's total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The total taxes of the item including promotions. total: type: number title: total description: The item's total including taxes and promotions. subtotal: type: number title: subtotal description: The item's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The total taxes of the item including promotions. discount_total: type: number title: discount_total description: The total discount of the item. discount_tax_total: type: number title: discount_tax_total description: The total taxes applied on the discounted amount. StoreCartResponse: type: object description: The cart's details. x-schemaName: StoreCartResponse required: - cart properties: cart: $ref: '#/components/schemas/StoreCart' StoreCartShippingMethod: type: object description: A cart's shipping method. x-schemaName: StoreCartShippingMethod 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 ID of the cart this shipping method belongs to. 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: Whether the shipping method's amount is tax inclusive. shipping_option_id: type: string title: shipping_option_id description: The ID of the shipping option this method was created from. data: type: object description: The shipping method's data, useful for fulfillment handling by third-party services. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/cart/concepts#data-property metadata: type: object description: The shipping method's metadata, can hold custom key-value pairs. tax_lines: type: array description: The shipping method's tax lines. items: allOf: - type: object description: The tax line's details x-schemaName: BaseShippingMethodTaxLine required: - shipping_method - shipping_method_id - total - subtotal - id - code - rate - created_at - updated_at properties: shipping_method: type: object title: shipping_method description: The details of the method that the tax line belongs to. shipping_method_id: type: string title: shipping_method_id description: The ID of the shipping method this tax line belongs to. total: type: number title: total description: The method's total including taxes and promotions. subtotal: type: number title: subtotal description: The method's total excluding taxes, including promotions. id: type: string title: id description: The tax line's ID. description: type: string title: description description: The tax line's description. tax_rate_id: type: string title: tax_rate_id description: The ID of the applied tax rate. code: type: string title: code description: The code that the tax rate is identified by. rate: type: number title: rate description: The charged rate. provider_id: type: string title: provider_id description: The ID of the tax provider used to calculate the tax line. created_at: type: string format: date-time title: created_at description: The date the tax line was created. updated_at: type: string format: date-time title: updated_at description: The date the tax line was updated. - type: object description: The tax line's details. required: - shipping_method properties: shipping_method: type: object title: shipping_method description: The details of the method that the tax line belongs to. description: The tax line's details. adjustments: type: array description: The shipping method's adjustments, such as applied promotions. items: allOf: - type: object description: The adjustment's details. x-schemaName: BaseShippingMethodAdjustment required: - shipping_method - shipping_method_id - id - amount - cart_id - created_at - updated_at properties: shipping_method: type: object title: shipping_method description: The details of the method that the adjustment belongs to. id: type: string title: id description: The adjustment's ID. code: type: string title: code description: The adjustment's code. amount: type: number title: amount description: The adjustment's amount. cart_id: type: string title: cart_id description: The ID of the associated cart. description: type: string title: description description: The adjustment's description. promotion_id: type: string title: promotion_id description: The ID of the applied promotion. provider_id: type: string title: provider_id description: The adjustment's provider ID. created_at: type: string format: date-time title: created_at description: The date the adjustment was created. updated_at: type: string format: date-time title: updated_at description: The date the adjustment was updated. - type: object description: The adjustment's details. required: - shipping_method properties: shipping_method: type: object title: shipping_method description: The details of the method that the adjustment belongs to. description: The adjustment's details. created_at: type: string format: date-time title: created_at description: The date the shipping method was created. updated_at: type: string format: date-time title: updated_at description: The date the shipping method was updated. original_total: type: number title: original_total description: The shipping method's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The shipping method's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes applied on the shipping method's amount including promotions. total: type: number title: total description: The shipping method's total amount including taxes and promotions. subtotal: type: number title: subtotal description: The shipping method's total amount excluding taxes, including promotions. tax_total: type: number title: tax_total description: The total taxes applied on the shipping method's amount including promotions. discount_total: type: number title: discount_total description: The total amount discounted. discount_tax_total: type: number title: discount_tax_total description: The taxes applied on the discounted amount. StoreCollection: type: object description: The collection's details. x-schemaName: StoreCollection required: - title - metadata - id - handle - created_at - updated_at - deleted_at 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 date the collection was created. updated_at: type: string format: date-time title: updated_at description: The date the collection was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the collection was deleted. products: type: array description: The collection's products. items: type: object metadata: type: object description: The collection's metadata, can hold custom key-value pairs. StoreCollectionResponse: type: object description: The collection's details. x-schemaName: StoreCollectionResponse required: - collection properties: collection: $ref: '#/components/schemas/StoreCollection' StoreCreateCart: type: object description: The details of the cart to be created. x-schemaName: StoreCreateCart properties: region_id: type: string title: region_id description: The ID of the cart's region. This affects the prices and currency of the cart. shipping_address: $ref: '#/components/schemas/StoreCartAddress' billing_address: $ref: '#/components/schemas/StoreCartAddress' email: type: string title: email description: The email of the cart's customer. format: email currency_code: type: string title: currency_code description: The cart's currency code. If not provided, the region's currency is used. This affects prices in the cart, as well. example: usd items: type: array description: The cart's items. items: $ref: '#/components/schemas/StoreCartLineItem' sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel that cart is created in. Only products available in that sales channel can be added to the cart. If not provided, the store's default sales channel is associated with the cart instead. metadata: type: object description: The cart's metadata, can hold custom key-value pairs. StoreCreateCustomer: type: object description: The details of the customer to create. 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, can hold custom key-value pairs. StoreCreatePaymentCollection: type: object description: The details of the payment collection to create. x-schemaName: StoreCreatePaymentCollection required: - cart_id properties: cart_id: type: string title: cart_id description: The ID of the cart this payment collection is for. StoreCreateReturn: type: object description: The details of the return to create. x-schemaName: StoreCreateReturn required: - order_id - items - return_shipping properties: order_id: type: string title: order_id description: The ID of the order this return is created for. 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: A note with more details about the return. receive_now: type: boolean title: receive_now description: Whether to mark the return as received. location_id: type: string title: location_id description: The ID of the location that items are returned to. StoreCreateReturnItem: type: object description: The details of the line item to create. 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 ID of the associated return reason. note: type: string title: note description: A note with more details about the returned item. StoreCreateReturnShipping: type: object description: The return's shipping details. x-schemaName: StoreCreateReturnShipping required: - option_id properties: option_id: type: string title: option_id description: The ID of the shipping option to use. price: type: number title: price description: The shipping's price. StoreCurrency: type: object description: The currency's details. x-schemaName: StoreCurrency required: - code - symbol - symbol_native - name - decimal_digits - rounding - created_at - updated_at - deleted_at properties: code: type: string title: code description: The currency's code. example: usd 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. created_at: type: string format: date-time title: created_at description: The date the currency was created. updated_at: type: string format: date-time title: updated_at description: The date the currency was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the currency was deleted. StoreCurrencyListResponse: type: object description: The paginated list of currencies. x-schemaName: StoreCurrencyListResponse required: - limit - offset - count - currencies 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 count of items. currencies: type: array description: The list of currencies. items: $ref: '#/components/schemas/StoreCurrency' StoreCurrencyResponse: type: object description: The currency's details. x-schemaName: StoreCurrencyResponse required: - currency properties: currency: $ref: '#/components/schemas/StoreCurrency' StoreCustomer: type: object description: The customer's details. x-schemaName: StoreCustomer required: - addresses - id - email - company_name - first_name - last_name - default_billing_address_id - default_shipping_address_id properties: 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 ID of the address used for billing by default. default_shipping_address_id: type: string title: default_shipping_address_id description: The ID of the address used for shipping by default. 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/StoreCustomerAddress' phone: type: string title: phone description: The customer's phone. metadata: type: object description: The customer's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the customer was created. updated_at: type: string format: date-time title: updated_at description: The date the customer was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the customer was deleted. StoreCustomerAddress: type: object description: The customer address's details 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 name. is_default_shipping: type: boolean title: is_default_shipping description: Whether the address is used for shipping by default. is_default_billing: type: boolean title: is_default_billing description: Whether the address is used for billing by default. customer_id: type: string title: customer_id description: The ID of the customer the address belongs to. 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. example: usd 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the address was created. updated_at: type: string format: date-time title: updated_at description: The date the address was updated. StoreCustomerAddressListResponse: type: object description: The paginated list of customer addresses. x-schemaName: StoreCustomerAddressListResponse required: - limit - offset - count - addresses 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. addresses: type: array description: The list of addresses. items: $ref: '#/components/schemas/StoreCustomerAddress' StoreCustomerAddressResponse: type: object description: The address's details. x-schemaName: StoreCustomerAddressResponse required: - address properties: address: $ref: '#/components/schemas/StoreCustomerAddress' StoreCustomerResponse: type: object description: The customer's details. x-schemaName: StoreCustomerResponse required: - customer properties: customer: $ref: '#/components/schemas/StoreCustomer' StoreOrder: type: object description: The order's details. 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 ID of the associated region. customer_id: type: string title: customer_id description: The ID of the customer that placed the order. sales_channel_id: type: string title: sales_channel_id description: The ID of the sales channel the order was placed in. email: type: string title: email description: The email of the customer that placed the order. format: email currency_code: type: string title: currency_code description: The order's currency code. example: usd 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 summary: $ref: '#/components/schemas/BaseOrderSummary' metadata: type: object description: The order's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the order was created. updated_at: type: string format: date-time title: updated_at description: The date the order was updated. original_item_total: type: number title: original_item_total description: The order items' total including taxes, excluding promotions. original_item_subtotal: type: number title: original_item_subtotal description: The order items' total excluding taxes, including promotions. original_item_tax_total: type: number title: original_item_tax_total description: The total taxes applied on the order items, excluding promotions. item_total: type: number title: item_total description: The order items' total including taxes and promotions. item_subtotal: type: number title: item_subtotal description: The order items' total excluding taxes, including promotions. item_tax_total: type: number title: item_tax_total description: The total taxes applied on the order's items, including promotions. original_total: type: number title: original_total description: The order's total including taxes, excluding promotions. original_subtotal: type: number title: original_subtotal description: The order's total excluding taxes, including promotions. original_tax_total: type: number title: original_tax_total description: The total taxes of the order excluding promotions. total: type: number title: total description: The order's total including taxes and promotions. subtotal: type: number title: subtotal description: The order's total excluding taxes, including promotions. tax_total: type: number title: tax_total description: The tax totals of the order including promotions. discount_total: type: number title: discount_total description: The order's discount total. discount_tax_total: type: number title: discount_tax_total description: The total taxes applied on the discounted amount. 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 total taxes applied on the gift card's amount. shipping_total: type: number title: shipping_total description: The order's shipping total including taxes and promotions. shipping_subtotal: type: number title: shipping_subtotal description: The order's shipping total excluding taxes, including promotions. shipping_tax_total: type: number title: shipping_tax_total description: The total taxes of the order's shipping including promotions. original_shipping_total: type: number title: original_shipping_total description: The order's shipping total including taxes, excluding promotions. original_shipping_subtotal: type: number title: original_shipping_subtotal description: The order's shipping total excluding taxes, including promotions. original_shipping_tax_total: type: number title: original_shipping_tax_total description: The total taxes of the order's shipping excluding promotions. StoreOrderResponse: type: object description: The order's details. x-schemaName: StoreOrderResponse required: - order properties: order: $ref: '#/components/schemas/StoreOrder' StorePaymentCollection: type: object description: The payment collection's details. x-schemaName: StorePaymentCollection required: - payment_providers - id - currency_code - region_id - amount - status 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 ID of the region this payment collection is associated with. amount: type: number title: amount description: The total amount to be paid. authorized_amount: type: number title: authorized_amount description: The total authorized amount of the collection's payments. captured_amount: type: number title: captured_amount description: The total captured amount of the collection's payments. refunded_amount: type: number title: refunded_amount description: The total refunded amount of the collection's payments. completed_at: type: string format: date-time title: completed_at description: The date the payment collection was completed. created_at: type: string format: date-time title: created_at description: The date the payment collection was created. updated_at: type: string format: date-time title: updated_at description: The date the payment collection was updated. metadata: type: object description: The payment collection's metadata, can hold custom key-value pairs. status: type: string description: The payment collection's status. enum: - canceled - not_paid - awaiting - authorized - partially_authorized payment_providers: type: array description: The payment provider used to process the collection's payments and sessions. items: $ref: '#/components/schemas/StorePaymentProvider' payment_sessions: type: array description: The payment collection's payment sessions. items: $ref: '#/components/schemas/StorePaymentSession' payments: type: array description: The payment collection's payments. items: $ref: '#/components/schemas/BasePayment' StorePaymentCollectionResponse: type: object description: The payment collection's details. x-schemaName: StorePaymentCollectionResponse required: - payment_collection properties: payment_collection: $ref: '#/components/schemas/StorePaymentCollection' StorePaymentProvider: type: object description: The payment provider's details x-schemaName: StorePaymentProvider required: - id properties: id: type: string title: id description: The payment provider's ID. StorePaymentSession: type: object description: The payment session's details. x-schemaName: StorePaymentSession properties: id: type: string title: id description: The payment session's ID. amount: type: number title: amount description: The payment session's amount. currency_code: type: string title: currency_code description: The payment session's currency code. example: usd provider_id: type: string title: provider_id description: The ID of the payment provider processing this session. data: type: object description: The payment session's data, useful for the payment provider processing the payment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property context: type: object description: The context around the payment, such as the customer's details. example: customer: id: cus_123 status: type: string description: The payment session's status. enum: - authorized - captured - canceled - pending - requires_more - error authorized_at: type: string title: authorized_at description: The date the payment session was authorized. format: date-time payment_collection: type: object payment: $ref: '#/components/schemas/BasePayment' required: - id - amount - currency_code - provider_id - data - status StoreProduct: type: object description: The product's details. x-schemaName: StoreProduct required: - variants - options - images - length - title - status - description - id - handle - subtitle - is_giftcard - thumbnail - width - weight - height - origin_country - hs_code - mid_code - material - collection_id - type_id - discountable - external_id - created_at - updated_at - 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/StoreProductOption' 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the product was created. updated_at: type: string format: date-time title: updated_at description: The date the product was updated. variants: type: array description: The product's variants. items: $ref: '#/components/schemas/StoreProductVariant' 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: Whether the product is a gift card. thumbnail: type: string title: thumbnail description: The product's thumbnail URL. 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/StoreCollection' collection_id: type: string title: collection_id description: The ID of the collection that the product belongs to. type_id: type: string title: type_id description: The ID of the product's type. tags: type: array description: The product's tags. items: $ref: '#/components/schemas/StoreProductTag' images: type: array description: The product's images. items: $ref: '#/components/schemas/StoreProductImage' discountable: type: boolean title: discountable description: Whether the product can be discounted. external_id: type: string title: external_id description: The ID of the product in an external service or system. deleted_at: type: string format: date-time title: deleted_at description: The date the product was deleted. StoreProductCategory: type: object description: The category's details. x-schemaName: StoreProductCategory required: - id - name - description - handle - 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. rank: type: number title: rank description: The category's rank. parent_category_id: type: string title: parent_category_id description: The ID of the category's parent. parent_category: type: object category_children: type: array description: The category's children. items: type: object metadata: type: object description: The category's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the category was created. updated_at: type: string format: date-time title: updated_at description: The date the category was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the category was deleted. StoreProductCategoryListResponse: type: object description: The paginated list of product categories. x-schemaName: StoreProductCategoryListResponse required: - limit - offset - count - product_categories 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. product_categories: type: array description: The list of product categories. items: $ref: '#/components/schemas/StoreProductCategory' StoreProductCategoryResponse: type: object description: The product category's details. x-schemaName: StoreProductCategoryResponse required: - product_category properties: product_category: $ref: '#/components/schemas/StoreProductCategory' StoreProductImage: type: object description: The image's details. x-schemaName: StoreProductImage required: - id - url properties: id: type: string title: id description: The image's ID. url: type: string title: url description: The image's URL. created_at: type: string format: date-time title: created_at description: The date the image was created. updated_at: type: string format: date-time title: updated_at description: The date the image was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the image was deleted. metadata: type: object description: The image's metadata, can hold custom key-value pairs. StoreProductOption: type: object description: The product option's details. x-schemaName: StoreProductOption properties: id: type: string title: id description: The option's ID. title: type: string title: title description: The option's title. product: type: object product_id: type: string title: product_id description: The ID of the product this option belongs to. values: type: array description: The option's values. items: $ref: '#/components/schemas/StoreProductOptionValue' metadata: type: object description: The option's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the product option was created. updated_at: type: string format: date-time title: updated_at description: The date the product option was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the product option was deleted. required: - title - id StoreProductOptionValue: type: object description: The product option value's details. x-schemaName: StoreProductOptionValue required: - value - id properties: id: type: string title: id description: The value's ID. value: type: string title: value description: The value. option: type: object option_id: type: string title: option_id description: The ID of the option this value belongs to. metadata: type: object description: The value's metadata, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the value was created. updated_at: type: string format: date-time title: updated_at description: The date the value was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the value was deleted. StoreProductResponse: type: object description: The product's details. x-schemaName: StoreProductResponse required: - product properties: product: $ref: '#/components/schemas/StoreProduct' StoreProductTag: type: object description: The tag's details. x-schemaName: StoreProductTag 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 date the tag was created. updated_at: type: string format: date-time title: updated_at description: The date the tag was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the tag was deleted. metadata: type: object description: The tag's metadata, can hold custom key-value pairs. required: - id - value - created_at - updated_at StoreProductVariant: type: object description: The variant's details. x-schemaName: StoreProductVariant properties: options: type: array description: The variant's options. items: $ref: '#/components/schemas/StoreProductOptionValue' product: type: object length: type: number title: length description: The variant's length. title: type: string title: title description: The variant's title. metadata: type: object description: The variant's metadata, can hold custom key-value pairs. id: type: string title: id description: The variant's ID. width: type: number title: width description: The variant's width. weight: type: number title: weight description: The variant's weight. height: type: number title: height description: The variant's height. origin_country: type: string title: origin_country description: The variant's origin country. 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. material: type: string title: material description: The variant's material. created_at: type: string format: date-time title: created_at description: The date the variant was created. updated_at: type: string format: date-time title: updated_at description: The date the variant was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the variant was deleted. product_id: type: string title: product_id description: The ID of the product this variant belongs to. sku: type: string title: sku description: The variant's SKU. barcode: type: string title: barcode description: The variant's barcode. ean: type: string title: ean description: The variant's EAN. upc: type: string title: upc description: The variant's UPC. allow_backorder: type: boolean title: allow_backorder description: Whether the variant can be ordered even if it's not in stock. manage_inventory: type: boolean title: manage_inventory description: Whether Medusa manages the variant's inventory. If disabled, the variant is always considered in stock. externalDocs: url: https://docs.medusajs.com/v2/resources/storefront-development/products/inventory description: 'Storefront guide: How to retrieve a product variant''s inventory details.' inventory_quantity: type: number title: inventory_quantity description: The variant's inventory quantity. This property is only available if you pass `+variants.inventory_quantity` in the `fields` query parameter. externalDocs: url: https://docs.medusajs.com/v2/resources/storefront-development/products/inventory description: 'Storefront guide: How to retrieve a product variant''s inventory details.' variant_rank: type: number title: variant_rank description: The variant's rank among its siblings. calculated_price: $ref: '#/components/schemas/BaseCalculatedPriceSet' required: - options - length - title - id - width - weight - height - origin_country - hs_code - mid_code - material - created_at - updated_at - deleted_at - sku - barcode - ean - upc - allow_backorder - manage_inventory 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. example: usd automatic_taxes: type: boolean title: automatic_taxes description: Whether taxes are calculated automatically during checkout for carts that belong to this region. 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the region was created. updated_at: type: string format: date-time title: updated_at description: The date the region was updated. StoreReturn: type: object description: The return's details. x-schemaName: StoreReturn required: - items - order_id - id - created_at - display_id - canceled_at - received_at properties: id: type: string title: id description: The return's ID. order_id: type: string title: order_id description: The ID of the order this return is created for. status: type: string title: status description: The return's status. exchange_id: type: string title: exchange_id description: The ID of the associated exchange. location_id: type: string title: location_id description: The ID of the location the items are returned to. claim_id: type: string title: claim_id description: The ID of the associated claim. display_id: type: number title: display_id description: The return's display ID. refund_amount: type: number title: refund_amount description: The return's refunded amount. items: type: array description: The return's items. items: $ref: '#/components/schemas/StoreReturnItem' received_at: type: string title: received_at description: The date the return was received. created_at: type: string format: date-time title: created_at description: The date the return was created. canceled_at: type: string title: canceled_at description: The date the return was updated. StoreReturnItem: type: object description: The return item's details. x-schemaName: StoreReturnItem properties: id: type: string title: id description: The item's ID. quantity: type: number title: quantity description: The item's quantity. received_quantity: type: number title: received_quantity description: The item's received quantity. damaged_quantity: type: number title: damaged_quantity description: The item's damaged quantity. reason_id: type: string title: reason_id description: The ID of the item's reason. note: type: string title: note description: A note with more details on why the item is returned. item_id: type: string title: item_id description: The ID of the item in the order. return_id: type: string title: return_id description: The ID of the return this item belongs to. metadata: type: object description: The item's metadata, can hold custom key-value pairs. required: - id - quantity - received_quantity - damaged_quantity - item_id - return_id 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, can hold custom key-value pairs. created_at: type: string format: date-time title: created_at description: The date the return reason was created. updated_at: type: string format: date-time title: updated_at description: The date the return reason was updated. StoreReturnReasonResponse: type: object description: The return reason's details. x-schemaName: StoreReturnReasonResponse required: - return_reason properties: return_reason: $ref: '#/components/schemas/StoreReturnReason' StoreReturnResponse: type: object description: The return's details. x-schemaName: StoreReturnResponse required: - return properties: return: $ref: '#/components/schemas/StoreReturn' StoreShippingOption: type: object description: The shipping option's details. 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. If it's `flat`, the price is fixed and is set in the `prices` property. If it's `calculated`, the price is calculated on checkout by the associated fulfillment provider. enum: - flat - calculated service_zone_id: type: string title: service_zone_id description: The ID of the service zone the shipping option belongs to. provider_id: type: string title: provider_id description: The ID of the fulfillment provider handling this option. provider: $ref: '#/components/schemas/BaseFulfillmentProvider' shipping_option_type_id: type: string title: shipping_option_type_id description: The ID of the shipping option's type. type: $ref: '#/components/schemas/StoreShippingOptionType' shipping_profile_id: type: string title: shipping_profile_id description: The ID of the associated shipping profile. amount: type: number title: amount description: The shipping option's amount. is_tax_inclusive: type: boolean title: is_tax_inclusive description: Whether the amount includes taxes. data: type: object description: The shipping option's data, useful for the provider handling fulfillment. externalDocs: url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property metadata: type: object description: The shipping option's metadata, can hold custom key-value pairs. StoreShippingOptionListResponse: type: object description: The shipping option's details. x-schemaName: StoreShippingOptionListResponse required: - shipping_options properties: shipping_options: type: array description: The shipping option's shipping options. items: $ref: '#/components/schemas/StoreShippingOption' StoreShippingOptionType: type: object description: The shipping option type's details. x-schemaName: StoreShippingOptionType required: - id - label - description - code - shipping_option_id - created_at - updated_at - deleted_at properties: id: type: string title: id description: The type's ID. 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. shipping_option_id: type: string title: shipping_option_id description: The ID of the associated shipping option. created_at: type: string format: date-time title: created_at description: The date the type was created. updated_at: type: string format: date-time title: updated_at description: The date the type was updated. deleted_at: type: string format: date-time title: deleted_at description: The date the type was deleted. StoreUpdateCartLineItem: type: object description: The details to update in the line item. x-schemaName: StoreUpdateCartLineItem required: - quantity properties: quantity: type: number title: quantity description: The item's quantity. metadata: type: object description: The item's metadata, can hold custom key-value pairs. StoreUpdateCustomer: type: object description: The details to update in the customer. 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 details to update in the address. x-schemaName: UpdateAddress required: - id properties: id: type: string title: id description: The ID of an existing address to update. customer_id: type: string title: customer_id description: The ID of the customer that this address belongs to. 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. example: usd 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, can hold custom key-value pairs. UpdateCartData: type: object description: The details to update in a cart. x-schemaName: UpdateCartData properties: region_id: type: string title: region_id description: The ID of the associated region. This can affect the prices and currency code of the cart. customer_id: type: string title: customer_id description: The ID of the customer that the cart belongs to. sales_channel_id: type: string title: sales_channel_id description: The ID of the associated sales channel. Only products available in this channel can be added to the cart. email: type: string title: email description: The email of the customer that the cart belongs to. format: email currency_code: type: string title: currency_code description: The cart's currency code. example: usd shipping_address_id: type: string title: shipping_address_id description: The ID of the cart's shipping address. billing_address_id: type: string title: billing_address_id description: The ID of the cart's billing address. 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, ca hold custom key-value pairs. WorkflowExecutionContext: type: object description: The workflow execution's context. x-schemaName: WorkflowExecutionContext required: - compensate - errors properties: data: type: object description: The context's data. properties: invoke: type: object description: The step's invokation details. required: - output additionalProperties: type: object properties: output: type: object description: The invokation's details. required: - output - compensateInput properties: output: description: the step's output compensateInput: description: the compensation function's input. payload: description: the payload of the transaction. required: - invoke compensate: type: object description: The context's compensate. errors: type: array description: The context's errors. items: type: object description: The error's details. properties: error: type: object description: The error's details. action: type: string title: action description: The error's action. handlerType: type: string title: handlerType description: The error's handler type. required: - error - action - handlerType 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