Files
medusa-store/www/apps/api-reference/specs/store/openapi.full.yaml
Shahed Nasser 2f990a14e6 docs: generate API reference for 2.10.3 (#13548)
* docs: generate API reference for 2.10.3

* fix curl example
2025-09-19 11:40:52 +03:00

40534 lines
1.4 MiB

openapi: 3.0.0
info:
version: 2.0.0
title: Medusa Storefront API
license:
name: MIT
url: https://github.com/medusajs/medusa/blob/master/LICENSE
servers:
- url: http://localhost:9000
- url: https://api.medusajs.com
tags:
- name: Auth
description: |
Auth API routes allow you to manage a customer's authentication.
- name: Carts
description: |
A cart is a virtual shopping bag that customers can use to add items they want to purchase.
A cart is then used to checkout and place an order.
These API routes allow customers to create and manage their cart, and place an order.
externalDocs:
description: How to implement cart functionality in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/cart
x-associatedSchema:
$ref: '#/components/schemas/StoreCart'
- name: Collections
description: |
A product collection organizes products into a collection for marketing purposes. For example, a summer collection.
These API routes allow customers to browse collections and their products.
externalDocs:
description: How to list product collections in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/products/collections/list
x-associatedSchema:
$ref: '#/components/schemas/StoreCollection'
- name: Currencies
description: |
A store has multiple currencies, and product prices can be different for each currency.
When retrieving product variant prices, you specify either the ID of a region or a currency that the customer selected.
These API routes allow customers to browse currencies.
externalDocs:
description: How to retrieve product variant prices in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/products/price
x-associatedSchema:
$ref: '#/components/schemas/StoreCurrency'
- name: Customers
description: |
Customers can place orders as guest customers or register.
When a customer registers, they can manage their profile, save addresses for later usage, and more.
These API routes allow customers to create and manage their accounts.
externalDocs:
description: How to implement customer account functionalities in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/customers
x-associatedSchema:
$ref: '#/components/schemas/StoreCustomer'
- name: Gift Cards
description: |
A gift card is a prepaid card that customers can use to purchase products in the store.
Customers can purchase gift cards for themselves or others, and then use them to pay for their orders.
These API routes allow logged-in customers to create and manage their gift cards.
<Note>
Gift Cards are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin).
</Note>
x-associatedSchema:
$ref: '#/components/schemas/StoreGiftCard'
- name: Orders
description: |
Guest and registered customers can view orders they placed.
These API routes allow customers to view their orders.
x-associatedSchema:
$ref: '#/components/schemas/StoreOrder'
- name: Payment Collections
description: |
A cart must have a payment collection with an authorized payment session.
Use these API routes during checkout to set the cart's payment provider and authorize its payment session.
externalDocs:
description: How to implement payment during checkout.
url: https://docs.medusajs.com/resources/storefront-development/checkout/payment
x-associatedSchema:
$ref: '#/components/schemas/StorePaymentCollection'
- name: Payment Providers
description: |
Each region has a set of payment providers enabled.
During checkout, you retrieve the available payment providers in the customer's region to show them to the customer. Customers then choose their preferred provider to authorize their payment and place their order.
These API routes allow customers to view available payment providers in their region.
externalDocs:
description: How to implement payment during checkout.
url: https://docs.medusajs.com/resources/storefront-development/checkout/payment
x-associatedSchema:
$ref: '#/components/schemas/StorePaymentProvider'
- name: Product Categories
description: |
Products can be categorized into categories.
These API routes allow customers to browse categories and their products.
externalDocs:
description: How to list product categories in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/products/categories/list
x-associatedSchema:
$ref: '#/components/schemas/StoreProductCategory'
- name: Product Tags
x-associatedSchema:
$ref: '#/components/schemas/StoreProductTag'
- name: Product Types
x-associatedSchema:
$ref: '#/components/schemas/StoreProductType'
- name: Products
description: |
Customers browse products for their purchase.
A product has variants for different option values. The customer chooses from these variants before adding it to the cart.
These API routes allow customers to browse products.
externalDocs:
description: How to list products, get their prices, and more in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/products
x-associatedSchema:
$ref: '#/components/schemas/StoreProduct'
- name: Regions
description: |
Regions are different countries or geographical regions that the commerce store serves customers in.
Customers can choose what region they're in to view prices of that region's currency.
Use these API routes to retrieve available regions in the store.
externalDocs:
description: How to retrieve and store selected region in a storefront.
url: https://docs.medusajs.com/resources/storefront-development/regions
x-associatedSchema:
$ref: '#/components/schemas/StoreRegion'
- name: Return Reasons
description: |
A return reason is a possible reason a customer wants to return an item.
Use these API routes when implementing return creation flow in your storefront to allow customers to select their return reason.
x-associatedSchema:
$ref: '#/components/schemas/StoreReturnReason'
- name: Returns
description: |
Customers can request to return items in their order. The admin user then receives and handles the return.
These API routes allows customers to create a return.
x-associatedSchema:
$ref: '#/components/schemas/StoreReturn'
- name: Shipping Options
description: |
A shipping option is a way of shipping an item to or from the customer.
During the checkout flow, the customer selects their preferred shipping option to receive their order.
These API routes allow customers to retrieve available shipping options for their context.
externalDocs:
description: How to implement shipping during checkout.
url: https://docs.medusajs.com/resources/storefront-development/checkout/shipping
x-associatedSchema:
$ref: '#/components/schemas/StoreShippingOption'
- name: Store Credit Accounts
x-associatedSchema:
description: |
A store credit account is a way for customers to manage their store credit balance. Customers can use their store credit to pay for orders, and view their store credit balance.
These API routes allow customers to view their store credit accounts.
<Note>
Store Credit Accounts are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin).
</Note>
$ref: '#/components/schemas/StoreStoreCreditAccount'
paths:
/auth/customer/{auth_provider}:
post:
operationId: PostActor_typeAuth_provider
summary: Authenticate Customer
description: |
Authenticate a customer 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 storefront to continue authentication with the third-party service.
externalDocs:
url: https://docs.medusajs.com/v2/storefront-development/customers/login#1-using-a-jwt-token
description: 'Storefront development: How to login as a customer'
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 customer should be redirected to after completing their authentication. This will override the provider's `callbackUrl` configurations in `medusa-config.ts`.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
const result = await sdk.auth.login(
"customer",
"emailpass",
{
email: "customer@gmail.com",
password: "supersecret"
}
)
if (typeof result !== "string") {
alert("Authentication requires additional steps")
// replace with the redirect logic of your application
window.location.href = result.location
return
}
// customer is now authenticated
// all subsequent requests will use the token in the header
const { customer } = await sdk.store.customer.retrieve()
- lang: Bash
label: Google Provider
source: curl -X POST '{backend_url}/auth/customer/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/customer/{auth_provider}/callback:
post:
operationId: PostActor_typeAuth_providerCallback
summary: Validate Authentication Callback
description: |
This API route is used by your storefront 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 storefront. If the decoded data doesn't have an `actor_id` property, then you must register the customer using the Create Customer API route passing the token in the request's Authorization header.
externalDocs:
url: https://docs.medusajs.com/v2/storefront-development/customers/third-party-login
description: 'Storefront development: Implement third-party (social) login.'
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: JavaScript
label: Google Provider
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
await sdk.auth.callback(
"customer",
"google",
{
code: "123",
state: "456"
}
)
// all subsequent requests will use the token in the header
const { customer } = await sdk.store.customer.create({
email: "customer@gmail.com",
password: "supersecret"
})
- lang: TypeScript
label: GitHub Provider
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
await sdk.auth.callback(
"customer",
"github",
{
code: "123",
state: "456"
}
)
// all subsequent requests will use the token in the header
const { customer } = await sdk.store.customer.create({
email: "customer@gmail.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/customer/{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 customer that hasn't been registered yet. The token is used in the header of requests that create a customer.
externalDocs:
url: https://docs.medusajs.com/v2/storefront-development/customers/register
description: 'Storefront development: How to register a customer'
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: customer@gmail.com
password: supersecret
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
await sdk.auth.register(
"customer",
"emailpass",
{
email: "customer@gmail.com",
password: "supersecret"
}
)
// all subsequent requests will use the token in the header
const { customer } = await sdk.store.customer.create({
email: "customer@gmail.com",
password: "supersecret"
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/auth/customer/emailpass/register' \
-H 'Content-Type: application/json' \
--data-raw '{
"email": "customer@gmail.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/customer/{auth_provider}/reset-password:
post:
operationId: PostActor_typeAuth_providerResetPassword
summary: Generate Reset Password Token for Customer
x-sidebar-summary: Generate Reset Password Token
description: |
Generate a reset password token for a customer. This API route doesn't reset the customer password or send them the reset instructions in a notification.
Instead, This API route emits the `auth.password_reset` event, passing it the token as a payload. You can listen to that event in a subscriber as explained in [this guide](https://docs.medusajs.com/resources/commerce-modules/auth/reset-password), then send the customer a notification. The notification is sent using a [Notification Module Provider](https://docs.medusajs.com/resources/infrastructure-modules/notification), and it should have a URL that accepts a `token` query parameter, allowing the customer to reset their password from the storefront.
Use the generated token to update the customer's password using the [Reset Password API route](https://docs.medusajs.com/api/store#auth_postactor_typeauth_providerupdate).
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/reset-password#1-request-reset-password-page
description: 'Storefront development: How to create the request reset password page.'
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 customer's identifier for the selected auth provider. For example, for the `emailpass` auth provider, the value is the customer's email.
example: customer@gmail.com
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.auth.resetPassword(
"customer",
"emailpass",
{
identifier: "customer@gmail.com"
}
)
.then(() => {
// user receives token
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/auth/customer/emailpass/reset-password' \
-H 'Content-Type: application/json' \
--data-raw '{
"identifier": "customer@gmail.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
x-events:
- name: auth.password_reset
payload: |-
```ts
{
entity_id, // The identifier of the user or customer. For example, an email address.
actor_type, // The type of actor. For example, "customer", "user", or custom.
token, // The generated token.
}
```
description: |-
Emitted when a reset password token is generated. You can listen to this event
to send a reset password email to the user or customer, for example.
deprecated: false
/auth/customer/{auth_provider}/update:
post:
operationId: PostActor_typeAuth_providerUpdate
summary: Reset a Customer's Password
x-sidebar-summary: Reset Password
description: Reset a customer's password using a reset-password token generated with the [Generate Reset Password Token API route](https://docs.medusajs.com/api/store#auth_postactor_typeauth_providerresetpassword). You pass the token as a bearer token in the request's Authorization header.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/reset-password#2-reset-password-page
description: 'Storefront development: How to create the reset password page.'
x-authenticated: true
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 with the specified auth provider. For example, for email-pass authentication, pass `email` and `password` properties.
example:
email: customer@gmail.com
password: supersecret
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.auth.updateProvider(
"customer",
"emailpass",
{
password: "supersecret"
},
token
)
.then(() => {
// password updated
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/auth/customer/emailpass/update' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {token}' \
--data-raw '{
"email": "customer@gmail.com",
"password": "supersecret"
}'
security:
- reset_password: []
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'
/auth/session:
post:
operationId: PostSession
summary: Set Authentication Session
description: Set the cookie session ID of a customer. The customer must be previously authenticated with the `/auth/customer/{provider}` API route first, as the JWT token is required in the header of the request.
externalDocs:
url: https://docs.medusajs.com/v2/storefront-development/customers/login#2-using-a-cookie-session
description: 'Storefront development: How to login as a customer'
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/AuthStoreSessionResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
await sdk.auth.logout()
// customer is now logged out
// you can't send any requests that require authentication
- 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 customer. This is useful after authenticating a customer with a third-party service to ensure the token holds the new user's details, or when you don't want customers to re-login every day.
externalDocs:
url: https://docs.medusajs.com/v2/storefront-development/customers/third-party-login
description: 'Storefront development: Implement third-party (social) login.'
x-authenticated: true
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
const token = await sdk.auth.refresh()
// all subsequent requests will use the token in the header
const { customer } = await sdk.store.customer.retrieve()
- 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'
/store/carts:
post:
operationId: PostCarts
summary: Create Cart
description: Create a cart.
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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:
allOf:
- $ref: '#/components/schemas/StoreCreateCart'
- type: object
description: The cart'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 cart's details.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.create({
region_id: "reg_123"
})
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"region_id": "reg_123"
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: createCartWorkflow
x-events:
- name: cart.created
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: Emitted when a cart is created.
deprecated: false
/store/carts/{id}:
get:
operationId: GetCartsId
summary: Get a Cart
description: Retrieve a cart by its ID. You can expand the cart's relations or select the fields that should be returned.
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.retrieve("cart_123")
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/carts/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: PostCartsId
summary: Update a Cart
description: Update a cart's details. This unsets the payment methods chosen before, and the customer would have to choose them again. Also, if the customer has chosen a shipping method whose option isn't valid for the cart's shipping address anymore, the shipping method will be unset. For example, if the shipping option is valid only in the US geo zone, and the shipping address's country code is `DE`, the shipping method will be unset.
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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:
allOf:
- $ref: '#/components/schemas/UpdateCartData'
- type: object
description: The properties to update in the cart item.
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 cart item.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.update("cart_123", {
region_id: "reg_123"
})
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
description: The updated cart's details.
required:
- cart
properties:
cart:
$ref: '#/components/schemas/StoreCart'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: updateCartWorkflow
x-events:
- name: cart.updated
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: Emitted when a cart's details are updated.
deprecated: false
- name: cart.region_updated
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: |-
Emitted when the cart's region is updated. This
event is emitted alongside the `cart.updated` event.
deprecated: false
/store/carts/{id}/complete:
post:
operationId: PostCartsIdComplete
summary: Complete Cart
description: Complete a cart and place an order.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/complete-cart
description: 'Storefront guide: How to implement cart completion during checkout.'
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.complete("cart_123")
.then((data) => {
if(data.type === "cart") {
// an error occurred
console.log(data.error, data.cart)
} else {
// order placed successfully
console.log(data.order)
}
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/complete' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- type: object
description: The created order's details.
required:
- type
- order
properties:
type:
type: string
title: type
description: The type of the returned object. In this case, the order is returned because the cart was completed successfully.
default: order
order:
$ref: '#/components/schemas/StoreOrder'
- type: object
description: The details of why the cart completion failed.
required:
- type
- cart
- error
properties:
type:
type: string
title: type
description: The type of the returned object. In this case, the cart is returned because an error has occurred.
default: cart
cart:
$ref: '#/components/schemas/StoreCart'
error:
type: object
description: The error's details.
required:
- message
- name
- type
properties:
message:
type: string
title: message
description: The error's message.
name:
type: string
title: name
description: The error's name.
type:
type: string
title: type
description: |
The error's type. Can be a [MedusaError type](https://docs.medusajs.com/v2/advanced-development/api-routes/errors#medusaerror-types) or `payment_authorization_error` or `payment_requires_more_error` for payment-related errors.
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: completeCartWorkflow
x-events:
- name: order.placed
payload: |-
```ts
{
id, // The ID of the order
}
```
description: |-
Emitted when an order is placed, or when a draft order is converted to an
order.
deprecated: false
/store/carts/{id}/customer:
post:
operationId: PostCartsIdCustomer
summary: Change Cart's Customer to Logged-in Customer
x-sidebar-summary: Change Customer
description: Change the cart's customer to the currently logged-in customer. This is useful when you create the cart for a guest customer, then they log in with their account.
externalDocs:
url: https://docs.medusajs.com/resources/storefront-development/cart/update#set-carts-customer
description: 'Storefront guide: How to set the cart''s customer.'
x-authenticated: true
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to set the cart's customer
sdk.store.cart.transferCart("cart_123")
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/customer' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: transferCartCustomerWorkflow
x-events:
- name: cart.customer_transferred
payload: |-
```ts
{
id, // The ID of the cart
customer_id, // The ID of the customer
}
```
description: Emitted when the customer in the cart is transferred.
deprecated: false
since: 2.8.0
security:
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
type: object
description: Optional additional data to pass to the underlying workflow.
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.
/store/carts/{id}/gift-cards:
post:
operationId: PostCartsIdGiftCards
summary: Add Gift Card to Cart
x-sidebar-summary: Add Gift Card
description: Add a Gift Card to a cart
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreAddGiftCardToCart'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/gift-cards' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"code": "{value}"
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
delete:
operationId: DeleteCartsIdGiftCards
summary: Remove Gift Card from Cart
x-sidebar-summary: Remove Gift Card
description: Remove a Gift Card from a cart.
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreRemoveGiftCardFromCart'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X DELETE '{backend_url}/store/carts/{id}/gift-cards' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"code": "{value}"
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/carts/{id}/line-items:
post:
operationId: PostCartsIdLineItems
summary: Add Line Item to Cart
x-sidebar-summary: Add Line Item
description: Add a product variant as a line item in the cart.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/cart/manage-items#add-product-variant-to-cart
description: 'Storefront guide: How to add a product variant to the cart.'
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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:
allOf:
- type: object
description: The details of the line item to add.
required:
- variant_id
- quantity
properties:
variant_id:
type: string
title: variant_id
description: The ID of the product variant to add as a line item.
quantity:
type: number
title: quantity
description: The item's quantity.
metadata:
type: object
description: The item's metadata, can hold custom key-value pairs.
- type: object
description: The details of the line item to add.
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 details of the line item to add.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.createLineItem("cart_123", {
variant_id: "variant_123",
quantity: 1
})
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/line-items' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"variant_id": "{value}",
"quantity": 3360689747918848,
"metadata": {}
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: addToCartWorkflow
x-events:
- name: cart.updated
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: Emitted when a cart's details are updated.
deprecated: false
/store/carts/{id}/line-items/{line_id}:
post:
operationId: PostCartsIdLineItemsLine_id
summary: Update a Line Item in a Cart
x-sidebar-summary: Update Line Item
description: Update a line item's details in the cart.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/cart/manage-items#update-line-item-in-cart
description: 'Storefront guide: How to update a cart''s line item.'
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: line_id
in: path
description: The line item's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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:
allOf:
- type: object
description: The details to update in the line item.
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.
- type: object
description: The details to update in the line item.
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 details to update in the line item.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.updateLineItem(
"cart_123",
"li_123",
{
quantity: 1
}
)
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/line-items/{line_id}' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"quantity": 8980402259623936,
"metadata": {}
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: updateLineItemInCartWorkflow
x-events:
- name: cart.updated
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: Emitted when a cart's details are updated.
deprecated: false
delete:
operationId: DeleteCartsIdLineItemsLine_id
summary: Remove Line Item from Cart
x-sidebar-summary: Remove Line Item
description: Remove a line item from a cart.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/cart/manage-items#remove-line-item-from-cart
description: 'Storefront guide: How to remove line item from cart.'
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: line_id
in: path
description: The line item's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.deleteLineItem(
"cart_123",
"li_123"
)
.then(({ deleted, parent: cart }) => {
console.log(deleted, cart)
})
- lang: Shell
label: cURL
source: |-
curl -X DELETE '{backend_url}/store/carts/{id}/line-items/{line_id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
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 ID of the deleted line item.
object:
type: string
title: object
description: The name of the deleted object.
default: line-item
deleted:
type: boolean
title: deleted
description: Whether the item was deleted.
- type: object
description: The deletion's details.
properties:
parent:
$ref: '#/components/schemas/StoreCart'
description: The cart that the item belonged to.
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: deleteLineItemsWorkflow
x-events: []
/store/carts/{id}/promotions:
post:
operationId: PostCartsIdPromotions
summary: Add Promotions to Cart
x-sidebar-summary: Add Promotions
description: Add a list of promotions to a cart.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/cart/manage-promotions#add-promotion-to-cart
description: 'Storefront guide: How to add a promotion to cart.'
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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/StoreCartAddPromotion'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/promotions' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"promo_codes": [
"{value}"
]
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: updateCartPromotionsWorkflow
x-events: []
delete:
operationId: DeleteCartsIdPromotions
summary: Remove Promotions from Cart
description: Remove a list of promotions from a cart.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/cart/manage-promotions#remove-promotion-from-cart
description: 'Storefront guide: How to remove a promotion from cart.'
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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 DELETE '{backend_url}/store/carts/{id}/promotions' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"promo_codes": ["{value}"]
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
description: The cart's details.
required:
- cart
properties:
cart:
$ref: '#/components/schemas/StoreCart'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: updateCartPromotionsWorkflow
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartRemovePromotion'
x-events: []
/store/carts/{id}/shipping-methods:
post:
operationId: PostCartsIdShippingMethods
summary: Add Shipping Method to Cart
x-sidebar-summary: Add Shipping Method
description: Add a shipping method to a cart. Use this API route when the customer chooses their preferred shipping option.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/shipping
description: 'Storefront guide: How to implement shipping during checkout.'
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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:
allOf:
- type: object
description: The shipping method's details.
required:
- option_id
properties:
option_id:
type: string
title: option_id
description: The ID of the shipping option to create the shipping method from.
data:
type: object
description: Any additional data relevant for the third-party fulfillment provider to process the shipment.
externalDocs:
url: https://docs.medusajs.com/resources/storefront-development/checkout/shipping#data-request-body-parameter
description: Learn more about the data parameter.
- type: object
description: The shipping method'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 shipping method's details.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.cart.addShippingMethod("cart_123", {
option_id: "so_123",
data: {
// custom data for fulfillment provider.
}
})
.then(({ cart }) => {
console.log(cart)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/shipping-methods' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"option_id": "{value}"
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: addShippingMethodToCartWorkflow
x-events:
- name: cart.updated
payload: |-
```ts
{
id, // The ID of the cart
}
```
description: Emitted when a cart's details are updated.
deprecated: false
/store/carts/{id}/store-credits:
post:
operationId: PostCartsIdStoreCredits
summary: Add Store Credit to Cart
x-sidebar-summary: Add Store Credit
description: Add a Store Credit to a cart
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreAddStoreCreditsToCart'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/carts/{id}/store-credits' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"amount": 48
}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/carts/{id}/taxes:
post:
operationId: PostCartsIdTaxes
summary: Calculate Cart Taxes
x-sidebar-summary: Calculate Taxes
description: Calculate the cart's tax lines and amounts.
x-authenticated: false
parameters:
- name: id
in: path
description: The cart's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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}/store/carts/{id}/taxes' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Carts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCartResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: updateTaxLinesWorkflow
x-events: []
/store/collections:
get:
operationId: GetCollections
summary: List Collections
description: Retrieve a list of collections. The collections can be filtered by fields such as `handle`. The collections can also be sorted or paginated.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/collections/list
description: 'Storefront guide: How to retrieve a list of collections.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: 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: A 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: 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: A handle.
- name: q
in: query
description: Search term to filter the collection's searchable properties.
required: false
schema:
type: string
title: q
description: Search term to filter the collection'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
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.collection.list()
.then(({ collections, count, limit, offset }) => {
console.log(collections)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/collections' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Collections
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- type: object
description: The paginated list of collections.
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 collections.
required:
- collections
properties:
collections:
type: array
description: The collection's collections.
items:
$ref: '#/components/schemas/StoreCollection'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/collections/retrieve
description: 'Storefront guide: How to retrieve a collection.'
parameters:
- name: id
in: path
description: The collection's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.collection.retrieve("pcol_123")
.then(({ collection }) => {
console.log(collection)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/collections/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Collections
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCollectionResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/currencies:
get:
operationId: GetCurrencies
summary: List Currencies
description: Retrieve a list of currencies. The currencies can be filtered by fields such as `code`. The currencies can also be sorted or paginated.
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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 currency's searchable properties.
required: false
schema:
type: string
title: q
description: Search term to filter the currency's searchable properties.
- 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
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/currencies' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Currencies
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCurrencyListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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.
x-authenticated: false
parameters:
- name: code
in: path
description: The currency's code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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}/store/currencies/{code}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Currencies
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCurrencyResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/customers:
post:
operationId: PostCustomers
summary: Register Customer
description: Register a customer. Use the `/auth/customer/emailpass/register` API route first to retrieve the registration token and pass it in the header of the request.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/register
description: 'Storefront guide: How to register a customer.'
x-authenticated: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCreateCustomer'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
const token = await sdk.auth.register("customer", "emailpass", {
"email": "customer@gmail.com",
"password": "supersecret"
})
sdk.store.customer.create(
{
"email": "customer@gmail.com"
},
{},
{
Authorization: `Bearer ${token}`
}
)
.then(({ customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/customers' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"email": "Monserrate.Leannon88@yahoo.com",
"company_name": "{value}",
"first_name": "{value}",
"last_name": "{value}",
"phone": "{value}"
}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: createCustomerAccountWorkflow
security:
- cookie_auth: []
- jwt_token: []
x-events:
- name: customer.created
payload: |-
```ts
[{
id, // The ID of the customer
}]
```
description: Emitted when a customer is created.
deprecated: false
/store/customers/me:
get:
operationId: GetCustomersMe
summary: Get Logged-in Customer
x-sidebar-summary: Get Customer
description: Retrieve the logged-in customer. You can expand the customer's relations or select the fields that should be returned.
x-authenticated: true
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/retrieve
description: 'Storefront guide: How to retrieve the logged-in customer.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to retrieve their details
sdk.store.customer.retrieve()
.then(({ customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/customers/me' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: PostCustomersMe
summary: Update Customer
description: Update the logged-in customer's details.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/profile
description: 'Storefront guide: How to edit a customer''s profile.'
x-authenticated: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreUpdateCustomer'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to update their details
sdk.store.customer.update({
first_name: "John"
})
.then(({ customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/customers/me' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"company_name": "{value}",
"first_name": "{value}",
"last_name": "{value}",
"phone": "{value}"
}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
x-events:
- name: customer.updated
payload: |-
```ts
[{
id, // The ID of the customer
}]
```
description: Emitted when a customer is updated.
deprecated: false
/store/customers/me/addresses:
get:
operationId: GetCustomersMeAddresses
summary: List Customer's Addresses
x-sidebary-summary: List Addresses
description: Retrieve the addresses of the logged-in customer. The addresses can be filtered by fields such as `country_code`. The addresses can also be sorted or paginated.
x-authenticated: true
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/addresses#list-customer-addresses
description: 'Storefront guide: How to retrieve the logged-in customer''s addresses.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
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: city
in: query
description: Filter by the address's city.
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.
- name: postal_code
in: query
description: Filter by the address's postal code.
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: country_code
in: query
description: Filter by the address's country code.
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.
- name: q
in: query
description: Search term to filter the address's searchable properties.
required: false
schema:
type: string
title: q
description: Search term to filter the address's searchable properties.
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to list their addresses
sdk.store.customer.listAddress()
.then(({ addresses, count, offset, limit }) => {
console.log(addresses)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/customers/me/addresses' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerAddressListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: PostCustomersMeAddresses
summary: Create Address for Logged-In Customer
x-sidebar-summary: Create Address
description: Create an address for the logged-in customer.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/addresses#add-customer-address
description: 'Storefront guide: How to create an address for the logged-in customer.'
x-authenticated: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCreateCustomerAddress'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to create an address
sdk.store.customer.createAddress({
country_code: "us"
})
.then(({ customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/customers/me/addresses' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"metadata": {},
"first_name": "{value}",
"last_name": "{value}",
"phone": "{value}",
"company": "{value}",
"address_1": "{value}",
"address_2": "{value}",
"city": "{value}",
"country_code": "{value}",
"province": "us-ca",
"postal_code": "{value}",
"address_name": "{value}"
}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
x-events: []
/store/customers/me/addresses/{address_id}:
get:
operationId: GetCustomersMeAddressesAddress_id
summary: Get Customer's Address
x-sidebar-summary: Get Address
description: Retrieve an address of the logged-in customer. You can expand the address's relations or select the fields that should be returned.
x-authenticated: true
parameters:
- name: address_id
in: path
description: The address's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to retrieve their address
sdk.store.customer.retrieveAddress(
"caddr_123"
)
.then(({ address }) => {
console.log(address)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/customers/me/addresses/{address_id}' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerAddressResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/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: PostCustomersMeAddressesAddress_id
summary: Update Customer's Address
x-sidebar-summary: Update Address
description: Update the logged-in customer's address.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/addresses#edit-an-address
description: 'Storefront guide: How to update an address of the logged-in customer.'
x-authenticated: true
parameters:
- name: address_id
in: path
description: The address's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreUpdateCustomerAddress'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to update their address
sdk.store.customer.updateAddress(
"caddr_123",
{
country_code: "us"
}
)
.then(({ customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/customers/me/addresses/{address_id}' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"first_name": "{value}",
}'
tags:
- Customers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCustomerResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
x-events: []
delete:
operationId: DeleteCustomersMeAddressesAddress_id
summary: Remove Customer's Address
x-sidebar-summary: Remove Address
description: Remove an address of the logged-in customer.
x-authenticated: true
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/customers/addresses#delete-customer-address
description: 'Storefront guide: How to delete a customer''s address.'
parameters:
- name: address_id
in: path
description: The address's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the [Retrieve Custom Links](https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links) documentation.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to delete their address
sdk.store.customer.deleteAddress("caddr_123")
.then(({ deleted, parent: customer }) => {
console.log(customer)
})
- lang: Shell
label: cURL
source: |-
curl -X DELETE '{backend_url}/store/customers/me/addresses/{address_id}' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
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 address's ID.
object:
type: string
title: object
description: The name of the deleted object.
default: address
deleted:
type: boolean
title: deleted
description: Whether the address was deleted.
- type: object
description: The deletion's details.
properties:
parent:
$ref: '#/components/schemas/StoreCustomer'
description: The details of the customer the address belongs to.
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
x-events: []
/store/gift-cards/{idOrCode}:
get:
operationId: GetGiftCardsIdorcode
summary: Get a Gift Card
x-sidebar-summary: Get Gift Card
description: Retrieve a gift card by its ID or code. You can expand the gift card's relations or select the fields that should be returned.
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: idOrCode
in: path
description: The gift card's ID or code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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}/store/gift-cards/{idOrCode}' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Cards
responses:
'200':
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-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-cards/{idOrCode}/redeem:
post:
operationId: PostGiftCardsIdorcodeRedeem
summary: Redeem a Gift Card
x-sidebar-summary: Redeem Gift Card
description: Redeem a gift card by its ID or code. The gift card will be added to the logged-in customer's store credit account.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: idOrCode
in: path
description: The gift card's ID or code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/gift-cards/{idOrCode}/redeem' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Cards
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreGiftCardResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/orders:
get:
operationId: GetOrders
summary: List Logged-in Customer's Orders
x-sidebar-summary: List Orders
description: Retrieve the orders of the logged-in customer. The orders can be filtered by fields such as `id`. The orders can also be sorted or paginated.
x-authenticated: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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 ID.
- name: $and
in: query
required: false
schema:
type: array
description: The order's $and.
items:
type: object
title: $and
- name: $or
in: query
required: false
schema:
type: array
description: The order's $or.
items:
type: object
title: $or
- name: status
in: query
required: false
schema:
oneOf:
- type: string
title: status
description: The order's status.
- type: string
title: status
description: The order's status.
- type: string
title: status
description: The order's status.
- type: string
title: status
description: The order's status.
- type: string
title: status
description: The order's status.
- type: string
title: status
description: The order's status.
- type: array
description: The order's status.
items:
type: string
description: The status's details.
enum:
- canceled
- requires_action
- pending
- completed
- draft
- archived
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to list their orders
sdk.store.order.list()
.then(({ orders, count, offset, limit }) => {
console.log(orders)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/orders' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
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 retrieving the returned items.
count:
type: number
title: count
description: The total number of items.
- type: object
description: The paginated list of orders.
required:
- orders
properties:
orders:
type: array
description: The order's orders.
items:
$ref: '#/components/schemas/StoreOrder'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-workflow: getOrdersListWorkflow
x-events: []
/store/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: false
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.order.retrieve("order_123")
.then(({ order }) => {
console.log(order)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/orders/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreOrderResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
x-events: []
/store/orders/{id}/transfer/accept:
post:
operationId: PostOrdersIdTransferAccept
summary: Accept Order Transfer
x-sidebar-summary: Accept Transfer
description: Accept an order to be transfered to a customer's account, which was specified when the transfer request was created. The transfer is requested previously either by the customer using the [Request Order Transfer Store API route](https://docs.medusajs.com/api/store#orders_postordersidtransferrequest), or by the admin using the [Request Order Transfer Admin API route](https://docs.medusajs.com/api/admin#orders_postordersidtransferrequest).
x-authenticated: false
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreAcceptOrderTransfer'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.order.acceptTransfer(
"order_123",
{
token: "transfer_token"
},
{
Authorization: `Bearer ${token}`
}
)
.then(({ order }) => {
console.log(order)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/orders/{id}/transfer/accept' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"token": "{value}"
}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreOrderResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: acceptOrderTransferWorkflow
x-events: []
/store/orders/{id}/transfer/cancel:
post:
operationId: PostOrdersIdTransferCancel
summary: Cancel Order Transfer
x-sidebar-summary: Cancel Transfer
description: Cancel an order transfer that the logged-in customer previously requested using the [Request Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferrequest) API route.
x-authenticated: true
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to cancel the order transfer
sdk.store.order.cancelTransfer(
"order_123",
{},
{
Authorization: `Bearer ${token}`
}
)
.then(({ order }) => {
console.log(order)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/orders/{id}/transfer/cancel' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreOrderResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
security:
- cookie_auth: []
- jwt_token: []
x-events: []
/store/orders/{id}/transfer/decline:
post:
operationId: PostOrdersIdTransferDecline
summary: Decline Order Transfer
x-sidebar-summary: Decline Transfer
description: Decline an order transfer previously requested, typically by the admin user using the [Request Order Transfer Admin API route](https://docs.medusajs.com/api/admin#orders_postordersidtransferrequest).
x-authenticated: false
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreDeclineOrderTransferRequest'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.order.declineTransfer(
"order_123",
{
token: "transfer_token"
},
{
Authorization: `Bearer ${token}`
}
)
.then(({ order }) => {
console.log(order)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/orders/{id}/transfer/decline' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"token": "{value}"
}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreOrderResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: declineOrderTransferRequestWorkflow
x-events: []
/store/orders/{id}/transfer/request:
post:
operationId: PostOrdersIdTransferRequest
summary: Request Order Transfer
x-sidebar-summery: Request Transfer
description: Request an order to be transfered to the logged-in customer's account. The transfer is confirmed using the [Accept Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferaccept) API route.
x-authenticated: true
parameters:
- name: id
in: path
description: The order's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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/StoreRequestOrderTransfer'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
// TODO must be authenticated as the customer to request the order transfer
sdk.store.order.requestTransfer(
"order_123",
{
description: "I want to transfer this order to my friend."
},
{},
{
Authorization: `Bearer ${token}`
}
)
.then(({ order }) => {
console.log(order)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/orders/{id}/transfer/request' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreOrderResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_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
security:
- cookie_auth: []
- jwt_token: []
x-events: []
/store/payment-collections:
post:
operationId: PostPaymentCollections
summary: Create Payment Collection
description: Create a payment collection for a cart. This is used during checkout, where the payment collection holds the cart's payment sessions.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/payment
description: 'Storefront guide: How to implement payment during checkout.'
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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/StoreCreatePaymentCollection'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.payment.initiatePaymentSession(
cart, // assuming you already have the cart object.
{
provider_id: "pp_stripe_stripe",
data: {
// any data relevant for the provider.
}
}
)
.then(({ payment_collection }) => {
console.log(payment_collection)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/payment-collections' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"cart_id": "{value}"
}'
tags:
- Payment Collections
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StorePaymentCollectionResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: createPaymentCollectionForCartWorkflow
x-events: []
/store/payment-collections/{id}/payment-sessions:
post:
operationId: PostPaymentCollectionsIdPaymentSessions
summary: Initialize Payment Session of a Payment Collection
x-sidebar-summary: Initialize Payment Session
description: |
Initialize and add a payment session to a payment collection. This is used during checkout, where you create a payment collection for the cart, then initialize a payment session for the payment provider that the customer chooses.
It's highly recommended to have an amount greater than `0` in the payment collection, as some payment providers, such as Stripe, require a non-zero amount to create a payment session. Otherwise, an error will be thrown on the payment provider's side.
In cases where you want to create a payment session for a payment collection with an amount of `0`, you can use the Manual System Payment Provider instead of third-party payment providers. The Manual System Payment Provider is built into Medusa and allows you to create payment sessions without interacting with an external payment provider.
Make sure to configure the Manual System Payment Provider in your store's region. Learn more in the [Manage Region](https://docs.medusajs.com/user-guide/settings/regions#edit-region-details) user guide.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/payment
description: 'Storefront guide: How to implement payment during checkout.'
x-authenticated: false
parameters:
- name: id
in: path
description: The payment collection's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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/StoreInitializePaymentSession'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/payment-collections/{id}/payment-sessions' \
-H 'Content-Type: application/json' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
--data-raw '{
"provider_id": "{value}"
}'
tags:
- Payment Collections
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StorePaymentCollectionResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: createPaymentSessionsWorkflow
x-events: []
/store/payment-providers:
get:
operationId: GetPaymentProviders
summary: List Payment Providers
description: Retrieve a list of payment providers. You must provide the `region_id` query parameter to retrieve the payment providers enabled in that region.
x-authenticated: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/payment
description: 'Storefront guide: How to implement payment during checkout.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: region_id
in: query
description: Filter by a region ID to get the payment providers enabled in that region.
required: true
schema:
type: string
title: region_id
description: Filter by a region ID.
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.payment.listPaymentProviders({
region_id: "reg_123"
})
.then(({ payment_providers, count, offset, limit }) => {
console.log(payment_providers)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/payment-providers' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Payment Providers
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 retrieving the returned items.
count:
type: number
title: count
description: The total number of items.
- type: object
description: The list of payment providers.
required:
- payment_providers
properties:
payment_providers:
type: array
description: The list of payment providers.
items:
$ref: '#/components/schemas/StorePaymentProvider'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/list
description: 'Storefront guide: How to retrieve a list of product categories.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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 category's properties.
required: false
schema:
type: string
title: q
description: Search term to filter the product category's 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 a description. This only matches categories with the exact description. To search by a term or keyword, use the `q` query parameter instead.
- type: array
description: Filter by descriptions. This only matches categories that have one of the provided descriptions. To search by a term or keyword, use the `q` query parameter instead.
items:
type: string
title: description
description: A 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 handle.
- name: parent_category_id
in: query
required: false
schema:
oneOf:
- type: string
title: parent_category_id
description: The ID of a category to retrieve its child categories.
- type: array
description: The ID of categories to retrieve their child categories.
items:
type: string
title: parent_category_id
description: A product category's ID.
- 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 child 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 child 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: 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 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 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 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
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: The product category's $or.
items:
type: object
title: $or
- name: name
in: query
required: false
schema:
oneOf:
- type: string
title: name
description: Filter by a product category name.
- type: array
description: Filter by product category names.
items:
type: string
title: name
description: A product category name.
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.category.list()
.then(({ product_categories, count, offset, limit }) => {
console.log(product_categories)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/product-categories' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Categories
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductCategoryListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/categories/retrieve
description: 'Storefront guide: How to retrieve a product category.'
parameters:
- name: id
in: path
description: The product category's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
- name: include_ancestors_tree
in: query
description: Whether to retrieve the category's parent. 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`.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.category.retrieve("pcat_123")
.then(({ product_category }) => {
console.log(product_category)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/product-categories/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Categories
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductCategoryResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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: $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: q
in: query
description: Query to search product tag's searchable fields.
required: false
schema:
type: string
title: q
description: Query to search product tag's searchable fields.
- 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 product tag's 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 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 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 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: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/product-tags' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Tags
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductTagListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: id
in: path
description: The product tag's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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}/store/product-tags/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Tags
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductTagResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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: $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: q
in: query
description: Query to search the product type's searchable fields.
required: false
schema:
type: string
title: q
description: Query to search the product type's searchable fields.
- 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 product type's value.
- type: array
description: Filter by product type values.
items:
type: string
title: value
description: A product 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 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 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 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: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/product-types' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Types
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductTypeListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: id
in: path
description: The product type's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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}/store/product-types/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Product Types
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductTypeResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/price
description: 'Storefront guide: How to retrieve a product variants'' prices.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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
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: q
in: query
description: Search term to filter the product's searchable properties.
required: false
schema:
type: string
title: q
description: Search term to filter the product's searchable properties.
- 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 ID.
- name: title
in: query
description: Filter by product titles.
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 title.
- name: handle
in: query
description: Filter by product handles.
required: false
schema:
oneOf:
- type: string
title: handle
description: Filter by a product handle.
- type: array
description: Filter by product handles.
items:
type: string
title: handle
description: A product handle.
- name: is_giftcard
in: query
description: Whether the product is a gift card.
required: false
schema:
type: boolean
title: is_giftcard
description: Whether the product is a gift card.
- name: collection_id
in: query
description: Filter by a collection's ID to retrieve the products in it.
required: false
schema:
description: Filter by a collection's ID to retrieve the products in it.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/collections/products
description: 'Storefront guide: Retrieve a collection''s products.'
items:
type: string
title: collection_id
description: A collection's ID.
- name: tag_id
in: query
description: Filter by a tag's ID to retrieve the products in it.
required: false
schema:
oneOf:
- type: string
title: tag_id
description: Filter by a product tag's ID.
- type: array
description: Filter by product tag IDs.
items:
type: string
title: tag_id
description: A product tag ID.
- name: type_id
in: query
description: Filter by a type's ID to retrieve the products in it.
required: false
schema:
oneOf:
- type: string
title: type_id
description: Filter by a product type's ID.
- type: array
description: Filter by product type IDs.
items:
type: string
title: type_id
description: A product type ID.
- 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 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 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 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: region_id
in: query
description: The ID of the region the products are being viewed from. This is required if you're retrieving product variant prices with taxes.
required: false
schema:
type: string
title: region_id
description: The ID of the region the products are being viewed from. This is required if you're retrieving product variant prices with taxes.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/price/examples/tax-price
description: 'Storefront guide: How to show product variants'' prices with taxes.'
- name: province
in: query
description: The lower-case ISO 3166-2 province code the products are being viewed from. This is useful to narrow down the tax context when calculating product variant prices with taxes.
required: false
schema:
type: string
title: province
description: The lower-case ISO 3166-2 province code the products are being viewed from. This is useful to narrow down the tax context when calculating product variant prices with taxes.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
- name: sales_channel_id
in: query
required: false
schema:
oneOf:
- type: string
title: sales_channel_id
description: The ID of a sales channel to retrieve products in it.
- type: array
description: The IDs of sales channels to retrieve products in them.
items:
type: string
title: sales_channel_id
description: A sales channel's ID.
- name: category_id
in: query
required: false
schema:
oneOf:
- type: string
title: category_id
description: The ID of a product category to retrieve products in it.
- type: array
description: The ID of product categories to retrieve products in them.
items:
type: string
title: category_id
description: A product category's ID.
- name: variants
in: query
description: Filter the products' variants.
required: false
schema:
type: object
description: Filter the products' variants.
x-schemaName: StoreProductVariantParams
properties:
options:
type: object
description: Filter by the variants' options.
required:
- value
- option_id
properties:
option_id:
type: string
title: option_id
description: The ID of the option to filter by.
value:
type: string
title: value
description: Filter by a value of the option.
- name: country_code
in: query
description: The product's country code.
required: false
schema:
type: string
title: country_code
description: The product's country code.
- name: cart_id
in: query
description: The product's cart id.
required: false
schema:
type: string
title: cart_id
description: The product's cart id.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.product.list()
.then(({ products, count, offset, limit }) => {
console.log(products)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/products' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
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'
/store/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: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/price
description: 'Storefront guide: How to retrieve a product variants'' prices.'
parameters:
- name: id
in: path
description: The product's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: region_id
in: query
description: The ID of the region the product is being viewed from. This is required if you're retrieving product variant prices with taxes.
required: false
schema:
type: string
title: region_id
description: The ID of the region the product is being viewed from. This is required if you're retrieving product variant prices with taxes.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/products/price/examples/tax-price
description: 'Storefront guide: How to show product variants'' prices with taxes.'
- name: country_code
in: query
description: The country code the product is being viewed from. This is required if you're retrieving product variant prices with taxes.
required: false
schema:
type: string
title: country_code
description: The country code the product is being viewed from. This is required if you're retrieving product variant prices with taxes.
- name: province
in: query
description: The lower-case ISO 3166-2 province code the product is being viewed from. This is useful to narrow down the tax context when calculating product variant prices with taxes.
required: false
schema:
type: string
title: province
description: The lower-case ISO 3166-2 province code the product is being viewed from. This is useful to narrow down the tax context when calculating product variant prices with taxes.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
- name: cart_id
in: query
description: The ID of the customer's cart. If set, the cart's region and shipping address's country code and province are used instead of the `region_id`, `country_code`, and `province` properties.
required: false
schema:
type: string
title: cart_id
description: The ID of the customer's cart. If set, the cart's region and shipping address's country code and province are used instead of the `region_id`, `country_code`, and `province` properties.
- 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'
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.product.retrieve("prod_123")
.then(({ product }) => {
console.log(product)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/products/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Products
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreProductResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/regions/list
description: 'Storefront guide: How to retrieve a list of regions.'
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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 name.
- type: array
description: Filter by region names.
items:
type: string
title: name
description: A region's name.
- name: currency_code
in: query
required: false
schema:
oneOf:
- type: string
title: currency_code
description: Filter by a currency code to retrieve regions that use that code.
- type: array
description: Filter by currency codes to retrieve regions that use one of these codes.
items:
type: string
title: currency_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
- name: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.region.list()
.then(({ regions, count, limit, offset }) => {
console.log(regions)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/regions' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
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/StoreRegion'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: id
in: path
description: The region's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.region.retrieve("reg_123")
.then(({ region }) => {
console.log(region)
})
- lang: Shell
label: cURL
source: curl '{backend_url}/store/regions/{id}'
tags:
- Regions
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
description: The region's details.
required:
- region
properties:
region:
$ref: '#/components/schemas/StoreRegion'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/return-reasons:
get:
operationId: GetReturnReasons
summary: List Return Reasons
description: Retrieve a list of return reasons. The return reasons can be sorted or paginated.
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: with_deleted
in: query
description: Whether to include deleted records in the result.
required: false
schema:
type: boolean
title: with_deleted
description: Whether to include deleted records in the result.
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/return-reasons' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Return Reasons
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- type: object
description: The paginated list of return 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 return reasons.
required:
- return_reasons
properties:
return_reasons:
type: array
description: The list of return reasons.
items:
$ref: '#/components/schemas/StoreReturnReason'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/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: false
parameters:
- name: id
in: path
description: The return reason's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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}/store/return-reasons/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Return Reasons
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreReturnReasonResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
/store/returns:
post:
operationId: PostReturns
summary: Create Return
description: Create a return for an order's items. The admin receives the return and process it from their side.
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCreateReturn'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/returns' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"order_id": "order_123",
"items": [
{
"id": "id_XbfptxUVo2io9EI",
"quantity": 7916429753974784,
"reason_id": "{value}",
"note": "{value}"
}
],
"return_shipping": {
"option_id": "{value}",
"price": 1068364080349184
},
"note": "{value}",
"location_id": "{value}"
}'
tags:
- Returns
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreReturnResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: createAndCompleteReturnOrderWorkflow
x-events:
- name: order.return_requested
payload: |-
```ts
{
order_id, // The ID of the order
return_id, // The ID of the return
}
```
description: Emitted when a return request is confirmed.
deprecated: false
- name: order.return_received
payload: |-
```ts
{
order_id, // The ID of the order
return_id, // The ID of the return
}
```
description: Emitted when a return is marked as received.
deprecated: false
x-since: 2.8.0
/store/shipping-options:
get:
operationId: GetShippingOptions
summary: List Shipping Options for Cart
description: |
Retrieve a list of shipping options for a cart. The cart's ID is set in the required `cart_id` query parameter.
The shipping options also be sorted or paginated.
externalDocs:
url: https://docs.medusajs.com/v2/resources/storefront-development/checkout/shipping
description: 'Storefront guide: How to implement shipping during checkout.'
x-authenticated: false
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. if a field is prefixed with `+` it will be added to the default 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: cart_id
in: query
description: The ID of the cart to retrieve its shipping options.
required: true
schema:
type: string
title: cart_id
description: The ID of the cart to retrieve its shipping options.
- 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: is_return
in: query
description: Whether the shipping option can be used for returns.
required: false
schema:
type: boolean
title: is_return
description: Whether the shipping option can be used for returns.
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.fulfillment.listCartOptions({
cart_id: "cart_123"
})
.then(({ shipping_options }) => {
console.log(shipping_options)
})
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/shipping-options' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Shipping Options
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreShippingOptionListResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: listShippingOptionsForCartWorkflow
x-events: []
/store/shipping-options/{id}/calculate:
post:
operationId: PostShippingOptionsIdCalculate
summary: Calculate Shipping Option Price
description: Calculate the price of a shipping option in a cart.
x-authenticated: false
parameters:
- name: id
in: path
description: The shipping option's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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 calculation's details.
required:
- cart_id
properties:
cart_id:
type: string
title: cart_id
description: The ID of the cart the shipping option is used in.
data:
type: object
description: Custom data that's useful for the fulfillment provider to calculate the price.
externalDocs:
url: https://docs.medusajs.com/resources/commerce-modules/fulfillment/shipping-option#data-property
x-codeSamples:
- lang: JavaScript
label: JS SDK
source: |-
import Medusa from "@medusajs/js-sdk"
let MEDUSA_BACKEND_URL = "http://localhost:9000"
if (process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL) {
MEDUSA_BACKEND_URL = process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL
}
export const sdk = new Medusa({
baseUrl: MEDUSA_BACKEND_URL,
debug: process.env.NODE_ENV === "development",
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
})
sdk.store.fulfillment.calculate("so_123", {
cart_id: "cart_123"
})
.then(({ shipping_option }) => {
console.log(shipping_option)
})
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/shipping-options/{id}/calculate' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"cart_id": "{value}"
}'
tags:
- Shipping Options
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreShippingOptionResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-workflow: calculateShippingOptionsPricesWorkflow
x-events: []
/store/store-credit-accounts:
get:
operationId: GetStoreCreditAccounts
summary: List Customer's Store Credit Accounts
x-sidebar-summary: List Store Credit Accounts
description: Retrieve the logged-in customer's store credit accounts. The store credit accounts can be filtered by fields such as `id`. The store credit accounts can also be sorted or paginated.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: currency_code
in: query
description: Filter by the store credit account's currency code.
required: false
schema:
type: string
title: currency_code
description: Filter by the store credit account's currency code.
example: usd
- name: created_at
in: query
description: Filter by a store credit account's creation date.
required: false
schema:
type: object
description: Filter by a store credit account'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 store credit account's update date.
required: false
schema:
type: object
description: Filter by a store credit account'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: 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'
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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: $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
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/store-credit-accounts' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Store Credit Accounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreStoreCreditAccountsResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/store-credit-accounts/{id}:
get:
operationId: GetStoreCreditAccountsId
summary: Get Customer's Store Credit Account
x-sidebar-summary: Get Store Credit Account
description: Retrieve logged-in customer's store credit account by its ID. You can expand the store credit account's relations or select the fields that should be returned.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The store credit account's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default 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}/store/store-credit-accounts/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Store Credit Accounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreStoreCreditAccountResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
components:
schemas:
AdminAddDraftOrderItems:
type: object
description: The details of the items to add to a draft order.
x-schemaName: AdminAddDraftOrderItems
properties:
items:
type: array
description: The items to add to the draft order.
items:
type: object
description: The item's details
required:
- quantity
properties:
quantity:
type: number
title: quantity
description: The item's quantity.
variant_id:
type: string
title: variant_id
description: The ID of the variant to add to the draft order.
title:
type: string
title: title
description: The item's title.
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.
internal_note:
type: string
title: internal_note
description: A note viewed only by admin users about the item.
allow_backorder:
type: boolean
title: allow_backorder
description: Whether the item can be purchased if it's out of stock.
metadata:
type: object
description: The item's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminAddDraftOrderPromotions:
type: object
description: The details of the promotions to add to a draft order.
x-schemaName: AdminAddDraftOrderPromotions
required:
- promo_codes
properties:
promo_codes:
type: array
description: The list promotion codes to add to the draft order.
items:
type: string
title: promo_codes
description: A promotion's code.
AdminAddDraftOrderShippingMethod:
type: object
description: The details of the shipping method to add to a draft order.
x-schemaName: AdminAddDraftOrderShippingMethod
required:
- shipping_option_id
properties:
shipping_option_id:
type: string
title: shipping_option_id
description: The ID of the shipping option that this method is created from.
custom_amount:
type: number
title: custom_amount
description: A custom amount to be charged for this shipping method. If not provided, the shipping option's amount will be used.
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 about the shipping method.
metadata:
type: object
description: The shipping method's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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`.
AdminBatchCreateInventoryItemsLocationLevels:
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.
x-schemaName: AdminBatchCreateInventoryItemsLocationLevels
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
AdminBatchInventoryItemsLocationLevels:
type: object
description: The inventory levels to manage.
properties:
create:
type: array
description: The inventory levels to create.
items:
$ref: '#/components/schemas/AdminBatchCreateInventoryItemsLocationLevels'
update:
type: array
description: The inventory levels to update.
items:
$ref: '#/components/schemas/AdminBatchUpdateInventoryItemsLocationLevels'
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.
required:
- create
- update
- delete
x-schemaName: AdminBatchInventoryItemsLocationLevels
AdminBatchInventoryItemsLocationLevelsResponse:
type: object
description: The result of managing inventory levels.
x-schemaName: AdminBatchInventoryItemsLocationLevelsResponse
properties:
created:
type: array
description: The created inventory levels.
items:
$ref: '#/components/schemas/InventoryLevel'
updated:
type: array
description: The updated inventory levels.
items:
$ref: '#/components/schemas/InventoryLevel'
deleted:
type: array
description: The IDs of deleted inventory levels.
items:
type: string
title: deleted
description: The ID of a deleted inventory level.
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.
AdminBatchUpdateInventoryItemsLocationLevels:
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.
id:
type: string
title: id
description: The update's ID.
x-schemaName: AdminBatchUpdateInventoryItemsLocationLevels
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
shipping_profile_id:
type: string
title: shipping_profile_id
description: The ID of the product's shipping profile.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
AdminCollectionResponse:
type: object
description: The collection's details.
x-schemaName: AdminCollectionResponse
required:
- collection
properties:
collection:
$ref: '#/components/schemas/AdminCollection'
AdminColumn:
type: object
description: The details of a column in a view configuration.
x-schemaName: AdminColumn
required:
- id
- name
- field
- sortable
- hideable
- default_visible
- data_type
properties:
id:
type: string
title: id
description: The column's ID.
name:
type: string
title: name
description: The column's name. This is displayed in the view header.
description:
type: string
title: description
description: The column's description.
field:
type: string
title: field
description: The column's field in the entity.
sortable:
type: boolean
title: sortable
description: Whether the column is sortable.
hideable:
type: boolean
title: hideable
description: Whether the column is hideable.
default_visible:
type: boolean
title: default_visible
description: Whether the column is visible by default.
data_type:
type: string
description: The data type of the column's value.
enum:
- string
- number
- boolean
- object
- date
- currency
- enum
semantic_type:
type: string
title: semantic_type
description: The column's semantic type. It can be `computed`, or other primitive types.
context:
type: string
title: context
description: The column's context. It can be `display` or `generic`.
computed:
type: object
description: A computed column's details. Only available if the column's `semantic_type` is `computed`.
required:
- type
- required_fields
- optional_fields
properties:
type:
type: string
title: type
description: The computed's type for rendering.
required_fields:
type: array
description: The required fields in the computed column.
items:
type: string
title: required_fields
description: A required field in the computed column.
optional_fields:
type: array
description: The optional fields in the computed column.
items:
type: string
title: optional_fields
description: An optional field in the computed column.
relationship:
type: object
description: The relationship details. Only available for relationship columns.
required:
- entity
- field
properties:
entity:
type: string
title: entity
description: The related entity.
field:
type: string
title: field
description: The field in the related entity.
default_order:
type: number
title: default_order
description: The column's sort order in the default view configuration.
category:
type: string
description: The column's category.
enum:
- status
- metadata
- identifier
- timestamp
- metric
- relationship
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
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminCreateFulfillment:
type: object
description: The filfillment's details.
x-schemaName: AdminCreateFulfillment
required:
- items
- metadata
- order_id
- data
- 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminCreateFulfillmentSetServiceZones:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
- 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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-schemaName: AdminCreateFulfillmentSetServiceZones
AdminCreateGiftCardParams:
type: object
description: The details of the gift card to create.
x-schemaName: AdminCreateGiftCardParams
required:
- code
- value
- currency_code
- expires_at
- reference_id
- reference
- line_item_id
- customer_id
- metadata
properties:
code:
type: string
title: code
description: The gift card's code.
value:
type: number
title: value
description: The gift card's amount.
example: 20
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
expires_at:
type: string
title: expires_at
description: The date the gift card expires at.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
reference:
type: string
title: reference
description: The gift card's reference.
line_item_id:
type: string
title: line_item_id
description: The ID of the line item associated with the gift card.
customer_id:
type: string
title: customer_id
description: The ID of the customer associated with the gift card.
metadata:
type: object
description: The gift card's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminCreateInventoryLocationLevel:
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-schemaName: AdminCreateInventoryLocationLevel
AdminCreateOrderCreditLines:
type: object
description: The details of a credit line to add to an order.
x-schemaName: AdminCreateOrderCreditLines
required:
- amount
- reference
- reference_id
properties:
amount:
type: number
title: amount
description: The amount of the credit line.
example: 100
reference:
type: string
title: reference
description: The name of the table that the credit line is referencing.
example: order
reference_id:
type: string
title: reference_id
description: The ID of a record in the table that the credit line is referencing.
example: order_123
metadata:
type: object
description: The credit line's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminCreatePaymentCapture:
type: object
description: The payment's details.
properties:
amount:
type: number
title: amount
description: The amount to capture.
x-schemaName: AdminCreatePaymentCapture
AdminCreatePaymentCollection:
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-schemaName: AdminCreatePaymentCollection
AdminCreatePaymentRefund:
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-schemaName: AdminCreatePaymentRefund
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
external_id:
type: string
title: external_id
description: The ID of the product in an external or third-party system.
shipping_profile_id:
type: string
title: shipping_profile_id
description: The ID of the product's shipping profile.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
- 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'
type_id:
type: string
title: type_id
description: The ID of the shipping option type that this shipping option belongs to.
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
- 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminCreateStockLocationFulfillmentSet:
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-schemaName: AdminCreateStockLocationFulfillmentSet
AdminCreateStoreCreditAccount:
type: object
description: The details of the store credit account to create.
x-schemaName: AdminCreateStoreCreditAccount
required:
- currency_code
- customer_id
properties:
currency_code:
type: string
title: currency_code
description: The store credit account's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the store credit account belongs to.
metadata:
type: object
description: The store credit account's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
metadata:
type: object
description: The tax region's metadata, used to store custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
provider_id:
type: string
title: provider_id
description: The ID of the tax provider used to calculate the tax rate in this tax region.
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.
AdminCreateViewConfiguration:
type: object
description: The details of a view configuration to create.
x-schemaName: AdminCreateViewConfiguration
properties:
is_system_default:
type: boolean
title: is_system_default
description: Whether the view is the system default. If so, it will be used as the default view for all users that don't have a custom active view set.
set_active:
type: boolean
title: set_active
description: Whether the view is set as active.
configuration:
type: object
description: The view's configuration.
required:
- visible_columns
- column_order
properties:
visible_columns:
type: array
description: The configuration's visible columns.
items:
type: string
title: visible_columns
description: The visible column's name.
column_order:
type: array
description: The columns in the order they should be displayed.
items:
type: string
title: column_order
description: The column's name.
search:
type: string
title: search
description: The search query used in the view.
column_widths:
type: object
description: The column widths in the view.
filters:
type: object
description: The filters applied to the view.
sorting:
type: object
description: The sorting applied to the view.
required:
- id
- desc
properties:
id:
type: string
title: id
description: The ID of the sorting column.
desc:
type: boolean
title: desc
description: Whether the sorting is descending.
name:
type: string
title: name
description: The view's name.
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
AdminDraftOrder:
type: object
description: The draft order's details.
x-schemaName: AdminDraftOrder
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_total
properties:
payment_collections:
type: array
description: The draft order's payment collections.
items:
$ref: '#/components/schemas/AdminPaymentCollection'
fulfillments:
type: array
description: The draft 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'
items:
type: array
description: The draft order's items.
items:
$ref: '#/components/schemas/AdminOrderLineItem'
shipping_methods:
type: array
description: The draft order's shipping methods.
items:
$ref: '#/components/schemas/AdminOrderShippingMethod'
status:
type: string
title: status
description: The draft order's status.
currency_code:
type: string
title: currency_code
description: The draft order's currency code.
example: usd
id:
type: string
title: id
description: The draft order's ID.
version:
type: number
title: version
description: The draft order's version.
region_id:
type: string
title: region_id
description: The ID of the region associated with the draft order.
customer_id:
type: string
title: customer_id
description: The ID of the customer that the draft order belongs to.
sales_channel_id:
type: string
title: sales_channel_id
description: The ID of the sales channel that the draft order is placed in.
email:
type: string
title: email
description: The customer email associated with the draft order.
format: email
display_id:
type: number
title: display_id
description: The draft order's display ID.
payment_status:
type: string
description: The draft order's payment status.
enum:
- not_paid
- awaiting
- authorized
- partially_authorized
- canceled
- captured
- partially_captured
- partially_refunded
- refunded
- requires_action
fulfillment_status:
type: string
description: The draft order's fulfillment status.
enum:
- canceled
- not_fulfilled
- partially_fulfilled
- fulfilled
- partially_shipped
- shipped
- partially_delivered
- delivered
transactions:
type: array
description: The draft order's transactions.
items:
$ref: '#/components/schemas/BaseOrderTransaction'
summary:
$ref: '#/components/schemas/BaseOrderSummary'
metadata:
type: object
description: The draft order's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
created_at:
type: string
format: date-time
title: created_at
description: The date the draft order was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the draft order was updated.
original_item_total:
type: number
title: original_item_total
description: The total of the draft order's items including taxes, excluding promotions.
original_item_subtotal:
type: number
title: original_item_subtotal
description: The total of the draft order's items excluding taxes, including promotions.
original_item_tax_total:
type: number
title: original_item_tax_total
description: The tax total of the draft order's items excluding promotions.
item_total:
type: number
title: item_total
description: The total of the draft order's items including taxes and promotions.
item_subtotal:
type: number
title: item_subtotal
description: The total of the draft order's items excluding taxes, including promotions.
item_tax_total:
type: number
title: item_tax_total
description: The tax total of the draft order's items including promotions.
original_total:
type: number
title: original_total
description: The draft order's total excluding promotions, including taxes.
original_subtotal:
type: number
title: original_subtotal
description: The draft order's total excluding taxes, including promotions.
original_tax_total:
type: number
title: original_tax_total
description: The draft order's tax total, excluding promotions.
total:
type: number
title: total
description: The draft order's total including taxes and promotions.
subtotal:
type: number
title: subtotal
description: The draft order's total excluding taxes, including promotions.
tax_total:
type: number
title: tax_total
description: The draft order's tax total including promotions.
discount_total:
type: number
title: discount_total
description: The draft order's discount or promotions total.
discount_tax_total:
type: number
title: discount_tax_total
description: The tax total of draft order's discount or promotion.
gift_card_total:
type: number
title: gift_card_total
description: The draft order's gift card total.
gift_card_tax_total:
type: number
title: gift_card_tax_total
description: The tax total of the draft order's gift card.
shipping_total:
type: number
title: shipping_total
description: The draft order's shipping total including taxes and promotions.
shipping_subtotal:
type: number
title: shipping_subtotal
description: The draft order's shipping total excluding taxes, including promotions.
shipping_tax_total:
type: number
title: shipping_tax_total
description: The tax total of the draft order's shipping.
original_shipping_total:
type: number
title: original_shipping_total
description: The draft order's shipping total including taxes, excluding promotions.
original_shipping_subtotal:
type: number
title: original_shipping_subtotal
description: The draft 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 draft order's shipping excluding promotions.
region:
$ref: '#/components/schemas/AdminRegion'
credit_lines:
type: array
description: The draft order's credit lines.
items:
$ref: '#/components/schemas/OrderCreditLine'
credit_line_total:
type: number
title: credit_line_total
description: The draft order's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the draft order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the draft order's shipping.
AdminDraftOrderListResponse:
type: object
description: The list of draft orders with pagination fields.
x-schemaName: AdminDraftOrderListResponse
required:
- limit
- offset
- count
- draft_orders
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 count of items available.
draft_orders:
type: array
description: The list of draft orders.
items:
$ref: '#/components/schemas/AdminDraftOrder'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
AdminDraftOrderPreview:
type: object
description: The draft order preview's details.
x-schemaName: AdminDraftOrderPreview
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodAdjustment'
original_total:
oneOf:
- type: string
title: original_total
description: The shipping method's 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
region:
$ref: '#/components/schemas/AdminRegion'
credit_lines:
type: array
description: The order preview's credit lines.
items:
$ref: '#/components/schemas/OrderCreditLine'
credit_line_total:
type: number
title: credit_line_total
description: The draft order preview's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the draft order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the draft order's shipping.
AdminDraftOrderPreviewResponse:
type: object
description: The details of the preview on the draft order.
x-schemaName: AdminDraftOrderPreviewResponse
required:
- draft_order_preview
properties:
draft_order_preview:
$ref: '#/components/schemas/AdminDraftOrderPreview'
AdminDraftOrderResponse:
type: object
description: The draft order's details.
x-schemaName: AdminDraftOrderResponse
required:
- draft_order
properties:
draft_order:
$ref: '#/components/schemas/AdminDraftOrder'
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
AdminGiftCard:
type: object
description: The gift card's details.
x-schemaName: AdminGiftCard
required:
- line_item
- customer
- id
- code
- status
- value
- currency_code
- customer_id
- reference_id
- note
- reference
- expires_at
- created_at
- updated_at
properties:
line_item:
$ref: '#/components/schemas/AdminOrderLineItem'
customer:
$ref: '#/components/schemas/AdminCustomer'
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
description: The gift card's code.
status:
type: string
description: The gift card's status.
enum:
- pending
- redeemed
value:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer associated with the gift card.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: The gift card's note.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires at.
created_at:
type: string
format: date-time
title: created_at
description: The date the gift card was created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the gift card was updated at.
AdminGiftCardResponse:
type: object
description: The gift card's details.
x-schemaName: AdminGiftCardResponse
required:
- gift_card
properties:
gift_card:
$ref: '#/components/schemas/AdminGiftCard'
AdminGiftCardsResponse:
type: object
description: The paginated list of gift cards.
x-schemaName: AdminGiftCardsResponse
required:
- limit
- offset
- count
- gift_cards
properties:
limit:
type: number
title: limit
description: The maximum number of gift cards to return.
offset:
type: number
title: offset
description: The number of gift cards to skip before retrieving the results.
count:
type: number
title: count
description: The total number of gift cards available.
gift_cards:
type: array
description: The list of gift cards.
items:
$ref: '#/components/schemas/AdminGiftCard'
estimate_count:
type: number
title: estimate_count
description: The gift card's estimate count.
x-featureFlag: index_engine
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.
AdminImportProducts:
type: object
description: The details of the product's import file.
x-schemaName: AdminImportProducts
required:
- file_key
- originalname
- extension
- size
- mime_type
properties:
file_key:
type: string
title: file_key
description: The name of the file as stored in the configured File Module Provider.
originalname:
type: string
title: originalname
description: The file's original name.
extension:
type: string
title: extension
description: The file's extension.
example: csv
size:
type: number
title: size
description: The file's size in bytes.
mime_type:
type: string
title: mime_type
description: The file's mime type.
example: text/csv
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
AdminInviteAccept:
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-schemaName: AdminInviteAccept
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
AdminMarkPaymentCollectionPaid:
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-schemaName: AdminMarkPaymentCollectionPaid
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
region:
$ref: '#/components/schemas/AdminRegion'
credit_lines:
type: array
description: The order's credit lines.
items:
$ref: '#/components/schemas/OrderCreditLine'
credit_line_total:
type: number
title: credit_line_total
description: The order's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the order's shipping.
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
- ordering
- 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.
ordering:
type: number
title: ordering
description: The action's order in the sequence of actions.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodAdjustment'
original_total:
oneOf:
- type: string
title: original_total
description: The shipping method's 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
region:
$ref: '#/components/schemas/AdminRegion'
credit_lines:
type: array
description: The order preview's credit lines.
items:
$ref: '#/components/schemas/OrderCreditLine'
credit_line_total:
type: number
title: credit_line_total
description: The order preview's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the order's shipping.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodAdjustment'
original_total:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
status:
type: string
description: The payment collection's status.
enum:
- canceled
- not_paid
- awaiting
- authorized
- partially_authorized
payment_providers:
type: array
description: The payment 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
AdminPlugin:
type: object
description: The plugin's details.
x-schemaName: AdminPlugin
required:
- name
properties:
name:
type: string
title: name
description: The plugin's name.
AdminPluginsListResponse:
type: object
description: The list of plugins.
x-schemaName: AdminPluginsListResponse
required:
- plugins
properties:
plugins:
type: array
description: The list of plugins.
items:
$ref: '#/components/schemas/AdminPlugin'
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
location_id:
type: string
title: location_id
description: The ID of the location to which outbound items are sent from.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
shipping_profile:
$ref: '#/components/schemas/AdminShippingProfile'
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
required_quantity:
type: number
title: required_quantity
description: The inventory item's required quantity.
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
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: Whether the promotion is tax inclusive. If enabled, the promotion is applied after tax is calculated.
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'
AdminRedeemGiftCard:
type: object
description: The details of the gift card to redeem.
x-schemaName: AdminRedeemGiftCard
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to. The gift card's value will be added to the customer's store credit account.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
AdminRemoveDraftOrderPromotions:
type: object
description: The promotion codes to remove from the draft order.
x-schemaName: AdminRemoveDraftOrderPromotions
required:
- promo_codes
properties:
promo_codes:
type: array
description: The promotion codes to remove from the draft order.
items:
type: string
title: promo_codes
description: A promotion code to remove from the draft order.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
AdminSetActiveViewConfiguration:
type: object
description: The details of a view configuration to set as active for the given entity.
x-schemaName: AdminSetActiveViewConfiguration
required:
- view_configuration_id
properties:
view_configuration_id:
type: string
title: view_configuration_id
description: The ID of the view configuration to set as active. If `null`, the active view configuration will be cleared, and the `code` or system default view configuration will be used as the active view.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
description: The rule's operator.
enum:
- gt
- lt
- eq
- ne
- in
- lte
- gte
- nin
value:
oneOf:
- type: string
title: value
description: The shipping option rule's value.
example: 'true'
- type: array
description: The shipping option rule's values.
items:
type: string
title: value
description: A value of the shipping option rule.
example: 'true'
shipping_option_id:
type: string
title: shipping_option_id
description: The ID of the shipping option this rule is for.
created_at:
type: string
format: date-time
title: created_at
description: The date the shipping option rule was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the shipping option rule was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the shipping option rule was deleted.
AdminShippingOptionType:
type: object
description: The shipping option's details.
x-schemaName: AdminShippingOptionType
required:
- id
- label
- description
- code
- shipping_option_id
- created_at
- updated_at
- deleted_at
properties:
id:
type: string
title: id
description: The shipping option's ID.
created_at:
type: string
format: date-time
title: created_at
description: The date the shipping option was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the shipping option was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the shipping option was deleted.
label:
type: string
title: label
description: The type's label.
description:
type: string
title: description
description: The type's description.
code:
type: string
title: code
description: The type's code.
shipping_option_id:
type: string
title: shipping_option_id
description: The type's shipping option id.
AdminShippingOptionTypeDeleteResponse:
type: object
description: The response returned after deleting a shipping option type.
x-schemaName: AdminShippingOptionTypeDeleteResponse
required:
- id
- object
- deleted
properties:
id:
type: string
title: id
description: The shipping option type's ID.
object:
type: string
title: object
description: The name of the deleted object.
default: shipping_option_type
deleted:
type: boolean
title: deleted
description: Whether the Shipping Option Type was deleted.
AdminShippingOptionTypeListResponse:
type: object
description: The paginated list of shipping option types.
x-schemaName: AdminShippingOptionTypeListResponse
required:
- limit
- offset
- count
- shipping_option_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 returning the results.
count:
type: number
title: count
description: The total number of items.
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
shipping_option_types:
type: array
description: The list of shipping option types.
items:
$ref: '#/components/schemas/AdminShippingOptionType'
AdminShippingOptionTypeResponse:
type: object
description: The shipping option type's details.
x-schemaName: AdminShippingOptionTypeResponse
required:
- shipping_option_type
properties:
shipping_option_type:
$ref: '#/components/schemas/AdminShippingOptionType'
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
AdminStoreCreditAccount:
type: object
description: The store credit account's details.
x-schemaName: AdminStoreCreditAccount
required:
- customer
- transaction_groups
- id
- customer_id
- currency_code
- credits
- debits
- balance
- metadata
- created_at
- updated_at
properties:
customer:
$ref: '#/components/schemas/AdminCustomer'
id:
type: string
title: id
description: The store credit account's ID.
customer_id:
type: string
title: customer_id
description: The ID of the customer that the store credit account belongs to.
currency_code:
type: string
title: currency_code
description: The store credit account's currency code.
example: usd
credits:
type: number
title: credits
description: The account's credits.
debits:
type: number
title: debits
description: The account's debits.
balance:
type: number
title: balance
description: The account's balance.
transaction_groups:
type: array
description: The store credit account's transaction groups.
items:
$ref: '#/components/schemas/AdminTransactionGroup'
metadata:
type: object
description: The store credit account's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
created_at:
type: string
format: date-time
title: created_at
description: The date the store credit account was created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the store credit account was updated at.
AdminStoreCreditAccountResponse:
type: object
description: The store credit account's details.
x-schemaName: AdminStoreCreditAccountResponse
required:
- store_credit_account
properties:
store_credit_account:
$ref: '#/components/schemas/AdminStoreCreditAccount'
AdminStoreCreditAccountsResponse:
type: object
description: The paginated list of store credit accounts.
x-schemaName: AdminStoreCreditAccountsResponse
required:
- limit
- offset
- count
- store_credit_accounts
properties:
limit:
type: number
title: limit
description: The maximum number of store credit accounts to return.
offset:
type: number
title: offset
description: The number of store credit accounts to skip before retrieving the results.
count:
type: number
title: count
description: The total number of store credit accounts available.
store_credit_accounts:
type: array
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/AdminStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
AdminStoreResponse:
type: object
description: The store's details.
x-schemaName: AdminStoreResponse
required:
- store
properties:
store:
$ref: '#/components/schemas/AdminStore'
AdminTaxProvider:
type: object
description: The tax provider's details.
x-schemaName: AdminTaxProvider
required:
- id
- is_enabled
properties:
id:
type: string
title: id
description: The tax provider's ID.
example: tp_taxjar_taxjar
is_enabled:
type: boolean
title: is_enabled
description: Whether the tax provider is enabled in the Medusa application.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
metadata:
type: object
description: The tax region's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
AdminTransaction:
type: object
description: The transaction's details.
x-schemaName: AdminTransaction
required:
- account
- id
- account_id
- transaction_group_id
- type
- amount
- metadata
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The transaction's ID.
account_id:
type: string
title: account_id
description: The ID of the store credit account that the transaction belongs to.
transaction_group_id:
type: string
title: transaction_group_id
description: The ID of the transaction group that the transaction belongs to.
type:
type: string
description: The transaction's type.
enum:
- credit
- debit
amount:
type: number
title: amount
description: The transaction's amount.
account:
$ref: '#/components/schemas/AdminStoreCreditAccount'
note:
type: string
title: note
description: The transaction's note.
reference:
type: string
title: reference
description: The transaction's reference.
reference_id:
type: string
title: reference_id
description: The transaction's reference ID.
metadata:
type: object
description: The transaction's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
created_at:
type: string
format: date-time
title: created_at
description: The date the transaction was created at.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the transaction was updated at.
AdminTransactionGroup:
type: object
description: The transaction group's details.
x-schemaName: AdminTransactionGroup
required:
- account
- id
- code
- credits
- debits
- balance
- metadata
properties:
id:
type: string
title: id
description: The transaction group's ID.
code:
type: string
title: code
description: The transaction group's code.
credits:
type: number
title: credits
description: The transaction group's credits.
debits:
type: number
title: debits
description: The transaction group's debits.
balance:
type: number
title: balance
description: The transaction group's balance.
account:
type: object
metadata:
type: object
description: The transaction group's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminTransactionGroupsResponse:
type: object
description: The paginated list of transaction groups.
x-schemaName: AdminTransactionGroupsResponse
required:
- limit
- offset
- count
- transaction_groups
properties:
limit:
type: number
title: limit
description: The maximum number of transaction groups to return.
offset:
type: number
title: offset
description: The number of transaction groups to skip before retrieving the results.
count:
type: number
title: count
description: The total number of transaction groups available.
transaction_groups:
type: array
description: The list of transaction groups.
items:
$ref: '#/components/schemas/AdminTransactionGroup'
estimate_count:
type: number
title: estimate_count
description: The transaction group's estimate count.
x-featureFlag: index_engine
AdminTransactionsResponse:
type: object
description: The paginated list of transactions.
x-schemaName: AdminTransactionsResponse
required:
- limit
- offset
- count
- transactions
properties:
limit:
type: number
title: limit
description: The maximum number of transactions to return.
offset:
type: number
title: offset
description: The number of transactions to skip before retrieving the results.
count:
type: number
title: count
description: The total number of transactions available.
transactions:
type: array
description: The list of transactions.
items:
$ref: '#/components/schemas/AdminTransaction'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
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.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminUpdateDraftOrder:
type: object
description: The data to update in the draft order.
x-schemaName: AdminUpdateDraftOrder
properties:
email:
type: string
title: email
description: The customer email associated with the draft order.
format: email
shipping_address:
type: object
description: The draft order's shipping address.
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 first address line.
address_2:
type: string
title: address_2
description: The second address 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.
example: us
province:
type: string
title: province
description: The shipping address's ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
postal_code:
type: string
title: postal_code
description: The shipping address's postal code.
metadata:
type: object
description: The shipping address's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
billing_address:
type: object
description: The draft order's billing address.
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 first address line.
address_2:
type: string
title: address_2
description: The second address 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.
example: us
province:
type: string
title: province
description: The billing address's ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
postal_code:
type: string
title: postal_code
description: The billing address's postal code.
metadata:
type: object
description: The billing address's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
metadata:
type: object
description: The draft order's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
customer_id:
type: string
title: customer_id
description: The ID of the customer associated with the draft order.
sales_channel_id:
type: string
title: sales_channel_id
description: The ID of the sales channel associated with the draft order.
AdminUpdateDraftOrderActionShippingMethod:
type: object
description: The updates to make on a changed shipping method.
x-schemaName: AdminUpdateDraftOrderActionShippingMethod
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: The custom amount of the shipping method. If not provided, the shipping option's amount will be used.
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 about the shipping method.
metadata:
type: object
description: The shipping method's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminUpdateDraftOrderItem:
type: object
description: The updates to make on a draft order's item.
x-schemaName: AdminUpdateDraftOrderItem
required:
- quantity
properties:
quantity:
type: number
title: quantity
description: The item's quantity.
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.
internal_note:
type: string
title: internal_note
description: A note viewed only by admin users about the item.
AdminUpdateDraftOrderShippingMethod:
type: object
description: The updates to make on a draft order's shipping method.
x-schemaName: AdminUpdateDraftOrderShippingMethod
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: The custom amount of the shipping method. If not provided, the shipping option's amount will be used.
internal_note:
type: string
title: internal_note
description: A note viewed only by admin users about the shipping method.
AdminUpdateFulfillmentSetServiceZones:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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-schemaName: AdminUpdateFulfillmentSetServiceZones
AdminUpdateGiftCardParams:
type: object
description: The details to update in the gift card.
x-schemaName: AdminUpdateGiftCardParams
properties:
status:
type: string
description: The gift card's status.
enum:
- pending
- redeemed
value:
type: number
title: value
description: The gift card's amount.
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
note:
type: string
title: note
description: The gift card's note.
expires_at:
type: string
title: expires_at
description: The date the gift card expires at.
metadata:
type: object
description: The gift card's metadata.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminUpdateInventoryItem:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
x-schemaName: AdminUpdateInventoryItem
AdminUpdateInventoryLocationLevel:
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-schemaName: AdminUpdateInventoryLocationLevel
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
metadata:
type: object
description: The order's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
AdminUpdatePaymentRefundReason:
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-schemaName: AdminUpdatePaymentRefundReason
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
external_id:
type: string
title: external_id
description: The ID of the product in an external or third-party system.
AdminUpdateProductCategory:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
rank:
type: number
title: rank
description: The product category's rank among other categories.
x-schemaName: AdminUpdateProductCategory
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.
AdminUpdateProductTag:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
x-schemaName: AdminUpdateProductTag
AdminUpdateProductType:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
x-schemaName: AdminUpdateProductType
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
AdminUpdateRegion:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
is_tax_inclusive:
type: boolean
title: is_tax_inclusive
description: Whether the prices in the region are tax inclusive.
x-schemaName: AdminUpdateRegion
AdminUpdateReservation:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
x-schemaName: AdminUpdateReservation
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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
AdminUpdateShippingOptionType:
type: object
description: The properties to update in the shipping option type.
properties:
code:
type: string
title: code
description: The shipping option type's code.
description:
type: string
title: description
description: The shipping option type's description.
label:
type: string
title: label
description: The shipping option type's label.
x-schemaName: AdminUpdateShippingOptionType
AdminUpdateShippingProfile:
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
x-schemaName: AdminUpdateShippingProfile
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
metadata:
type: object
description: The tax region's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
provider_id:
type: string
title: provider_id
description: The ID of the tax provider to use when calculating taxes for this tax region.
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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`.
AdminUpdateViewConfiguration:
type: object
description: The details to update in a view configuration.
x-schemaName: AdminUpdateViewConfiguration
properties:
set_active:
type: boolean
title: set_active
description: Whether the view is set as active.
name:
type: string
title: name
description: The view's name.
is_system_default:
type: boolean
title: is_system_default
description: Whether the view is the system default.
configuration:
type: object
description: The view's configuration.
properties:
search:
type: string
title: search
description: The search query used in the view.
visible_columns:
type: array
description: The configuration's visible columns.
items:
type: string
title: visible_columns
description: The visible column's name.
column_order:
type: array
description: The columns in the order they should be displayed.
items:
type: string
title: column_order
description: The column's name.
column_widths:
type: object
description: The column widths in the view.
filters:
type: object
description: The filters applied to the view.
sorting:
type: object
description: The sorting applied to the view.
required:
- id
- desc
properties:
id:
type: string
title: id
description: The ID of the sorting column.
desc:
type: boolean
title: desc
description: Whether the sorting is descending.
AdminUploadPreSignedUrl:
type: object
description: The details of the file to upload.
x-schemaName: AdminUploadPreSignedUrl
required:
- originalname
- size
- mime_type
properties:
originalname:
type: string
title: originalname
description: The file's original name.
size:
type: number
title: size
description: The file's size in bytes.
mime_type:
type: string
title: mime_type
description: The file's mime type.
example: text/csv
access:
type: string
description: The access level of the file. If `private`, the file will not be publicly accessible. The default value depends on the configured File Module Provider.
enum:
- public
- private
AdminUploadPreSignedUrlResponse:
type: object
description: The result of the pre-signed URL upload request.
x-schemaName: AdminUploadPreSignedUrlResponse
required:
- url
- filename
- originalname
- mime_type
- extension
- size
properties:
url:
type: string
title: url
description: The file's pre-signed upload URL.
filename:
type: string
title: filename
description: The file's filename.
originalname:
type: string
title: originalname
description: The file's orignal name.
mime_type:
type: string
title: mime_type
description: The file's mime type.
example: text/csv
extension:
type: string
title: extension
description: The file's extension.
example: csv
size:
type: number
title: size
description: The file's size in bytes.
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
AdminUserResponse:
type: object
description: The user's details.
x-schemaName: AdminUserResponse
required:
- user
properties:
user:
$ref: '#/components/schemas/AdminUser'
AdminViewConfiguration:
type: object
description: The details of a view configuration.
x-schemaName: AdminViewConfiguration
required:
- id
- entity
- name
- user_id
- is_system_default
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The view configuration's ID.
entity:
type: string
title: entity
description: The entity the view configuration belongs to.
name:
type: string
title: name
description: The view configuration's name.
user_id:
type: string
title: user_id
description: The ID of the user the view configuration belongs to. If `null`, the view configuration is a system default.
is_system_default:
type: boolean
title: is_system_default
description: Whether the view configuration is the system default.
configuration:
type: object
description: The view's configuration.
required:
- visible_columns
- column_order
properties:
visible_columns:
type: array
description: The configuration's visible columns.
items:
type: string
title: visible_columns
description: The visible column's name.
column_order:
type: array
description: The columns in the order they should be displayed.
items:
type: string
title: column_order
description: The column's name.
column_widths:
type: object
description: The column widths in the view.
filters:
type: object
description: The filters applied to the view.
sorting:
type: object
description: The sorting applied to the view.
required:
- id
- desc
properties:
id:
type: string
title: id
description: The ID of the sorting column.
desc:
type: boolean
title: desc
description: Whether the sorting is descending.
search:
type: string
title: search
description: The configuration's search.
created_at:
type: string
format: date-time
title: created_at
description: The date the view configuration was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the view configuration was updated.
AdminViewConfigurationResponse:
type: object
description: The details of a view configuration.
x-schemaName: AdminViewConfigurationResponse
required:
- view_configuration
properties:
view_configuration:
$ref: '#/components/schemas/AdminViewConfiguration'
AdminViewsEntityColumnsResponse:
type: object
description: The view's columns.
x-schemaName: AdminViewsEntityColumnsResponse
required:
- columns
properties:
columns:
type: array
description: The view's columns.
items:
$ref: '#/components/schemas/AdminColumn'
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
required:
- state
- status
properties:
state:
type: string
description: The invokation step's state.
enum:
- failed
- not_started
- invoking
- compensating
- done
- reverted
- dormant
- skipped
- skipped_failure
- timeout
status:
type: string
description: The invokation step's state.
enum:
- idle
- ok
- waiting_response
- temp_failure
- permanent_failure
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 workflow should continue executing even if its status is changed to failed.
skipOnPermanentFailure:
oneOf:
- type: string
title: skipOnPermanentFailure
description: The ID of the step to skip to in case of a permanent failure.
- type: boolean
title: skipOnPermanentFailure
description: Whether the workflow should skip subsequent steps in case of a permanent failure.
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.
autoRetry:
type: boolean
title: autoRetry
description: Whether the step should be automatically retried if it fails.
maxAwaitingRetries:
type: number
title: maxAwaitingRetries
description: The maximum number of times to retry the step while it's in the `waiting_response` state.
compensate:
type: object
description: The state of the step's compensation function.
x-schemaName: WorkflowExecutionFn
required:
- state
- status
properties:
state:
type: string
description: The compensation function's state.
enum:
- failed
- not_started
- invoking
- compensating
- done
- reverted
- dormant
- skipped
- skipped_failure
- timeout
status:
type: string
description: The compensation function's status.
enum:
- idle
- ok
- waiting_response
- temp_failure
- permanent_failure
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
- original_amount_with_tax
- original_amount_without_tax
- 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.
original_amount_with_tax:
type: number
title: original_amount_with_tax
description: The amount of the original price with taxes applied.
original_amount_without_tax:
type: number
title: original_amount_without_tax
description: The amount of the original price without taxes.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/BaseShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments, 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
credit_line_total:
type: number
title: credit_line_total
description: The order's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the order's shipping.
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments.
items:
$ref: '#/components/schemas/BaseOrderShippingMethodAdjustment'
original_total:
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:
- pending_difference
- current_order_total
- original_order_total
- transaction_total
- paid_total
- refunded_total
- accounting_total
properties:
paid_total:
type: number
title: paid_total
description: The total amount paid.
refunded_total:
type: number
title: refunded_total
description: The total amount refunded.
pending_difference:
type: number
title: pending_difference
description: The difference pending to be processed. If negative, the customer needs a refund. Otherwise, additional payment is required from the customer.
current_order_total:
type: number
title: current_order_total
description: The order's current total, could be the total after a change in the order.
original_order_total:
type: number
title: original_order_total
description: The order's original total.
transaction_total:
type: number
title: transaction_total
description: The total of the transactions made on the order.
accounting_total:
type: number
title: accounting_total
description: The order's total without the credit-line total.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
status:
type: string
description: The payment collection's status.
enum:
- canceled
- not_paid
- awaiting
- authorized
- partially_authorized
- completed
- failed
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
required:
- id
- amount
- currency_code
- provider_id
- data
- status
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/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:
- error
- authorized
- canceled
- captured
- pending
- requires_more
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'
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/admin#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
- item_discount_total
- original_total
- original_subtotal
- original_tax_total
- total
- subtotal
- tax_total
- discount_subtotal
- discount_total
- discount_tax_total
- credit_line_total
- gift_card_total
- gift_card_tax_total
- shipping_total
- shipping_subtotal
- shipping_tax_total
- shipping_discount_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.
properties:
pending_difference:
type: number
title: pending_difference
description: The remaining amount to be paid or refunded.
current_order_total:
type: number
title: current_order_total
description: The order's current total.
original_order_total:
type: number
title: original_order_total
description: The order's total before any changes.
transaction_total:
type: number
title: transaction_total
description: The total of the transactions (payments and refunds) made on the order.
paid_total:
type: number
title: paid_total
description: The total paid amount.
refunded_total:
type: number
title: refunded_total
description: The total refunded amount.
credit_line_total:
type: number
title: credit_line_total
description: The total credit line amount.
accounting_total:
type: number
title: accounting_total
description: The total amount for accounting purposes.
raw_pending_difference:
type: object
description: The summary's raw pending difference.
raw_current_order_total:
type: object
description: The summary's raw current order total.
raw_original_order_total:
type: object
description: The summary's raw original order total.
raw_transaction_total:
type: object
description: The summary's raw transaction total.
raw_paid_total:
type: object
description: The summary's raw paid total.
raw_refunded_total:
type: object
description: The summary's raw refunded total.
raw_credit_line_total:
type: object
description: The summary's raw credit line total.
raw_accounting_total:
type: object
description: The summary's raw accounting total.
required:
- pending_difference
- current_order_total
- original_order_total
- transaction_total
- paid_total
- refunded_total
- credit_line_total
- accounting_total
- raw_pending_difference
- raw_current_order_total
- raw_original_order_total
- raw_transaction_total
- raw_paid_total
- raw_refunded_total
- raw_credit_line_total
- raw_accounting_total
metadata:
type: object
description: The order's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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'
is_draft_order:
type: boolean
title: is_draft_order
description: Whether the order is a draft order.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the order was deleted.
credit_line_total:
type: number
title: credit_line_total
description: The order's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the order's shipping.
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
- amount
- 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
amount:
type: number
title: amount
description: The credit line's amount.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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_giftcard
- 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
is_giftcard:
type: boolean
title: is_giftcard
description: Whether the item is a gift card.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
damaged_quantity:
type: number
title: damaged_quantity
description: The item's damaged quantity.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
tax_lines:
type: array
description: The shipping method's tax lines.
items:
$ref: '#/components/schemas/OrderShippingMethodTaxLine'
adjustments:
type: array
description: The shipping method's adjustments.
items:
$ref: '#/components/schemas/OrderShippingMethodAdjustment'
created_at:
type: string
format: date-time
title: created_at
description: The 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
- version
- 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
version:
type: number
title: version
description: The order version that the transaction belongs to.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
StoreAddGiftCardToCart:
type: object
description: The details to add a gift card to the cart.
x-schemaName: StoreAddGiftCardToCart
required:
- code
properties:
code:
type: string
title: code
description: The gift card's code.
StoreAddStoreCreditsToCart:
type: object
description: The details to add store credits to the cart.
x-schemaName: StoreAddStoreCreditsToCart
required:
- amount
properties:
amount:
type: number
title: amount
description: The amount of store credits to add to the cart.
StoreCalculatedPrice:
type: object
description: The shipping option's calculated price.
x-schemaName: StoreCalculatedPrice
required:
- id
- calculated_amount
- original_amount
- original_amount_with_tax
- original_amount_without_tax
- 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.
original_amount_with_tax:
type: number
title: original_amount_with_tax
description: The original amount with taxes applied.
original_amount_without_tax:
type: number
title: original_amount_without_tax
description: The original amount without taxes.
StoreCart:
type: object
description: The cart's details.
x-schemaName: StoreCart
required:
- promotions
- 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
promotions:
type: array
description: The cart's promotions.
items:
$ref: '#/components/schemas/StoreCartPromotion'
StoreCartAddPromotion:
type: object
description: The promotion's details.
required:
- promo_codes
properties:
promo_codes:
type: array
description: Promotion codes to add to the cart.
items:
type: string
title: promo_codes
description: A promotion code.
x-schemaName: StoreCartAddPromotion
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
- 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
original_subtotal:
type: number
title: original_subtotal
description: The item's total excluding taxes, including promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
original_tax_total:
type: number
title: original_tax_total
description: The total taxes of the item excluding promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
item_total:
type: number
title: original_tax_total
description: The item's total including taxes and promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
item_subtotal:
type: number
title: item_subtotal
description: The item's total excluding taxes, including promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
item_tax_total:
type: number
title: item_tax_total
description: The total taxes of the item including promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
total:
type: number
title: total
description: The item's total including taxes and promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
subtotal:
type: number
title: subtotal
description: The item's total excluding taxes, including promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
tax_total:
type: number
title: tax_total
description: The total taxes of the item including promotions. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
discount_total:
type: number
title: discount_total
description: The total discount of the item. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
discount_tax_total:
type: number
title: discount_tax_total
description: The total taxes applied on the discounted amount. This field is only available if you expand the `items.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-cart-item-totals) guide.
StoreCartPromotion:
type: object
description: The promotion's promotions.
x-schemaName: StoreCartPromotion
required:
- id
properties:
id:
type: string
title: id
description: The promotion's ID.
code:
type: string
title: code
description: The promotion's code.
is_automatic:
type: boolean
title: is_automatic
description: The promotion's is automatic.
application_method:
type: object
description: The promotion's application method.
required:
- value
- type
- currency_code
properties:
value:
type: string
title: value
description: The application method's value.
type:
type: string
description: The application method's type.
enum:
- fixed
- percentage
currency_code:
type: string
title: currency_code
description: The application method's currency code.
StoreCartRemovePromotion:
type: object
description: The promotion code to remove from the cart.
x-schemaName: StoreCartRemovePromotion
required:
- promo_codes
properties:
promo_codes:
type: array
description: The promotion code to remove from the cart.
items:
type: string
title: promo_codes
description: A promotion code to remove from the cart.
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
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
original_subtotal:
type: number
title: original_subtotal
description: The shipping method's total excluding taxes, including promotions. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
original_tax_total:
type: number
title: original_tax_total
description: The total taxes applied on the shipping method's amount including promotions. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
total:
type: number
title: total
description: The shipping method's total amount including taxes and promotions. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
subtotal:
type: number
title: subtotal
description: The shipping method's total amount excluding taxes, including promotions. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
tax_total:
type: number
title: tax_total
description: The total taxes applied on the shipping method's amount including promotions. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
discount_total:
type: number
title: discount_total
description: The total amount discounted. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
discount_tax_total:
type: number
title: discount_tax_total
description: The taxes applied on the discounted amount. This field is only available if you expand the `shipping_methods.*` relation. Learn more in the [Cart Totals](https://docs.medusajs.com/resources/storefront-development/cart/totals#retrieve-and-show-shipping-method-totals) guide.
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
- insufficient_inventory
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'
insufficient_inventory:
type: boolean
title: insufficient_inventory
description: Whether the shipping option's location doesn't have sufficient quantity for any of the cart's items.
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
StoreCreateCustomerAddress:
type: object
description: The address's details.
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 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.
province:
type: string
title: province
description: The address's ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
postal_code:
type: string
title: postal_code
description: The address's postal code.
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 by default for shipping during checkout.
is_default_billing:
type: boolean
title: is_default_billing
description: Whether the address is used by default for billing during checkout.
metadata:
type: object
description: Holds custom key-value pairs.
x-schemaName: StoreCreateCustomerAddress
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
StoreGiftCard:
type: object
description: The gift card's details.
x-schemaName: StoreGiftCard
required:
- customer
- line_item
- id
- code
- status
- value
- currency_code
- customer_id
- reference_id
- note
- reference
- expires_at
- created_at
- updated_at
properties:
customer:
$ref: '#/components/schemas/StoreCustomer'
line_item:
$ref: '#/components/schemas/StoreOrderLineItem'
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
description: The gift card's code.
status:
type: string
description: The gift card's status.
enum:
- pending
- redeemed
value:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: A note with more information about the gift card.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
format: date-time
created_at:
type: string
format: date-time
title: created_at
description: The date the gift card was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the gift card was updated.
StoreGiftCardResponse:
type: object
description: The gift card's details.
x-schemaName: StoreGiftCardResponse
required:
- gift_card
properties:
gift_card:
$ref: '#/components/schemas/StoreGiftCard'
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
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
- item_discount_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
- shipping_discount_total
- original_shipping_total
- original_shipping_subtotal
- original_shipping_tax_total
- credit_line_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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
credit_line_total:
type: number
title: credit_line_total
description: The order's credit line total.
item_discount_total:
type: number
title: item_discount_total
description: The total discount amount applied on the order's items.
shipping_discount_total:
type: number
title: shipping_discount_total
description: The total discount amount applied on the order's shipping.
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 lower-case ISO 3166-2 province code.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage 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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
status:
type: string
description: The payment collection's status.
enum:
- canceled
- not_paid
- awaiting
- authorized
- partially_authorized
payment_providers:
type: array
description: The payment 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:
$ref: '#/components/schemas/StoreProductType'
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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:
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
products:
type: array
description: The category's products.
items:
$ref: '#/components/schemas/StoreProduct'
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'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
required:
- id
- value
- created_at
- updated_at
StoreProductTagListResponse:
type: object
description: The paginated list of product tags.
x-schemaName: StoreProductTagListResponse
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 to skip before retrieving the returned items.
count:
type: number
title: count
description: The total number of items available.
product_tags:
type: array
description: The list of product tags.
items:
$ref: '#/components/schemas/StoreProductTag'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
StoreProductTagResponse:
type: object
description: The product tag's details.
x-schemaName: StoreProductTagResponse
required:
- product_tag
properties:
product_tag:
$ref: '#/components/schemas/StoreProductTag'
StoreProductType:
type: object
description: The product type's details.
x-schemaName: StoreProductType
required:
- id
- value
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The product type's ID.
metadata:
type: object
description: The product type's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
created_at:
type: string
format: date-time
title: created_at
description: The date the product type was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the product type was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the product type was deleted.
value:
type: string
title: value
description: The type's value.
StoreProductTypeListResponse:
type: object
description: The paginated list of product types.
x-schemaName: StoreProductTypeListResponse
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 to skip before retrieving the returned items.
count:
type: number
title: count
description: The total number of items available.
product_types:
type: array
description: The list of product types.
items:
$ref: '#/components/schemas/StoreProductType'
estimate_count:
type: number
title: estimate_count
description: The estimated count retrieved from the PostgreSQL query planner, which may be inaccurate.
x-featureFlag: index_engine
StoreProductTypeResponse:
type: object
description: The product type's details.
x-schemaName: StoreProductTypeResponse
required:
- product_type
properties:
product_type:
$ref: '#/components/schemas/StoreProductType'
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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
- manage_inventory
- allow_backorder
- ean
- upc
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
StoreRemoveGiftCardFromCart:
type: object
description: The details to remove a gift card from the cart.
x-schemaName: StoreRemoveGiftCardFromCart
required:
- code
properties:
code:
type: string
title: code
description: The gift card code to remove from the cart.
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:
items:
type: array
description: The return's items.
items:
$ref: '#/components/schemas/StoreReturnItem'
status:
type: string
description: The return's status.
enum:
- received
- canceled
- requested
- open
- partially_received
id:
type: string
title: id
description: The return's ID.
display_id:
type: number
title: display_id
description: The return's display ID.
created_at:
type: string
format: date-time
title: created_at
description: The date the return was created.
order_id:
type: string
title: order_id
description: The ID of the order this return belongs to.
location_id:
type: string
title: location_id
description: The ID of the location the return items are being returned to.
canceled_at:
type: string
title: canceled_at
description: The date the return was canceled.
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.
refund_amount:
type: number
title: refund_amount
description: The amount to be refunded.
received_at:
type: string
title: received_at
description: The date the return items were received.
StoreReturnItem:
type: object
description: The return item's details.
x-schemaName: StoreReturnItem
required:
- id
- quantity
- received_quantity
- damaged_quantity
- item_id
- return_id
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
StoreStoreCreditAccount:
type: object
description: The store credit account's details.
x-schemaName: StoreStoreCreditAccount
required:
- customer
- transaction_groups
- id
- customer_id
- currency_code
- credits
- debits
- balance
- metadata
- created_at
- updated_at
properties:
customer:
$ref: '#/components/schemas/StoreCustomer'
id:
type: string
title: id
description: The store credit account's ID.
customer_id:
type: string
title: customer_id
description: The ID of the customer that the store credit account belongs to.
currency_code:
type: string
title: currency_code
description: The store credit account's currency code.
example: usd
credits:
type: number
title: credits
description: The account's credits.
debits:
type: number
title: debits
description: The account's debits.
balance:
type: number
title: balance
description: The store credit account's balance.
transaction_groups:
type: array
description: The store credit account's transaction groups.
items:
$ref: '#/components/schemas/StoreTransactionGroup'
metadata:
type: object
description: The store credit account's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
created_at:
type: string
format: date-time
title: created_at
description: The date the store credit account was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the store credit account was updated.
StoreStoreCreditAccountResponse:
type: object
description: The store credit account's details.
x-schemaName: StoreStoreCreditAccountResponse
required:
- store_credit_account
properties:
store_credit_account:
$ref: '#/components/schemas/StoreStoreCreditAccount'
StoreStoreCreditAccountsResponse:
type: object
description: The paginated list of store credit accounts.
x-schemaName: StoreStoreCreditAccountsResponse
required:
- limit
- offset
- count
- store_credit_accounts
properties:
limit:
type: number
title: limit
description: The maximum number of store credit accounts to return.
offset:
type: number
title: offset
description: The number of store credit accounts to skip before retrieving the results.
count:
type: number
title: count
description: The total number of store credit accounts available.
store_credit_accounts:
type: array
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/StoreStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
StoreTransactionGroup:
type: object
description: The transaction group's details.
required:
- account
- id
- code
- credits
- debits
- balance
- metadata
properties:
id:
type: string
title: id
description: The transaction group's ID.
code:
type: string
title: code
description: The transaction group's code.
credits:
type: number
title: credits
description: The transaction group's credits.
debits:
type: number
title: debits
description: The transaction group's debits.
balance:
type: number
title: balance
description: The transaction group's balance.
account:
type: object
metadata:
type: object
description: The transaction group's metadata, can hold custom key-value pairs.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
x-schemaName: StoreTransactionGroup
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
StoreUpdateCustomerAddress:
type: object
description: The properties to update in the address.
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 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.
province:
type: string
title: province
description: The address's ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
postal_code:
type: string
title: postal_code
description: The address's postal code.
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 by default for shipping during checkout.
is_default_billing:
type: boolean
title: is_default_billing
description: Whether the address is used by default for billing during checkout.
metadata:
type: object
description: Holds custom key-value pairs.
x-schemaName: StoreUpdateCustomerAddress
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 ISO 3166-2 province code. Must be lower-case.
example: us-ca
externalDocs:
url: https://en.wikipedia.org/wiki/ISO_3166-2
description: Learn more about ISO 3166-2
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
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.
externalDocs:
url: https://docs.medusajs.com/api/store#manage-metadata
description: Learn how to manage metadata
WorkflowExecutionContext:
type: object
description: The workflow execution's context.
x-schemaName: WorkflowExecutionContext
required:
- compensate
- errors
properties:
data:
type: object
description: The context's data.
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:
jwt_token:
type: http
x-displayName: JWT Token
scheme: bearer
cookie_auth:
type: apiKey
x-displayName: Cookie Session ID
in: cookie
name: connect.sid
reset_password:
type: http
x-displayName: Reset Password Token
scheme: bearer
x-is-auth: false