Files
medusa-store/www/apps/api-reference/specs/admin/openapi.full.yaml

69906 lines
2.6 MiB

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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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/customers/{id}/customer-groups:
post:
operationId: PostCustomersIdCustomerGroups
x-sidebar-summary: Manage Customer Groups
summary: Manage Customer Groups of Customer
description: Manage the customer groups of a customer, adding or removing the customer from those groups.
x-authenticated: true
parameters:
- name: id
in: path
description: The customer's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
"Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields. NOTE: This route doesn't allow expanding custom relations."
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
externalDocs:
url: '#select-fields-and-relations'
security:
- api_token: []
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
type: object
description: SUMMARY
properties:
add:
type: array
description: The customer groups to add the customer to.
items:
type: string
title: add
description: The ID of the group to add the customer to.
remove:
type: array
description: The customer groups to remove the customer from.
items:
type: string
title: remove
description: The ID of the group to remove the customer from.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/admin/customers/{id}/customer-groups' \
-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'
x-workflow: linkCustomerGroupsToCustomerWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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:
oneOf:
- type: string
title: region_id
description: The draft order's region id.
- type: array
description: The draft order's region id.
items:
type: string
title: region_id
description: The region id's details.
- 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`).
- name: customer_id
in: query
required: false
schema:
oneOf:
- type: string
title: customer_id
description: The draft order's customer id.
- type: array
description: The draft order's customer id.
items:
type: string
title: customer_id
description: The customer id's details.
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: createOrderWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: 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`).
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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-providers/{id}/options:
get:
operationId: GetFulfillmentProvidersIdOptions
summary: List Fulfillment Options
description: Retrieve the list of fulfillment options of a fulfillment provider. These options may be retrieved from an integrated third-party service.
x-authenticated: true
parameters:
- name: id
in: path
description: The fulfillment provider'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/fulfillment-providers/{id}/options' \
-H 'Authorization: Bearer {access_token}'
tags:
- Fulfillment Providers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdminFulfillmentProviderOptionsListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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/location-levels/batch:
post:
operationId: PostInventoryItemsLocationLevelsBatch
summary: Manage Inventory Levels
description: Manage inventory levels to create, update, or delete them.
x-authenticated: true
security:
- api_token: []
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
type: object
description: The inventory levels to manage.
properties:
create:
type: array
description: The inventory levels to create.
items:
type: object
description: The details of an inventory level to create.
required:
- location_id
- inventory_item_id
properties:
location_id:
type: string
title: location_id
description: The ID of the associated stock location.
inventory_item_id:
type: string
title: inventory_item_id
description: The ID of the associated inventory item.
stocked_quantity:
type: number
title: stocked_quantity
description: The stocked quantity.
incoming_quantity:
type: number
title: incoming_quantity
description: The incoming quantity to be added to stock.
update:
type: array
description: The inventory levels to update.
items:
type: object
description: The details of an inventory level to update.
required:
- location_id
- inventory_item_id
properties:
location_id:
type: string
title: location_id
description: The ID of the associated stock location.
inventory_item_id:
type: string
title: inventory_item_id
description: The ID of the associated inventory item.
stocked_quantity:
type: number
title: stocked_quantity
description: The stocked quantity.
incoming_quantity:
type: number
title: incoming_quantity
description: The incoming quantity to be added to stock.
delete:
type: array
description: The IDs of the inventory levels to delete.
items:
type: string
title: delete
description: The ID of the inventory level to delete.
force:
type: boolean
title: force
description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/admin/inventory-items/location-levels/batch' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
--data-raw '{
"create": [
{
"location_id": "sloc_123",
"inventory_item_id": "iitem_123",
"stocked_quantity": 100,
"incoming_quantity": 50
}
],
"update": [
{
"location_id": "sloc_456",
"inventory_item_id": "iitem_456",
"stocked_quantity": 200,
"incoming_quantity": 75
}
],
"delete": [
"iilev_123"
]
}'
tags:
- Inventory Items
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: batchInventoryItemLevelsWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: $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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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:
$ref: '#/components/schemas/AdminBatchInventoryItemLocationsLevel'
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:
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: batchInventoryItemLevelsWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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:
oneOf:
- type: string
title: region_id
description: The order's region id.
- type: array
description: The order's region id.
items:
type: string
title: region_id
description: The region id's details.
- 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`).
- name: customer_id
in: query
required: false
schema:
oneOf:
- type: string
title: customer_id
description: The order's customer id.
- type: array
description: The order's customer id.
items:
type: string
title: customer_id
description: The customer id's details.
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: id
in: query
required: false
schema:
oneOf:
- type: string
title: id
description: The order's ID.
- type: array
description: The order's ID.
items:
type: string
title: id
description: The id's ID.
- name: status
in: query
required: false
schema:
oneOf:
- type: string
title: status
description: The order's status.
- type: array
description: The order's status.
items:
type: string
title: status
description: The status's details.
- name: version
in: query
description: The order's version.
required: false
schema:
type: number
title: version
description: The order's version.
- name: created_at
in: query
required: false
schema: {}
- name: updated_at
in: query
required: false
schema: {}
- name: deleted_at
in: query
required: false
schema: {}
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 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: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it 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/AdminUpdateOrder'
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'
x-workflow: updateOrderWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
Without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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}/line-items:
get:
operationId: GetOrdersIdLineItems
summary: List Line Items
description: Retrieve a list of line items in a order. The line items can be filtered by fields like FILTER FIELDS. The line items can also be paginated.
x-authenticated: true
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it 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: id
in: query
required: false
schema:
oneOf:
- type: string
title: id
description: The order's ID.
- type: array
description: The order's ID.
items:
type: string
title: id
description: The id's ID.
- name: item_id
in: query
required: false
schema:
oneOf:
- type: string
title: item_id
description: The order's item id.
- type: array
description: The order's item id.
items:
type: string
title: item_id
description: The item id's details.
- name: order_id
in: query
required: false
schema:
oneOf:
- type: string
title: order_id
description: The order's order id.
- type: array
description: The order's order id.
items:
type: string
title: order_id
description: The order id's details.
- name: version
in: query
required: false
schema:
oneOf:
- type: number
title: version
description: The order's version.
- type: array
description: The order's version.
items:
type: number
title: version
description: The version's details.
- 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: 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: 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'
security:
- api_token: []
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/admin/orders/{id}/line-items' \
-H 'Authorization: Bearer {access_token}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
description: SUMMARY
required:
- order_items
properties:
order_items:
type: array
description: The order's order items.
items:
$ref: '#/components/schemas/AdminOrderItem'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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}/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/orders/{id}/transfer:
post:
operationId: PostOrdersIdTransfer
x-sidebar-summary: Request Transfer
summary: Request Order Transfer
description: Request an order to be transfered to another customer. The transfer is confirmed by sending a request to the [Accept Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferaccept) Store API route.
x-authenticated: true
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it 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/AdminTransferOrder'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/admin/orders/{id}/transfer' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
--data-raw '{
"customer_id": "cus_123"
}'
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: requestOrderTransferWorkflow
/admin/orders/{id}/transfer/cancel:
post:
operationId: PostOrdersIdTransferCancel
summary: Cancel Transfer Request
x-sidebar-summary: Cancel Transfer
description: Cancel a request to transfer an order to another customer.
x-authenticated: true
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it 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}/transfer/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: cancelOrderTransferRequestWorkflow
/admin/payment-collections:
post:
operationId: PostPaymentCollections
summary: Create Payment Collection
description: Create a payment collection.
x-authenticated: true
parameters:
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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 you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`.
required: false
schema:
type: boolean
title: include_ancestors_tree
description: Whether to include the parent category of each category. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`.
- name: include_descendants_tree
in: query
description: Whether to include the child categories of each category. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`.
required: false
schema:
type: boolean
title: include_descendants_tree
description: Whether to include the child categories of each category. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`.
- 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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
externalDocs:
url: '#select-fields-and-relations'
- name: include_ancestors_tree
in: query
description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`.
required: false
schema:
type: boolean
title: include_ancestors_tree
description: Whether to retrieve the category's parent. If you enable this, add to the `fields` query parameter `parent_category` to set the parent of a category in this field. You can either pass `*parent_category` to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, `fields=parent_category.id,parent_category.name`.
- name: include_descendants_tree
in: query
description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`.
required: false
schema:
type: boolean
title: include_descendants_tree
description: Whether to retrieve a list of child categories. If you enable this, add to the `fields` query parameter `category_children` to set the children of a category in this field. You can either pass `*category_children` to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, `fields=category_children.id,category_children.name`.
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
required: false
schema:
type: string
title: fields
description: 'Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. NOTE: This route doesn''t allow expanding custom relations.'
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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}",
"options": [
{
"title": "Default option",
"values": ["Default option 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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'
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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 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`.
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 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`.
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: deleteRefundReasonsWorkflow
/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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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:
oneOf:
- type: string
title: region_id
description: The return's region id.
- type: array
description: The return's region id.
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`).
- name: customer_id
in: query
required: false
schema:
oneOf:
- type: string
title: customer_id
description: The return's customer id.
- type: array
description: The return's customer id.
items:
type: string
title: customer_id
description: The customer id's details.
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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'
post:
operationId: PostTaxRegionsId
summary: Update a Tax Region
description: Update a tax region's details.
x-authenticated: true
parameters:
- name: id
in: path
description: The tax region's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it 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/AdminUpdateTaxRegion'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{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'
x-workflow: updateTaxRegionsWorkflow
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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it 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.
For the Google and GitHub authentication providers, you can pass `callback_url` to indicate the URL in the frontend that the user should be redirected to after completing their authentication. This will override the provider's `callbackUrl` configurations in `medusa-config.ts`.
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. All query parameters received from the third-party provider, such as `code`, `state`, and `error`, must be passed as query parameters to this route.
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
- updated_at
- revoked_by
- revoked_at
- deleted_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
updated_at:
type: string
format: date-time
title: updated_at
description: The date the API key was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the API key was deleted.
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:
type: object
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`.
AdminBatchInventoryItemLocationsLevel:
type: object
description: The inventory levels to create, update, 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.
location_id:
type: string
title: location_id
description: The associated stock location's ID.
id:
type: string
title: id
description: The ID of the location level.
required:
- location_id
delete:
type: array
description: The inventory levels to delete.
items:
type: string
title: delete
description: The ID of the inventory level to delete.
force:
type: boolean
title: force
description: Whether to delete specified inventory levels even if they have a non-zero stocked quantity.
x-schemaName: AdminBatchInventoryItemLocationsLevel
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/AdminBatchUpdateProduct'
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/AdminBatchUpdateProductVariant'
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.
AdminBatchUpdateProduct:
type: object
description: The product's details.
x-schemaName: AdminBatchUpdateProduct
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.
external_id:
type: string
title: external_id
description: The ID of the product in an external or third-party system.
id:
type: string
title: id
description: The product's ID.
required:
- id
AdminBatchUpdateProductVariant:
type: object
description: The properties to update of a product variant.
x-schemaName: AdminBatchUpdateProductVariant
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.
id:
type: string
title: id
description: The update's ID.
required:
- id
AdminCampaign:
type: object
description: The campaign's details.
x-schemaName: AdminCampaign
required:
- id
- name
- description
- currency
- campaign_identifier
- starts_at
- ends_at
- budget
- created_at
- updated_at
- deleted_at
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.
created_at:
type: string
format: date-time
title: created_at
description: The date the campaign was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the campaign was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the campaign was deleted.
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:
$ref: '#/components/schemas/BaseProduct'
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
- items
- metadata
- order_id
- 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
- options
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.
external_id:
type: string
title: external_id
description: The ID of the product in an external or third-party system.
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:
- name
- service_zone_id
- shipping_profile_id
- price_type
- provider_id
- type
- prices
properties:
name:
type: string
title: name
description: The shipping option's name.
service_zone_id:
type: string
title: service_zone_id
description: The ID of the associated service zone.
shipping_profile_id:
type: string
title: shipping_profile_id
description: The ID of the associated shipping profile.
data:
type: object
description: The shipping option's data, useful for the fulfillment provider handling its processing.
externalDocs:
url: https://docs.medusajs.com/v2/resources/commerce-modules/fulfillment/shipping-option#data-property
price_type:
type: string
description: The shipping option's price type. If `flat`, the shipping option has a fixed price set in `prices`. Otherwise, the shipping option's price is calculated by the fulfillment provider.
enum:
- flat
- calculated
provider_id:
type: string
title: provider_id
description: The ID of the fulfillment provider handling this shipping option.
type:
$ref: '#/components/schemas/AdminCreateShippingOptionType'
prices:
type: array
description: The shipping option's prices.
items:
oneOf:
- type: object
description: The price's details.
x-schemaName: AdminCreateShippingOptionPriceWithCurrency
required:
- currency_code
- amount
properties:
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.
- type: object
description: The price's details.
x-schemaName: AdminCreateShippingOptionPriceWithRegion
required:
- region_id
- amount
properties:
region_id:
type: string
title: region_id
description: The ID of the region this price is used in.
amount:
type: number
title: amount
description: The price's amount.
rules:
type: array
description: The shipping option's rules.
items:
$ref: '#/components/schemas/AdminCreateShippingOptionRule'
AdminCreateShippingOptionRule:
type: object
description: The 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
AdminCreateShippingOptionType:
type: object
description: The shipping option type's details.
x-schemaName: AdminCreateShippingOptionType
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.
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/BaseOrder'
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:
$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'
AdminFulfillmentProviderOption:
type: object
description: The fulfillment option's details.
x-schemaName: AdminFulfillmentProviderOption
required:
- id
- is_return
properties:
id:
type: string
title: id
description: The fulfillment option's ID.
is_return:
type: boolean
title: is_return
description: Whether the fulfillment option is used for returns.
AdminFulfillmentProviderOptionsListResponse:
type: object
description: The paginated list of fulfillment options.
x-schemaName: AdminFulfillmentProviderOptionsListResponse
required:
- limit
- offset
- count
- fulfillment_options
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.
fulfillment_options:
type: array
description: The list of fulfillment options.
items:
$ref: '#/components/schemas/AdminFulfillmentProviderOption'
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 inventory item's details.
x-schemaName: AdminInventoryItem
required:
- id
- requires_shipping
properties:
id:
type: string
title: id
description: The inventory item's ID.
sku:
type: string
title: sku
description: The inventory item's sku.
origin_country:
type: string
title: origin_country
description: The inventory item's origin country.
hs_code:
type: string
title: hs_code
description: The inventory item's HS code.
requires_shipping:
type: boolean
title: requires_shipping
description: Whether the inventory item 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 thumbnail URL of the inventory item.
metadata:
type: object
description: Custom key-value pairs, used to store additional information about the inventory item.
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
- expires_at
- created_at
- updated_at
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
- status
- currency_code
- id
- version
- region_id
- customer_id
- sales_channel_id
- email
- payment_status
- fulfillment_status
- summary
- 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/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.
status:
type: string
title: status
description: The order's status.
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
- id
- version
- metadata
- created_at
- updated_at
- order_id
- 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:
$ref: '#/components/schemas/AdminOrder'
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
- id
- created_at
- updated_at
- order_id
- internal_note
- 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:
$ref: '#/components/schemas/AdminOrder'
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.
AdminOrderItem:
type: object
description: The order item's details.
x-schemaName: AdminOrderItem
required:
- order_id
- item_id
- version
- history
- item
properties:
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 associated line item.
version:
type: number
title: version
description: The order item's version.
history:
type: object
description: The order item's history.
required:
- version
properties:
version:
type: object
description: The version changes of the item.
required:
- from
- to
properties:
from:
type: number
title: from
description: The original version.
to:
type: number
title: to
description: The new version.
item:
$ref: '#/components/schemas/AdminOrderLineItem'
AdminOrderLineItem:
type: object
description: The item's details.
x-schemaName: AdminOrderLineItem
required:
- title
- id
- metadata
- 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
- subtitle
- thumbnail
- variant_id
- product_id
- product_title
- product_description
- product_subtitle
- product_type_id
- 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.
product_type_id:
type: string
title: product_type_id
description: The ID of the associated product's type.
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
- status
- currency_code
- id
- version
- region_id
- customer_id
- sales_channel_id
- email
- payment_collections
- payment_status
- fulfillment_status
- summary
- created_at
- updated_at
- original_item_total
- original_item_subtotal
- original_item_tax_total
- item_total
- item_subtotal
- item_tax_total
- original_total
- original_subtotal
- original_tax_total
- total
- subtotal
- tax_total
- discount_total
- discount_tax_total
- gift_card_total
- gift_card_tax_total
- shipping_total
- shipping_subtotal
- shipping_tax_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
properties:
return_requested_total:
type: number
title: return_requested_total
description: The 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'
status:
type: string
title: status
description: The order's status.
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.
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
- 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.
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.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The original price of the item before a promotion or sale.
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.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The original price of the item before a promotion or sale.
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.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The original price of the item before a promotion or sale.
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
- created_at
- updated_at
- subtitle
- thumbnail
- handle
- is_giftcard
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- collection_id
- type_id
- discountable
- external_id
- 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.
rank:
type: number
title: rank
description: The image's rank among sibling images.
required:
- id
- url
- rank
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.
inventory_items:
type: array
description: The variant's inventory items.
items:
$ref: '#/components/schemas/AdminProductVariantInventoryItemLink'
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.
AdminProductVariantInventoryItemLink:
type: object
description: An association between a product variant and an inventory item.
x-schemaName: AdminProductVariantInventoryItemLink
required:
- id
- variant_id
- inventory_item_id
properties:
id:
type: string
title: id
description: The ID of the association.
variant_id:
type: string
title: variant_id
description: The associated product variant's ID.
variant:
type: object
inventory_item_id:
type: string
title: inventory_item_id
description: The associated inventory item's ID.
inventory:
$ref: '#/components/schemas/AdminInventoryItem'
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
- created_at
- updated_at
- deleted_at
properties:
application_method:
$ref: '#/components/schemas/AdminApplicationMethod'
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'
created_at:
type: string
format: date-time
title: created_at
description: The date the promotion was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the promotion was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the promotion was deleted.
status:
type: string
description: The promotion's status.
enum:
- draft
- active
- inactive
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
- operator
- attribute
- price_id
- priority
- created_at
- updated_at
- deleted_at
properties:
id:
type: string
title: id
description: The price rule's ID.
value:
oneOf:
- type: string
title: value
description: The price rule's value.
- type: number
title: value
description: The price rule's value.
description: The price rule's value.
operator:
type: string
description: The price rule's operator.
enum:
- gt
- lt
- eq
- ne
- in
- lte
- gte
- nin
attribute:
type: string
title: attribute
description: The price rule's attribute.
price_id:
type: string
title: price_id
description: The ID of the price this rule applies to.
priority:
type: number
title: priority
description: The price rule's priority.
created_at:
type: string
format: date-time
title: created_at
description: The date the price rule was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the price rule was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the price rule was deleted.
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:
type: string
title: value
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'
AdminTransferOrder:
type: object
description: The details of the request to transfer the order.
x-schemaName: AdminTransferOrder
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer to transfer the order to.
description:
type: string
title: description
description: The description of the order transfer, which can be shown to the customer receiving the order transfer request.
internal_note:
type: string
title: internal_note
description: An internal note viewable only by admin users.
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.
AdminUpdateOrder:
type: object
description: The details to update in the order.
x-schemaName: AdminUpdateOrder
properties:
email:
type: string
title: email
description: The order's email.
format: email
shipping_address:
type: object
description: The order's shipping address.
properties:
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.
billing_address:
type: object
description: The order's billing address.
properties:
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.
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.
external_id:
type: string
title: external_id
description: The ID of the product in an external or third-party system.
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.
AdminUpdateTaxRegion:
type: object
description: The details to update in a tax region.
x-schemaName: AdminUpdateTaxRegion
properties:
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.
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.
original_price:
type: object
description: The original price's details.
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/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: 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.
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 product collection's details.
x-schemaName: BaseCollection
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.
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
required:
- item
- item_id
- id
- amount
- cart_id
- created_at
- updated_at
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.
BaseLineItemTaxLine:
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:
$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.
BaseOrder:
type: object
description: The order's details.
x-schemaName: BaseOrder
required:
- id
- version
- region_id
- customer_id
- sales_channel_id
- email
- currency_code
- status
- items
- shipping_methods
- payment_status
- fulfillment_status
- summary
- 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/BasePaymentCollection'
fulfillments:
type: array
description: The order's fulfillments.
items:
$ref: '#/components/schemas/BaseOrderFulfillment'
shipping_address:
$ref: '#/components/schemas/BaseOrderAddress'
billing_address:
$ref: '#/components/schemas/BaseOrderAddress'
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.
status:
type: string
title: status
description: The order's status.
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
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 details.
x-schemaName: BaseOrderFulfillment
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.
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_id
- 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.
product_type_id:
type: string
title: product_type_id
description: The ID of the associated product's type.
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.
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
- 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.
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 details.
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 product's details.
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:
collection:
$ref: '#/components/schemas/BaseCollection'
categories:
type: array
description: The product's categories.
items:
$ref: '#/components/schemas/BaseProductCategory'
variants:
type: array
description: The product's variants.
items:
type: object
type:
$ref: '#/components/schemas/BaseProductType'
tags:
type: array
description: The product's tags.
items:
$ref: '#/components/schemas/BaseProductTag'
length:
type: number
title: length
description: The product's length.
title:
type: string
title: title
description: The product's title.
status:
type: string
description: The product's status.
enum:
- draft
- proposed
- published
- rejected
options:
type: array
description: The product's options.
items:
$ref: '#/components/schemas/BaseProductOption'
description:
type: string
title: description
description: The product's description.
id:
type: string
title: id
description: The product's ID.
metadata:
type: object
description: The product's metadata, 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/BaseProductImage'
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.
BaseProductCategory:
type: object
description: The product category's details.
x-schemaName: BaseProductCategory
required:
- id
- name
- description
- handle
- is_active
- is_internal
- rank
- parent_category_id
- parent_category
- category_children
- created_at
- updated_at
- deleted_at
properties:
category_children:
type: array
description: The category's children.
items:
$ref: '#/components/schemas/AdminProductCategory'
parent_category:
$ref: '#/components/schemas/AdminProductCategory'
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.
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.
rank:
type: number
title: rank
description: The image's rank among its sibling images.
required:
- id
- url
- rank
BaseProductOption:
type: object
description: The product option's details.
x-schemaName: BaseProductOption
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:
$ref: '#/components/schemas/BaseProductOptionValue'
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.
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 product tag's details.
x-schemaName: BaseProductTag
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.
BaseProductType:
type: object
description: The product type's details.
x-schemaName: BaseProductType
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.
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
- display_id
- 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
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.
display_id:
type: number
title: display_id
description: The order's display ID.
credit_lines:
type: array
description: The order's credit lines, useful to add additional payment amounts for an order.
items:
$ref: '#/components/schemas/OrderCreditLine'
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:
- id
- type
- order_id
- order_version
- display_id
- claim_items
- additional_items
- metadata
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.
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/OrderShippingMethod'
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/OrderTransaction'
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.
type:
type: string
description: The claim's type.
enum:
- replace
- refund
order:
$ref: '#/components/schemas/Order'
order_version:
type: number
title: order_version
description: The claim's order version.
raw_refund_amount:
oneOf:
- type: string
title: raw_refund_amount
description: The claim's raw refund amount.
- type: number
title: raw_refund_amount
description: The claim's raw refund amount.
- type: string
title: raw_refund_amount
description: The claim's raw refund amount.
- type: number
title: raw_refund_amount
description: The claim's raw refund amount.
created_by:
type: string
title: created_by
description: The ID of the user that created the claim.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the claim was deleted.
canceled_at:
type: string
title: canceled_at
description: The date the claim was canceled.
format: date-time
OrderCreditLine:
type: object
description: The credit line's details.
x-schemaName: OrderCreditLine
required:
- id
- order_id
- order
- reference
- reference_id
- metadata
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The credit line's ID.
order_id:
type: string
title: order_id
description: The ID of the associated order.
order:
type: object
reference:
type: string
title: reference
description: The table that this credit line references. For example, `payment_collection`.
reference_id:
type: string
title: reference_id
description: The ID of the record in the referenced table. For example, `paycol_123`.
metadata:
type: object
description: The credit line's metadata, can hold custom key-value pairs.
created_at:
type: string
format: date-time
title: created_at
description: The date the credit line was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the credit line was updated.
OrderExchange:
type: object
description: The order change's exchange.
x-schemaName: OrderExchange
required:
- id
- order_id
- order_version
- display_id
- additional_items
- metadata
properties:
order_id:
type: string
title: order_id
description: The ID of the order the exchange is created for.
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/Return'
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: number
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/OrderShippingMethod'
transactions:
type: array
description: The exchange's transactions.
externalDocs:
url: https://docs.medusajs.com/v2/resources/commerce-modules/order/transactions
items:
$ref: '#/components/schemas/OrderTransaction'
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:
$ref: '#/components/schemas/Order'
order_version:
type: number
title: order_version
description: The version of the order when the exchange is applied.
raw_difference_due:
oneOf:
- type: string
title: raw_difference_due
description: The exchange's raw difference due.
- type: number
title: raw_difference_due
description: The exchange's raw difference due.
- type: string
title: raw_difference_due
description: The exchange's raw difference due.
- type: number
title: raw_difference_due
description: The exchange's raw difference due.
allow_backorder:
type: boolean
title: allow_backorder
description: Whether variants that are out of stock can be added to the exchange as outbound items.
created_by:
type: string
title: created_by
description: The ID of the user that created the exchange.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the exchange was deleted.
canceled_at:
type: string
title: canceled_at
description: The date the exchange was canceled.
format: date-time
OrderItem:
type: object
description: The order item's detail.
x-schemaName: OrderItem
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 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.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The item's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_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 received through a return.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The item's quantity that's returned but dismissed because it's damaged.
written_off_quantity:
type: number
title: written_off_quantity
description: The item's quantity that's removed due to an order change.
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
- 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
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.
unit_price:
type: number
title: unit_price
description: The item's price for a single quantity.
quantity:
type: number
title: quantity
description: The item's quantity.
tax_lines:
type: array
description: The item's tax lines.
items:
$ref: '#/components/schemas/OrderLineItemTaxLine'
adjustments:
type: array
description: The item's adjustments.
items:
$ref: '#/components/schemas/OrderLineItemAdjustment'
detail:
$ref: '#/components/schemas/OrderItem'
created_at:
type: string
format: date-time
title: created_at
description: The 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.
product_type_id:
type: string
title: product_type_id
description: The ID of the associated product's type.
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
- 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.
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
- return_id
- order_id
- item_id
- quantity
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.
reason_id:
type: string
title: reason_id
description: The ID of the return reason associated with the item.
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.
order_id:
type: string
title: order_id
description: The ID of the order the return 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.
OrderShippingMethod:
type: object
description: The shipping method's details.
x-schemaName: OrderShippingMethod
required:
- id
- order_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.
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.
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.
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
- 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.
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
- order
- 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.
order:
type: object
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
- display_id
- metadata
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'
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'
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.
canceled_at:
type: string
title: canceled_at
description: The date the return was canceled.
format: date-time
raw_refund_amount:
oneOf:
- type: string
title: raw_refund_amount
description: The return order's raw refund amount.
- type: number
title: raw_refund_amount
description: The return order's raw refund amount.
- type: string
title: raw_refund_amount
description: The return order's raw refund amount.
- type: number
title: raw_refund_amount
description: The return order's raw refund amount.
order:
$ref: '#/components/schemas/Order'
exchange_id:
type: string
title: exchange_id
description: The ID of the exchange this return belongs to, if any.
exchange:
type: object
claim_id:
type: string
title: claim_id
description: The ID of the claim this return belongs to, if any.
claim:
$ref: '#/components/schemas/OrderClaim'
display_id:
type: number
title: display_id
description: The return order's display ID.
location_id:
type: string
title: location_id
description: The ID of the stock location the items are returned to.
no_notification:
type: boolean
title: no_notification
description: Whether to notify the customer about changes in the return.
created_by:
type: string
title: created_by
description: The ID of the user that created the return.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the return was deleted.
requested_at:
type: string
title: requested_at
description: The date the return was requested.
format: date-time
received_at:
type: string
title: received_at
description: The date the return was received.
format: date-time
StoreAcceptOrderTransfer:
type: object
description: The details of accepting the order transfer.
x-schemaName: StoreAcceptOrderTransfer
required:
- token
properties:
token:
type: string
title: token
description: The order transfer's token issued when the transfer was requested.
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.
StoreCalculatedPrice:
type: object
description: The shipping option's calculated price.
x-schemaName: StoreCalculatedPrice
required:
- id
- calculated_amount
- original_amount
- currency_code
properties:
id:
type: string
title: id
description: The ID of the price set from which the price was selected.
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.
externalDocs:
url: https://docs.medusajs.com/resources/commerce-modules/pricing/tax-inclusive-pricing
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_amount` with taxes applied.
calculated_amount_without_tax:
type: number
title: calculated_amount_without_tax
description: The `calculated_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.
externalDocs:
url: https://docs.medusajs.com/resources/commerce-modules/pricing/tax-inclusive-pricing
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 currency code of the calculated price, or `null` if there isn't a calculated price.
calculated_price:
type: object
description: The calculated price's details.
required:
- id
- price_list_id
- price_list_type
- min_quantity
- max_quantity
properties:
id:
type: string
title: id
description: The ID of the price.
price_list_id:
type: string
title: price_list_id
description: The ID of the associated price list.
price_list_type:
type: string
title: price_list_type
description: The price list's type. For example, `sale` or `override`.
min_quantity:
type: number
title: min_quantity
description: The minimum quantity required in the cart for the price to apply.
max_quantity:
type: number
title: max_quantity
description: The maximum quantity required in the cart for the price to apply.
original_price:
type: object
description: The origin price's details.
required:
- id
- price_list_id
- price_list_type
- min_quantity
- max_quantity
properties:
id:
type: string
title: id
description: The ID of the price.
price_list_id:
type: string
title: price_list_id
description: The ID of the associated price list.
price_list_type:
type: string
title: price_list_type
description: The price list's type. For example, `sale` or `override`.
min_quantity:
type: number
title: min_quantity
description: The minimum quantity required in the cart for the price to apply.
max_quantity:
type: number
title: max_quantity
description: The maximum quantity required in the cart for the price to apply.
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.
StoreCartShippingOption:
type: object
description: The shipping option's details.
x-schemaName: StoreCartShippingOption
required:
- id
- name
- price_type
- service_zone_id
- shipping_profile_id
- provider_id
- data
- type
- provider
- amount
- prices
- calculated_price
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:
type: object
description: The fulfillment provider's details.
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.
type:
type: object
description: The shipping option type's details.
required:
- id
- label
- description
- code
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_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.
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
prices:
type: array
description: The shipping option's prices.
items:
$ref: '#/components/schemas/StorePrice'
calculated_price:
$ref: '#/components/schemas/StoreCalculatedPrice'
StoreCollection:
type: object
description: The collection's details.
x-schemaName: StoreCollection
required:
- title
- id
- metadata
- created_at
- updated_at
- handle
- 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'
StoreDeclineOrderTransferRequest:
type: object
description: The details of declining the order transfer request.
x-schemaName: StoreDeclineOrderTransferRequest
required:
- token
properties:
token:
type: string
title: token
description: The order transfer's token issued when the transfer was requested.
StoreInitializePaymentSession:
type: object
description: The payment session's details.
required:
- provider_id
properties:
provider_id:
type: string
title: provider_id
description: The ID of the payment provider the customer chose.
example: pp_stripe_stripe
context:
type: object
description: The payment's context, such as the customer or address details. If the customer is logged-in, the customer `id` is set in the context under a `customer.id` property.
data:
type: object
description: Any data necessary for the payment provider to process the payment.
externalDocs:
url: https://docs.medusajs.com/v2/resources/commerce-modules/payment/payment-session#data-property
description: Learn more about the payment session's data property
x-schemaName: StoreInitializePaymentSession
StoreOrder:
type: object
description: The order's details.
x-schemaName: StoreOrder
required:
- items
- shipping_methods
- status
- currency_code
- id
- region_id
- customer_id
- sales_channel_id
- email
- payment_status
- fulfillment_status
- summary
- 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.
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/StoreOrderAddress'
billing_address:
$ref: '#/components/schemas/StoreOrderAddress'
items:
type: array
description: The order's items.
items:
$ref: '#/components/schemas/StoreOrderLineItem'
shipping_methods:
type: array
description: The order's shipping methods.
items:
$ref: '#/components/schemas/StoreOrderShippingMethod'
payment_collections:
type: array
description: The order's payment collections.
items:
$ref: '#/components/schemas/StorePaymentCollection'
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/StoreOrderFulfillment'
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.
customer:
$ref: '#/components/schemas/StoreCustomer'
transactions:
type: array
description: The order's transactions.
items:
$ref: '#/components/schemas/BaseOrderTransaction'
status:
type: string
title: status
description: The order's status.
StoreOrderAddress:
type: object
description: An order address
x-schemaName: StoreOrderAddress
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/StoreRegionCountry'
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.
StoreOrderFulfillment:
type: object
description: The fulfillment's details.
x-schemaName: StoreOrderFulfillment
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: The fulfillment's requires shipping.
StoreOrderLineItem:
type: object
description: The item's details.
x-schemaName: StoreOrderLineItem
required:
- detail
- title
- id
- metadata
- 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
- subtitle
- thumbnail
- variant_id
- product_id
- product_title
- product_description
- product_subtitle
- product_type_id
- 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
- 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/StoreProductVariant'
variant_id:
type: string
title: variant_id
description: The ID of the associated variant.
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 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:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line'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 item's thumbnail.
variant:
type: object
description: The item's variant.
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.
upc:
type: string
title: upc
description: The variant's upc.
allow_backorder:
type: boolean
title: allow_backorder
description: The variant's allow backorder.
manage_inventory:
type: boolean
title: manage_inventory
description: The variant's manage inventory.
inventory_quantity:
type: number
title: inventory_quantity
description: The variant's inventory quantity.
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 variant rank.
options:
type: array
description: The variant's options.
items:
type: object
description: The option's options.
x-schemaName: BaseProductOptionValue
product:
type: object
description: The variant's product.
x-schemaName: BaseProduct
product_id:
type: string
title: product_id
description: The variant's product id.
calculated_price:
type: object
description: The variant's calculated price.
x-schemaName: BaseCalculatedPriceSet
created_at:
type: string
format: date-time
title: created_at
description: The variant's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The variant's updated at.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The variant's deleted at.
metadata:
type: object
description: The variant's metadata.
variant_id:
type: string
title: variant_id
description: The item's variant id.
product:
type: object
description: The item'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:
type: object
description: The product's collection.
x-schemaName: BaseCollection
collection_id:
type: string
title: collection_id
description: The product's collection id.
categories:
type: array
description: The product's categories.
items:
type: object
description: The category's categories.
x-schemaName: BaseProductCategory
type:
type: object
description: The product's type.
x-schemaName: BaseProduct
type_id:
type: string
title: type_id
description: The product's type id.
tags:
type: array
description: The product's tags.
items:
type: object
description: The tag's tags.
x-schemaName: BaseProductTag
variants:
type: array
description: The product's variants.
items:
type: object
description: The variant's variants.
x-schemaName: BaseProductVariant
options:
type: array
description: The product's options.
items:
type: object
description: The option's options.
x-schemaName: BaseProductOption
images:
type: array
description: The product's images.
items:
type: object
description: The image's images.
x-schemaName: 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.
product_id:
type: string
title: product_id
description: The item's product id.
product_title:
type: string
title: product_title
description: The item's product title.
product_description:
type: string
title: product_description
description: The item's product description.
product_subtitle:
type: string
title: product_subtitle
description: The item's product subtitle.
product_type:
type: string
title: product_type
description: The item's product type.
product_collection:
type: string
title: product_collection
description: The item's product collection.
product_handle:
type: string
title: product_handle
description: The item's product handle.
variant_sku:
type: string
title: variant_sku
description: The item's variant sku.
variant_barcode:
type: string
title: variant_barcode
description: The item's variant barcode.
variant_title:
type: string
title: variant_title
description: The item's variant title.
variant_option_values:
type: object
description: The item's variant option values.
requires_shipping:
type: boolean
title: requires_shipping
description: The item's requires shipping.
is_discountable:
type: boolean
title: is_discountable
description: The item's is discountable.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The item's is tax inclusive.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The item's compare at unit price.
unit_price:
type: number
title: unit_price
description: The item's unit price.
quantity:
type: number
title: quantity
description: The item's quantity.
tax_lines:
type: array
description: The item's tax lines.
items:
type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
adjustments:
type: array
description: The item's adjustments.
items:
type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
detail:
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: item_id
description: The detail's item id.
item:
type: object
description: The detail's item.
x-schemaName: BaseOrderLineItem
quantity:
type: number
title: quantity
description: The detail's quantity.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The detail's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_quantity
description: The detail's delivered quantity.
shipped_quantity:
type: number
title: shipped_quantity
description: The detail's shipped quantity.
return_requested_quantity:
type: number
title: return_requested_quantity
description: The detail's return requested quantity.
return_received_quantity:
type: number
title: return_received_quantity
description: The detail's return received quantity.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The detail's return dismissed quantity.
written_off_quantity:
type: number
title: written_off_quantity
description: The detail's written off quantity.
metadata:
type: object
description: The detail's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
created_at:
type: string
format: date-time
title: created_at
description: The item's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The item's updated at.
metadata:
type: object
description: The item's metadata.
original_total:
type: number
title: original_total
description: The item's original total.
original_subtotal:
type: number
title: original_subtotal
description: The item's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The item's original tax total.
item_total:
type: number
title: item_total
description: The item's item total.
item_subtotal:
type: number
title: item_subtotal
description: The item's item subtotal.
item_tax_total:
type: number
title: item_tax_total
description: The item's item tax total.
total:
type: number
title: total
description: The item's total.
subtotal:
type: number
title: subtotal
description: The item's subtotal.
tax_total:
type: number
title: tax_total
description: The item's tax total.
discount_total:
type: number
title: discount_total
description: The item's discount total.
discount_tax_total:
type: number
title: discount_tax_total
description: The item's discount tax total.
refundable_total:
type: number
title: refundable_total
description: The item's refundable total.
refundable_total_per_unit:
type: number
title: refundable_total_per_unit
description: The item's refundable total per unit.
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- item
properties:
item:
type: object
description: The tax line's item.
x-schemaName: StoreOrderLineItem
required:
- detail
- title
- id
- metadata
- 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
- 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
- refundable_total
- refundable_total_per_unit
properties:
variant:
type: object
description: The item's variant.
x-schemaName: StoreProductVariant
required:
- options
- length
- title
- id
- created_at
- updated_at
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- deleted_at
- sku
- barcode
- ean
- upc
- allow_backorder
- manage_inventory
properties:
options:
type: array
description: The variant's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOptionValue
product:
type: object
description: The variant's product.
x-schemaName: StoreProduct
length:
type: number
title: length
description: The variant's length.
title:
type: string
title: title
description: The variant's title.
id:
type: string
title: id
description: The variant's ID.
metadata:
type: object
description: The variant's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The variant's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The variant's updated at.
product_id:
type: string
title: product_id
description: The variant's product 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.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The variant's deleted at.
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: The variant's allow backorder.
manage_inventory:
type: boolean
title: manage_inventory
description: The variant's manage inventory.
inventory_quantity:
type: number
title: inventory_quantity
description: The variant's inventory quantity.
variant_rank:
type: number
title: variant_rank
description: The variant's variant rank.
calculated_price:
type: object
description: The variant's calculated price.
x-schemaName: BaseCalculatedPriceSet
product:
type: object
description: The item's product.
x-schemaName: StoreProduct
required:
- variants
- options
- images
- length
- title
- status
- description
- id
- created_at
- updated_at
- subtitle
- thumbnail
- handle
- is_giftcard
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- collection_id
- type_id
- discountable
- external_id
- deleted_at
properties:
collection:
type: object
description: The product's collection.
x-schemaName: StoreCollection
categories:
type: array
description: The product's categories.
items:
type: object
description: The category's categories.
x-schemaName: StoreProductCategory
variants:
type: array
description: The product's variants.
items:
type: object
description: The variant's variants.
x-schemaName: StoreProductVariant
type:
type: object
description: The product's type.
x-schemaName: StoreProduct
tags:
type: array
description: The product's tags.
items:
type: object
description: The tag's tags.
x-schemaName: StoreProductTag
options:
type: array
description: The product's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOption
images:
type: array
description: The product's images.
items:
type: object
description: The image's images.
x-schemaName: StoreProductImage
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
description:
type: string
title: description
description: The product's description.
id:
type: string
title: id
description: The product's ID.
metadata:
type: object
description: The product's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The product's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The product's updated at.
subtitle:
type: string
title: subtitle
description: The product's subtitle.
thumbnail:
type: string
title: thumbnail
description: The product's thumbnail.
handle:
type: string
title: handle
description: The product's handle.
is_giftcard:
type: boolean
title: is_giftcard
description: The product's is giftcard.
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 product's collection id.
type_id:
type: string
title: type_id
description: The product's type id.
discountable:
type: boolean
title: discountable
description: The product's discountable.
external_id:
type: string
title: external_id
description: The product's external id.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The product's deleted at.
tax_lines:
type: array
description: The item's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- item
properties:
item:
type: object
description: The tax line's item.
x-schemaName: StoreOrderLineItem
adjustments:
type: array
description: The item's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- item
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: StoreOrderLineItem
detail:
allOf:
- 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: item_id
description: The detail's item id.
item:
type: object
description: The detail's item.
x-schemaName: BaseOrderLineItem
quantity:
type: number
title: quantity
description: The detail's quantity.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The detail's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_quantity
description: The detail's delivered quantity.
shipped_quantity:
type: number
title: shipped_quantity
description: The detail's shipped quantity.
return_requested_quantity:
type: number
title: return_requested_quantity
description: The detail's return requested quantity.
return_received_quantity:
type: number
title: return_received_quantity
description: The detail's return received quantity.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The detail's return dismissed quantity.
written_off_quantity:
type: number
title: written_off_quantity
description: The detail's written off quantity.
metadata:
type: object
description: The detail's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The item's detail.
required:
- item
properties:
item:
type: object
description: The detail's item.
x-schemaName: StoreOrderLineItem
title:
type: string
title: title
description: The item's title.
id:
type: string
title: id
description: The item's 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.
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.
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.
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.
subtitle:
type: string
title: subtitle
description: The item's subtitle.
thumbnail:
type: string
title: thumbnail
description: The item's thumbnail.
variant_id:
type: string
title: variant_id
description: The item's variant id.
product_id:
type: string
title: product_id
description: The item's product id.
product_title:
type: string
title: product_title
description: The item's product title.
product_description:
type: string
title: product_description
description: The item's product description.
product_subtitle:
type: string
title: product_subtitle
description: The item's product subtitle.
product_type:
type: string
title: product_type
description: The item's product type.
product_collection:
type: string
title: product_collection
description: The item's product collection.
product_handle:
type: string
title: product_handle
description: The item's product handle.
variant_sku:
type: string
title: variant_sku
description: The item's variant sku.
variant_barcode:
type: string
title: variant_barcode
description: The item's variant barcode.
variant_title:
type: string
title: variant_title
description: The item's variant title.
variant_option_values:
type: object
description: The item's variant option values.
requires_shipping:
type: boolean
title: requires_shipping
description: The item's requires shipping.
is_discountable:
type: boolean
title: is_discountable
description: The item's is discountable.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The item's is tax inclusive.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The item's compare at unit price.
unit_price:
type: number
title: unit_price
description: The item's unit price.
quantity:
type: number
title: quantity
description: The item's quantity.
refundable_total:
type: number
title: refundable_total
description: The item's refundable total.
refundable_total_per_unit:
type: number
title: refundable_total_per_unit
description: The item's refundable total per unit.
description: The tax line's tax lines.
adjustments:
type: array
description: The item's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment'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 item's thumbnail.
variant:
type: object
description: The item's variant.
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.
upc:
type: string
title: upc
description: The variant's upc.
allow_backorder:
type: boolean
title: allow_backorder
description: The variant's allow backorder.
manage_inventory:
type: boolean
title: manage_inventory
description: The variant's manage inventory.
inventory_quantity:
type: number
title: inventory_quantity
description: The variant's inventory quantity.
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 variant rank.
options:
type: array
description: The variant's options.
items:
type: object
description: The option's options.
x-schemaName: BaseProductOptionValue
product:
type: object
description: The variant's product.
x-schemaName: BaseProduct
product_id:
type: string
title: product_id
description: The variant's product id.
calculated_price:
type: object
description: The variant's calculated price.
x-schemaName: BaseCalculatedPriceSet
created_at:
type: string
format: date-time
title: created_at
description: The variant's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The variant's updated at.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The variant's deleted at.
metadata:
type: object
description: The variant's metadata.
variant_id:
type: string
title: variant_id
description: The item's variant id.
product:
type: object
description: The item'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:
type: object
description: The product's collection.
x-schemaName: BaseCollection
collection_id:
type: string
title: collection_id
description: The product's collection id.
categories:
type: array
description: The product's categories.
items:
type: object
description: The category's categories.
x-schemaName: BaseProductCategory
type:
type: object
description: The product's type.
x-schemaName: BaseProduct
type_id:
type: string
title: type_id
description: The product's type id.
tags:
type: array
description: The product's tags.
items:
type: object
description: The tag's tags.
x-schemaName: BaseProductTag
variants:
type: array
description: The product's variants.
items:
type: object
description: The variant's variants.
x-schemaName: BaseProductVariant
options:
type: array
description: The product's options.
items:
type: object
description: The option's options.
x-schemaName: BaseProductOption
images:
type: array
description: The product's images.
items:
type: object
description: The image's images.
x-schemaName: 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.
product_id:
type: string
title: product_id
description: The item's product id.
product_title:
type: string
title: product_title
description: The item's product title.
product_description:
type: string
title: product_description
description: The item's product description.
product_subtitle:
type: string
title: product_subtitle
description: The item's product subtitle.
product_type:
type: string
title: product_type
description: The item's product type.
product_collection:
type: string
title: product_collection
description: The item's product collection.
product_handle:
type: string
title: product_handle
description: The item's product handle.
variant_sku:
type: string
title: variant_sku
description: The item's variant sku.
variant_barcode:
type: string
title: variant_barcode
description: The item's variant barcode.
variant_title:
type: string
title: variant_title
description: The item's variant title.
variant_option_values:
type: object
description: The item's variant option values.
requires_shipping:
type: boolean
title: requires_shipping
description: The item's requires shipping.
is_discountable:
type: boolean
title: is_discountable
description: The item's is discountable.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The item's is tax inclusive.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The item's compare at unit price.
unit_price:
type: number
title: unit_price
description: The item's unit price.
quantity:
type: number
title: quantity
description: The item's quantity.
tax_lines:
type: array
description: The item's tax lines.
items:
type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
adjustments:
type: array
description: The item's adjustments.
items:
type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
detail:
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: item_id
description: The detail's item id.
item:
type: object
description: The detail's item.
x-schemaName: BaseOrderLineItem
quantity:
type: number
title: quantity
description: The detail's quantity.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The detail's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_quantity
description: The detail's delivered quantity.
shipped_quantity:
type: number
title: shipped_quantity
description: The detail's shipped quantity.
return_requested_quantity:
type: number
title: return_requested_quantity
description: The detail's return requested quantity.
return_received_quantity:
type: number
title: return_received_quantity
description: The detail's return received quantity.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The detail's return dismissed quantity.
written_off_quantity:
type: number
title: written_off_quantity
description: The detail's written off quantity.
metadata:
type: object
description: The detail's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
created_at:
type: string
format: date-time
title: created_at
description: The item's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The item's updated at.
metadata:
type: object
description: The item's metadata.
original_total:
type: number
title: original_total
description: The item's original total.
original_subtotal:
type: number
title: original_subtotal
description: The item's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The item's original tax total.
item_total:
type: number
title: item_total
description: The item's item total.
item_subtotal:
type: number
title: item_subtotal
description: The item's item subtotal.
item_tax_total:
type: number
title: item_tax_total
description: The item's item tax total.
total:
type: number
title: total
description: The item's total.
subtotal:
type: number
title: subtotal
description: The item's subtotal.
tax_total:
type: number
title: tax_total
description: The item's tax total.
discount_total:
type: number
title: discount_total
description: The item's discount total.
discount_tax_total:
type: number
title: discount_tax_total
description: The item's discount tax total.
refundable_total:
type: number
title: refundable_total
description: The item's refundable total.
refundable_total_per_unit:
type: number
title: refundable_total_per_unit
description: The item's refundable total per unit.
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- item
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: StoreOrderLineItem
required:
- detail
- title
- id
- metadata
- 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
- 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
- refundable_total
- refundable_total_per_unit
properties:
variant:
type: object
description: The item's variant.
x-schemaName: StoreProductVariant
required:
- options
- length
- title
- id
- created_at
- updated_at
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- deleted_at
- sku
- barcode
- ean
- upc
- allow_backorder
- manage_inventory
properties:
options:
type: array
description: The variant's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOptionValue
product:
type: object
description: The variant's product.
x-schemaName: StoreProduct
length:
type: number
title: length
description: The variant's length.
title:
type: string
title: title
description: The variant's title.
id:
type: string
title: id
description: The variant's ID.
metadata:
type: object
description: The variant's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The variant's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The variant's updated at.
product_id:
type: string
title: product_id
description: The variant's product 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.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The variant's deleted at.
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: The variant's allow backorder.
manage_inventory:
type: boolean
title: manage_inventory
description: The variant's manage inventory.
inventory_quantity:
type: number
title: inventory_quantity
description: The variant's inventory quantity.
variant_rank:
type: number
title: variant_rank
description: The variant's variant rank.
calculated_price:
type: object
description: The variant's calculated price.
x-schemaName: BaseCalculatedPriceSet
product:
type: object
description: The item's product.
x-schemaName: StoreProduct
required:
- variants
- options
- images
- length
- title
- status
- description
- id
- created_at
- updated_at
- subtitle
- thumbnail
- handle
- is_giftcard
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- collection_id
- type_id
- discountable
- external_id
- deleted_at
properties:
collection:
type: object
description: The product's collection.
x-schemaName: StoreCollection
categories:
type: array
description: The product's categories.
items:
type: object
description: The category's categories.
x-schemaName: StoreProductCategory
variants:
type: array
description: The product's variants.
items:
type: object
description: The variant's variants.
x-schemaName: StoreProductVariant
type:
type: object
description: The product's type.
x-schemaName: StoreProduct
tags:
type: array
description: The product's tags.
items:
type: object
description: The tag's tags.
x-schemaName: StoreProductTag
options:
type: array
description: The product's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOption
images:
type: array
description: The product's images.
items:
type: object
description: The image's images.
x-schemaName: StoreProductImage
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
description:
type: string
title: description
description: The product's description.
id:
type: string
title: id
description: The product's ID.
metadata:
type: object
description: The product's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The product's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The product's updated at.
subtitle:
type: string
title: subtitle
description: The product's subtitle.
thumbnail:
type: string
title: thumbnail
description: The product's thumbnail.
handle:
type: string
title: handle
description: The product's handle.
is_giftcard:
type: boolean
title: is_giftcard
description: The product's is giftcard.
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 product's collection id.
type_id:
type: string
title: type_id
description: The product's type id.
discountable:
type: boolean
title: discountable
description: The product's discountable.
external_id:
type: string
title: external_id
description: The product's external id.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The product's deleted at.
tax_lines:
type: array
description: The item's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- item
properties:
item:
type: object
description: The tax line's item.
x-schemaName: StoreOrderLineItem
adjustments:
type: array
description: The item's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- item
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: StoreOrderLineItem
detail:
allOf:
- 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: item_id
description: The detail's item id.
item:
type: object
description: The detail's item.
x-schemaName: BaseOrderLineItem
quantity:
type: number
title: quantity
description: The detail's quantity.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The detail's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_quantity
description: The detail's delivered quantity.
shipped_quantity:
type: number
title: shipped_quantity
description: The detail's shipped quantity.
return_requested_quantity:
type: number
title: return_requested_quantity
description: The detail's return requested quantity.
return_received_quantity:
type: number
title: return_received_quantity
description: The detail's return received quantity.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The detail's return dismissed quantity.
written_off_quantity:
type: number
title: written_off_quantity
description: The detail's written off quantity.
metadata:
type: object
description: The detail's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The item's detail.
required:
- item
properties:
item:
type: object
description: The detail's item.
x-schemaName: StoreOrderLineItem
title:
type: string
title: title
description: The item's title.
id:
type: string
title: id
description: The item's 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.
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.
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.
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.
subtitle:
type: string
title: subtitle
description: The item's subtitle.
thumbnail:
type: string
title: thumbnail
description: The item's thumbnail.
variant_id:
type: string
title: variant_id
description: The item's variant id.
product_id:
type: string
title: product_id
description: The item's product id.
product_title:
type: string
title: product_title
description: The item's product title.
product_description:
type: string
title: product_description
description: The item's product description.
product_subtitle:
type: string
title: product_subtitle
description: The item's product subtitle.
product_type:
type: string
title: product_type
description: The item's product type.
product_collection:
type: string
title: product_collection
description: The item's product collection.
product_handle:
type: string
title: product_handle
description: The item's product handle.
variant_sku:
type: string
title: variant_sku
description: The item's variant sku.
variant_barcode:
type: string
title: variant_barcode
description: The item's variant barcode.
variant_title:
type: string
title: variant_title
description: The item's variant title.
variant_option_values:
type: object
description: The item's variant option values.
requires_shipping:
type: boolean
title: requires_shipping
description: The item's requires shipping.
is_discountable:
type: boolean
title: is_discountable
description: The item's is discountable.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The item's is tax inclusive.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The item's compare at unit price.
unit_price:
type: number
title: unit_price
description: The item's unit price.
quantity:
type: number
title: quantity
description: The item's quantity.
refundable_total:
type: number
title: refundable_total
description: The item's refundable total.
refundable_total_per_unit:
type: number
title: refundable_total_per_unit
description: The item's refundable total per unit.
description: The adjustment's details.
detail:
allOf:
- $ref: '#/components/schemas/BaseOrderItemDetail'
- type: object
description: The item's detail.
required:
- item
properties:
item:
type: object
description: The detail's item.
x-schemaName: StoreOrderLineItem
required:
- detail
- title
- id
- metadata
- 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
- 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
- refundable_total
- refundable_total_per_unit
properties:
variant:
type: object
description: The item's variant.
x-schemaName: StoreProductVariant
required:
- options
- length
- title
- id
- created_at
- updated_at
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- deleted_at
- sku
- barcode
- ean
- upc
- allow_backorder
- manage_inventory
properties:
options:
type: array
description: The variant's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOptionValue
product:
type: object
description: The variant's product.
x-schemaName: StoreProduct
length:
type: number
title: length
description: The variant's length.
title:
type: string
title: title
description: The variant's title.
id:
type: string
title: id
description: The variant's ID.
metadata:
type: object
description: The variant's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The variant's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The variant's updated at.
product_id:
type: string
title: product_id
description: The variant's product 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.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The variant's deleted at.
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: The variant's allow backorder.
manage_inventory:
type: boolean
title: manage_inventory
description: The variant's manage inventory.
inventory_quantity:
type: number
title: inventory_quantity
description: The variant's inventory quantity.
variant_rank:
type: number
title: variant_rank
description: The variant's variant rank.
calculated_price:
type: object
description: The variant's calculated price.
x-schemaName: BaseCalculatedPriceSet
product:
type: object
description: The item's product.
x-schemaName: StoreProduct
required:
- variants
- options
- images
- length
- title
- status
- description
- id
- created_at
- updated_at
- subtitle
- thumbnail
- handle
- is_giftcard
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- collection_id
- type_id
- discountable
- external_id
- deleted_at
properties:
collection:
type: object
description: The product's collection.
x-schemaName: StoreCollection
categories:
type: array
description: The product's categories.
items:
type: object
description: The category's categories.
x-schemaName: StoreProductCategory
variants:
type: array
description: The product's variants.
items:
type: object
description: The variant's variants.
x-schemaName: StoreProductVariant
type:
type: object
description: The product's type.
x-schemaName: StoreProduct
tags:
type: array
description: The product's tags.
items:
type: object
description: The tag's tags.
x-schemaName: StoreProductTag
options:
type: array
description: The product's options.
items:
type: object
description: The option's options.
x-schemaName: StoreProductOption
images:
type: array
description: The product's images.
items:
type: object
description: The image's images.
x-schemaName: StoreProductImage
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
description:
type: string
title: description
description: The product's description.
id:
type: string
title: id
description: The product's ID.
metadata:
type: object
description: The product's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The product's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The product's updated at.
subtitle:
type: string
title: subtitle
description: The product's subtitle.
thumbnail:
type: string
title: thumbnail
description: The product's thumbnail.
handle:
type: string
title: handle
description: The product's handle.
is_giftcard:
type: boolean
title: is_giftcard
description: The product's is giftcard.
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 product's collection id.
type_id:
type: string
title: type_id
description: The product's type id.
discountable:
type: boolean
title: discountable
description: The product's discountable.
external_id:
type: string
title: external_id
description: The product's external id.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The product's deleted at.
tax_lines:
type: array
description: The item's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderLineItemTaxLine
required:
- item
- item_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
item:
type: object
description: The tax line's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The tax line's item id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- item
properties:
item:
type: object
description: The tax line's item.
x-schemaName: StoreOrderLineItem
adjustments:
type: array
description: The item's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderLineItemAdjustment
required:
- item
- item_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: BaseOrderLineItem
item_id:
type: string
title: item_id
description: The adjustment's item id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- item
properties:
item:
type: object
description: The adjustment's item.
x-schemaName: StoreOrderLineItem
detail:
allOf:
- 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: item_id
description: The detail's item id.
item:
type: object
description: The detail's item.
x-schemaName: BaseOrderLineItem
quantity:
type: number
title: quantity
description: The detail's quantity.
fulfilled_quantity:
type: number
title: fulfilled_quantity
description: The detail's fulfilled quantity.
delivered_quantity:
type: number
title: delivered_quantity
description: The detail's delivered quantity.
shipped_quantity:
type: number
title: shipped_quantity
description: The detail's shipped quantity.
return_requested_quantity:
type: number
title: return_requested_quantity
description: The detail's return requested quantity.
return_received_quantity:
type: number
title: return_received_quantity
description: The detail's return received quantity.
return_dismissed_quantity:
type: number
title: return_dismissed_quantity
description: The detail's return dismissed quantity.
written_off_quantity:
type: number
title: written_off_quantity
description: The detail's written off quantity.
metadata:
type: object
description: The detail's metadata.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The item's detail.
required:
- item
properties:
item:
type: object
description: The detail's item.
x-schemaName: StoreOrderLineItem
title:
type: string
title: title
description: The item's title.
id:
type: string
title: id
description: The item's 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.
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.
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.
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.
subtitle:
type: string
title: subtitle
description: The item's subtitle.
thumbnail:
type: string
title: thumbnail
description: The item's thumbnail.
variant_id:
type: string
title: variant_id
description: The item's variant id.
product_id:
type: string
title: product_id
description: The item's product id.
product_title:
type: string
title: product_title
description: The item's product title.
product_description:
type: string
title: product_description
description: The item's product description.
product_subtitle:
type: string
title: product_subtitle
description: The item's product subtitle.
product_type:
type: string
title: product_type
description: The item's product type.
product_collection:
type: string
title: product_collection
description: The item's product collection.
product_handle:
type: string
title: product_handle
description: The item's product handle.
variant_sku:
type: string
title: variant_sku
description: The item's variant sku.
variant_barcode:
type: string
title: variant_barcode
description: The item's variant barcode.
variant_title:
type: string
title: variant_title
description: The item's variant title.
variant_option_values:
type: object
description: The item's variant option values.
requires_shipping:
type: boolean
title: requires_shipping
description: The item's requires shipping.
is_discountable:
type: boolean
title: is_discountable
description: The item's is discountable.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The item's is tax inclusive.
compare_at_unit_price:
type: number
title: compare_at_unit_price
description: The item's compare at unit price.
unit_price:
type: number
title: unit_price
description: The item's unit price.
quantity:
type: number
title: quantity
description: The item's quantity.
refundable_total:
type: number
title: refundable_total
description: The item's refundable total.
refundable_total_per_unit:
type: number
title: refundable_total_per_unit
description: The item's refundable total per unit.
description: The item's detail.
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.
product_type_id:
type: string
title: product_type_id
description: The ID of the associated product's type.
StoreOrderResponse:
type: object
description: The order's details.
x-schemaName: StoreOrderResponse
required:
- order
properties:
order:
$ref: '#/components/schemas/StoreOrder'
StoreOrderShippingMethod:
type: object
description: The shipping method's details.
x-schemaName: StoreOrderShippingMethod
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:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
required:
- id
- order_id
- name
- amount
- is_tax_inclusive
- shipping_option_id
- data
- metadata
- original_total
- original_subtotal
- original_tax_total
- total
- subtotal
- tax_total
- discount_total
- discount_tax_total
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The shipping method's ID.
order_id:
type: string
title: order_id
description: The shipping method's order id.
name:
type: string
title: name
description: The shipping method's name.
description:
type: string
title: description
description: The shipping method's description.
amount:
type: number
title: amount
description: The shipping method's amount.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The shipping method's is tax inclusive.
shipping_option_id:
type: string
title: shipping_option_id
description: The shipping method's shipping option id.
data:
type: object
description: The shipping method's data.
metadata:
type: object
description: The shipping method's metadata.
tax_lines:
type: array
description: The shipping method's tax lines.
items:
type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
adjustments:
type: array
description: The shipping method's adjustments.
items:
type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
original_total:
type: number
title: original_total
description: The shipping method's original total.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The shipping method's original tax total.
total:
type: number
title: total
description: The shipping method's total.
detail:
type: object
description: The shipping method's detail.
x-schemaName: BaseOrderShippingDetail
required:
- id
- shipping_method_id
- shipping_method
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The detail's ID.
shipping_method_id:
type: string
title: shipping_method_id
description: The detail's shipping method id.
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: BaseOrderShippingMethod
claim_id:
type: string
title: claim_id
description: The detail's claim id.
exchange_id:
type: string
title: exchange_id
description: The detail's exchange id.
return_id:
type: string
title: return_id
description: The detail's return id.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
subtotal:
type: number
title: subtotal
description: The shipping method's subtotal.
tax_total:
type: number
title: tax_total
description: The shipping method's tax total.
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 shipping method's discount tax total.
created_at:
type: string
format: date-time
title: created_at
description: The shipping method's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The shipping method's updated at.
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: StoreOrderShippingMethod
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:
tax_lines:
type: array
description: The shipping method's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: StoreOrderShippingMethod
adjustments:
type: array
description: The shipping method's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: StoreOrderShippingMethod
detail:
allOf:
- type: object
description: The shipping method's detail.
x-schemaName: BaseOrderShippingDetail
required:
- id
- shipping_method_id
- shipping_method
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The detail's ID.
shipping_method_id:
type: string
title: shipping_method_id
description: The detail's shipping method id.
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: BaseOrderShippingMethod
claim_id:
type: string
title: claim_id
description: The detail's claim id.
exchange_id:
type: string
title: exchange_id
description: The detail's exchange id.
return_id:
type: string
title: return_id
description: The detail's return id.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The shipping method's detail.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: StoreOrderShippingMethod
id:
type: string
title: id
description: The shipping method's ID.
order_id:
type: string
title: order_id
description: The shipping method's order id.
name:
type: string
title: name
description: The shipping method's name.
description:
type: string
title: description
description: The shipping method's description.
amount:
type: number
title: amount
description: The shipping method's amount.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The shipping method's is tax inclusive.
shipping_option_id:
type: string
title: shipping_option_id
description: The shipping method's shipping option id.
data:
type: object
description: The shipping method's data.
metadata:
type: object
description: The shipping method's metadata.
original_total:
type: number
title: original_total
description: The shipping method's original total.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The shipping method's original tax total.
total:
type: number
title: total
description: The shipping method's total.
subtotal:
type: number
title: subtotal
description: The shipping method's subtotal.
tax_total:
type: number
title: tax_total
description: The shipping method's tax total.
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 shipping method's discount tax total.
created_at:
type: string
format: date-time
title: created_at
description: The shipping method's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The shipping method's updated at.
description: The tax line's details.
adjustments:
type: array
description: The shipping method's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
required:
- id
- order_id
- name
- amount
- is_tax_inclusive
- shipping_option_id
- data
- metadata
- original_total
- original_subtotal
- original_tax_total
- total
- subtotal
- tax_total
- discount_total
- discount_tax_total
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The shipping method's ID.
order_id:
type: string
title: order_id
description: The shipping method's order id.
name:
type: string
title: name
description: The shipping method's name.
description:
type: string
title: description
description: The shipping method's description.
amount:
type: number
title: amount
description: The shipping method's amount.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The shipping method's is tax inclusive.
shipping_option_id:
type: string
title: shipping_option_id
description: The shipping method's shipping option id.
data:
type: object
description: The shipping method's data.
metadata:
type: object
description: The shipping method's metadata.
tax_lines:
type: array
description: The shipping method's tax lines.
items:
type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
adjustments:
type: array
description: The shipping method's adjustments.
items:
type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
original_total:
type: number
title: original_total
description: The shipping method's original total.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The shipping method's original tax total.
total:
type: number
title: total
description: The shipping method's total.
detail:
type: object
description: The shipping method's detail.
x-schemaName: BaseOrderShippingDetail
required:
- id
- shipping_method_id
- shipping_method
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The detail's ID.
shipping_method_id:
type: string
title: shipping_method_id
description: The detail's shipping method id.
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: BaseOrderShippingMethod
claim_id:
type: string
title: claim_id
description: The detail's claim id.
exchange_id:
type: string
title: exchange_id
description: The detail's exchange id.
return_id:
type: string
title: return_id
description: The detail's return id.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
subtotal:
type: number
title: subtotal
description: The shipping method's subtotal.
tax_total:
type: number
title: tax_total
description: The shipping method's tax total.
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 shipping method's discount tax total.
created_at:
type: string
format: date-time
title: created_at
description: The shipping method's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The shipping method's updated at.
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: StoreOrderShippingMethod
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:
tax_lines:
type: array
description: The shipping method's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: StoreOrderShippingMethod
adjustments:
type: array
description: The shipping method's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: StoreOrderShippingMethod
detail:
allOf:
- type: object
description: The shipping method's detail.
x-schemaName: BaseOrderShippingDetail
required:
- id
- shipping_method_id
- shipping_method
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The detail's ID.
shipping_method_id:
type: string
title: shipping_method_id
description: The detail's shipping method id.
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: BaseOrderShippingMethod
claim_id:
type: string
title: claim_id
description: The detail's claim id.
exchange_id:
type: string
title: exchange_id
description: The detail's exchange id.
return_id:
type: string
title: return_id
description: The detail's return id.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The shipping method's detail.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: StoreOrderShippingMethod
id:
type: string
title: id
description: The shipping method's ID.
order_id:
type: string
title: order_id
description: The shipping method's order id.
name:
type: string
title: name
description: The shipping method's name.
description:
type: string
title: description
description: The shipping method's description.
amount:
type: number
title: amount
description: The shipping method's amount.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The shipping method's is tax inclusive.
shipping_option_id:
type: string
title: shipping_option_id
description: The shipping method's shipping option id.
data:
type: object
description: The shipping method's data.
metadata:
type: object
description: The shipping method's metadata.
original_total:
type: number
title: original_total
description: The shipping method's original total.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The shipping method's original tax total.
total:
type: number
title: total
description: The shipping method's total.
subtotal:
type: number
title: subtotal
description: The shipping method's subtotal.
tax_total:
type: number
title: tax_total
description: The shipping method's tax total.
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 shipping method's discount tax total.
created_at:
type: string
format: date-time
title: created_at
description: The shipping method's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The shipping method's updated at.
description: The adjustment's adjustments.
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:
allOf:
- $ref: '#/components/schemas/BaseOrderShippingDetail'
- type: object
description: The shipping method's detail.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: StoreOrderShippingMethod
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:
tax_lines:
type: array
description: The shipping method's tax lines.
items:
allOf:
- type: object
description: The tax line's tax lines.
x-schemaName: BaseOrderShippingMethodTaxLine
required:
- shipping_method
- shipping_method_id
- total
- subtotal
- id
- code
- rate
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The tax line's shipping method id.
total:
type: number
title: total
description: The tax line's total.
subtotal:
type: number
title: subtotal
description: The tax line's 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 tax line's tax rate id.
code:
type: string
title: code
description: The tax line's code.
rate:
type: number
title: rate
description: The tax line's rate.
provider_id:
type: string
title: provider_id
description: The tax line's provider id.
created_at:
type: string
format: date-time
title: created_at
description: The tax line's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The tax line's updated at.
- type: object
description: The tax line's tax lines.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The tax line's shipping method.
x-schemaName: StoreOrderShippingMethod
adjustments:
type: array
description: The shipping method's adjustments.
items:
allOf:
- type: object
description: The adjustment's adjustments.
x-schemaName: BaseOrderShippingMethodAdjustment
required:
- shipping_method
- shipping_method_id
- id
- amount
- order_id
- created_at
- updated_at
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: BaseOrderShippingMethod
shipping_method_id:
type: string
title: shipping_method_id
description: The adjustment's shipping method id.
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 adjustment's order id.
description:
type: string
title: description
description: The adjustment's description.
promotion_id:
type: string
title: promotion_id
description: The adjustment's promotion id.
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 adjustment's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The adjustment's updated at.
- type: object
description: The adjustment's adjustments.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The adjustment's shipping method.
x-schemaName: StoreOrderShippingMethod
detail:
allOf:
- type: object
description: The shipping method's detail.
x-schemaName: BaseOrderShippingDetail
required:
- id
- shipping_method_id
- shipping_method
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The detail's ID.
shipping_method_id:
type: string
title: shipping_method_id
description: The detail's shipping method id.
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: BaseOrderShippingMethod
claim_id:
type: string
title: claim_id
description: The detail's claim id.
exchange_id:
type: string
title: exchange_id
description: The detail's exchange id.
return_id:
type: string
title: return_id
description: The detail's return id.
created_at:
type: string
format: date-time
title: created_at
description: The detail's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The detail's updated at.
- type: object
description: The shipping method's detail.
required:
- shipping_method
properties:
shipping_method:
type: object
description: The detail's shipping method.
x-schemaName: StoreOrderShippingMethod
id:
type: string
title: id
description: The shipping method's ID.
order_id:
type: string
title: order_id
description: The shipping method's order id.
name:
type: string
title: name
description: The shipping method's name.
description:
type: string
title: description
description: The shipping method's description.
amount:
type: number
title: amount
description: The shipping method's amount.
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: The shipping method's is tax inclusive.
shipping_option_id:
type: string
title: shipping_option_id
description: The shipping method's shipping option id.
data:
type: object
description: The shipping method's data.
metadata:
type: object
description: The shipping method's metadata.
original_total:
type: number
title: original_total
description: The shipping method's original total.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's original subtotal.
original_tax_total:
type: number
title: original_tax_total
description: The shipping method's original tax total.
total:
type: number
title: total
description: The shipping method's total.
subtotal:
type: number
title: subtotal
description: The shipping method's subtotal.
tax_total:
type: number
title: tax_total
description: The shipping method's tax total.
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 shipping method's discount tax total.
created_at:
type: string
format: date-time
title: created_at
description: The shipping method's created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The shipping method's updated at.
description: Details of changes to a shipping method.
StorePaymentCollection:
type: object
description: The payment collection's details.
x-schemaName: StorePaymentCollection
required:
- payment_providers
- id
- currency_code
- 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.
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
StorePrice:
type: object
description: The price's details.
x-schemaName: StorePrice
required:
- id
- currency_code
- amount
- min_quantity
- max_quantity
properties:
id:
type: string
title: id
description: The price's ID.
currency_code:
type: string
title: currency_code
description: The price's ISO 2 currency code.
example: usd
amount:
type: number
title: amount
description: The price's amount.
min_quantity:
type: number
title: min_quantity
description: The minimum quantity required in the cart for the price to apply.
max_quantity:
type: number
title: max_quantity
description: The maximum quantity required in the cart for the price to apply.
price_rules:
type: array
description: The price's rules.
items:
$ref: '#/components/schemas/StorePriceRule'
StorePriceRule:
type: object
description: The price rule's details.
x-schemaName: StorePriceRule
required:
- id
- attribute
- operator
- value
properties:
id:
type: string
title: id
description: The price rule's ID.
attribute:
type: string
title: attribute
description: The price rule's attribute.
operator:
type: string
description: The price rule's operator.
enum:
- gt
- lt
- eq
- lte
- gte
value:
type: string
title: value
description: The price rule's value.
StoreProduct:
type: object
description: The product's details.
x-schemaName: StoreProduct
required:
- variants
- options
- images
- length
- title
- status
- description
- id
- created_at
- updated_at
- subtitle
- thumbnail
- handle
- is_giftcard
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- collection_id
- type_id
- discountable
- external_id
- deleted_at
properties:
categories:
type: array
description: The product's categories.
items:
type: object
type:
type: object
length:
type: number
title: length
description: The product's length.
title:
type: string
title: title
description: The product's title.
status:
type: string
description: The product's status.
enum:
- draft
- proposed
- published
- rejected
options:
type: array
description: The product's options.
items:
$ref: '#/components/schemas/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
- rank
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.
rank:
type: number
title: rank
description: The image's rank among its sibling images
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
- created_at
- updated_at
- width
- weight
- height
- origin_country
- hs_code
- mid_code
- material
- 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.
StoreRegionCountry:
type: object
description: The country's details.
x-schemaName: StoreRegionCountry
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.
StoreRequestOrderTransfer:
type: object
description: The details of requesting the order transfer.
x-schemaName: StoreRequestOrderTransfer
properties:
description:
type: string
title: description
description: The transfer's description, which can be shown to the other customer receiving the request.
StoreReturn:
type: object
description: The return's details.
x-schemaName: StoreReturn
required:
- items
- id
- display_id
- created_at
- order_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/StoreCartShippingOption'
StoreShippingOptionResponse:
type: object
description: The shipping option's details.
x-schemaName: StoreShippingOptionResponse
required:
- shipping_option
properties:
shipping_option:
$ref: '#/components/schemas/StoreCartShippingOption'
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.
metadata:
type: object
description: The customer's metadata, can hold custom key-value pairs.
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: http
x-displayName: API Token
scheme: bearer
jwt_token:
type: http
x-displayName: JWT Token
scheme: bearer
cookie_auth:
type: apiKey
in: cookie
name: connect.sid
x-displayName: Cookie Session ID