* docs(api-reference): added local server to list of servers * fix publishable api key route
35604 lines
1.1 MiB
35604 lines
1.1 MiB
openapi: 3.0.0
|
||
info:
|
||
version: 1.0.0
|
||
title: Medusa Admin API
|
||
license:
|
||
name: MIT
|
||
url: https://github.com/medusajs/medusa/blob/master/LICENSE
|
||
tags:
|
||
- name: Apps Oauth
|
||
description: >
|
||
Some plugins may require to authenticate with third-party services and
|
||
store authentication details, such as the authentication token. To do
|
||
that, they can create an Oauth provider within the plugin that handles the
|
||
authentication.
|
||
|
||
The Apps Oauth API Routes allows admins to manage and generate token for
|
||
an app using its oauth provider.
|
||
- name: Auth
|
||
description: >
|
||
Authentication API Routes allow admin users to manage their session, such
|
||
as login or log out.
|
||
|
||
When an admin user is logged in, the cookie header is set indicating the
|
||
admin's login session.
|
||
externalDocs:
|
||
description: How to implement user profiles
|
||
url: https://docs.medusajs.com/modules/users/admin/manage-profile
|
||
- name: Batch Jobs
|
||
description: >
|
||
A batch job is a task that is performed by the Medusa backend
|
||
asynchronusly. For example, the Import Product feature is implemented
|
||
using batch jobs.
|
||
|
||
Batch Job API Routes allows admins to manage the batch jobs and their
|
||
state.
|
||
externalDocs:
|
||
description: How to import products
|
||
url: https://docs.medusajs.com/modules/products/admin/import-products
|
||
- name: Currencies
|
||
description: >
|
||
A store can use unlimited currencies, and each region must be associated
|
||
with at least one currency.
|
||
|
||
Currencies are defined within the Medusa backend. Currency API Routes
|
||
allow admins to list and update currencies.
|
||
externalDocs:
|
||
description: How to manage currencies
|
||
url: >-
|
||
https://docs.medusajs.com/modules/regions-and-currencies/admin/manage-currencies
|
||
- name: Customers
|
||
description: >
|
||
Customers can either be created when they register through the Store APIs,
|
||
or created by the admin using the Admin APIs.
|
||
externalDocs:
|
||
description: How to manage customers
|
||
url: https://docs.medusajs.com/modules/customers/admin/manage-customers
|
||
- name: Customer Groups
|
||
description: >
|
||
Customer Groups can be used to organize customers that share similar data
|
||
or attributes into dedicated groups.
|
||
|
||
This can be useful for different purposes such as setting a different
|
||
price for a specific customer group.
|
||
externalDocs:
|
||
description: How to manage customer groups
|
||
url: https://docs.medusajs.com/modules/customers/admin/manage-customer-groups
|
||
- name: Discounts
|
||
description: >
|
||
Admins can create discounts with conditions and rules, providing them with
|
||
advanced settings for variety of cases.
|
||
|
||
The Discount API Routes can be used to manage discounts, their conditions,
|
||
resources, and more.
|
||
externalDocs:
|
||
description: How to manage discounts
|
||
url: https://docs.medusajs.com/modules/discounts/admin/manage-discounts
|
||
- name: Draft Orders
|
||
description: >
|
||
A draft order is an order created manually by the admin. It allows admins
|
||
to create orders without direct involvement from the customer.
|
||
externalDocs:
|
||
description: How to manage draft orders
|
||
url: https://docs.medusajs.com/modules/orders/admin/manage-draft-orders
|
||
- name: Gift Cards
|
||
description: >
|
||
Admins can create gift cards and send them directly to customers,
|
||
specifying options like their balance, region, and more.
|
||
|
||
These gift cards are different than the saleable gift cards in a store,
|
||
which are created and managed through Product API Routes.
|
||
externalDocs:
|
||
description: How to manage gift cards
|
||
url: >-
|
||
https://docs.medusajs.com/modules/gift-cards/admin/manage-gift-cards#manage-custom-gift-cards
|
||
- name: Inventory Items
|
||
description: >
|
||
Inventory items, provided by the [Inventory
|
||
Module](https://docs.medusajs.com/modules/multiwarehouse/inventory-module),
|
||
can be used to manage the inventory of saleable items in your store.
|
||
externalDocs:
|
||
description: How to manage inventory items
|
||
url: >-
|
||
https://docs.medusajs.com/modules/multiwarehouse/admin/manage-inventory-items
|
||
- name: Invites
|
||
description: >
|
||
An admin can invite new users to manage their team. This would allow new
|
||
users to authenticate as admins and perform admin functionalities.
|
||
externalDocs:
|
||
description: How to manage invites
|
||
url: https://docs.medusajs.com/modules/users/admin/manage-invites
|
||
- name: Notes
|
||
description: >
|
||
Notes are created by admins and can be associated with any resource. For
|
||
example, an admin can add a note to an order for additional details or
|
||
remarks.
|
||
- name: Notifications
|
||
description: >
|
||
Notifications are sent to customers to inform them of new updates. For
|
||
example, a notification can be sent to the customer when their order is
|
||
place or its state is updated.
|
||
|
||
The notification's type, such as an email or SMS, is determined by the
|
||
notification provider installed on the Medusa backend.
|
||
- name: Orders
|
||
description: >
|
||
Orders are purchases made by customers, typically through a storefront
|
||
using the Store API. Draft orders created by the admin are also
|
||
transformed to an Order once the payment is captured.
|
||
|
||
Managing orders include managing fulfillment, payment, claims,
|
||
reservations, and more.
|
||
externalDocs:
|
||
description: How to manage orders
|
||
url: https://docs.medusajs.com/modules/orders/admin/manage-orders
|
||
- name: Order Edits
|
||
description: >
|
||
An admin can edit an order to remove, add, or update an item's quantity.
|
||
When an admin edits an order, they're stored as an `OrderEdit`.
|
||
externalDocs:
|
||
description: How to edit an order
|
||
url: https://docs.medusajs.com/modules/orders/admin/edit-order
|
||
- name: Payments
|
||
description: >
|
||
A payment can be related to an order, swap, return, or more. It can be
|
||
captured or refunded.
|
||
- name: Payment Collections
|
||
description: >
|
||
A payment collection is useful for managing additional payments, such as
|
||
for Order Edits, or installment payments.
|
||
- name: Price Lists
|
||
description: >
|
||
A price list are special prices applied to products based on a set of
|
||
conditions, such as customer group.
|
||
externalDocs:
|
||
description: How to manage price lists
|
||
url: https://docs.medusajs.com/modules/price-lists/admin/manage-price-lists
|
||
- name: Products
|
||
description: >
|
||
Products are saleable items in a store. This also includes [saleable gift
|
||
cards](https://docs.medusajs.com/modules/gift-cards/admin/manage-gift-cards#manage-gift-card-product)
|
||
in a store.
|
||
externalDocs:
|
||
description: How to manage products
|
||
url: https://docs.medusajs.com/modules/products/admin/manage-products
|
||
- name: Product Categories
|
||
description: >
|
||
Products can be categoriezed into categories. A product can be added into
|
||
more than one category.
|
||
externalDocs:
|
||
description: How to manage product categories
|
||
url: https://docs.medusajs.com/modules/products/admin/manage-categories
|
||
- name: Product Collections
|
||
description: >
|
||
A product collection is used to organize products for different purposes
|
||
such as marketing or discount purposes. For example, you can create a
|
||
Summer Collection.
|
||
- name: Product Tags
|
||
description: >
|
||
Product tags are string values created when you create or update a product
|
||
with a new tag.
|
||
|
||
Products can have more than one tag, and products can share tags. This
|
||
allows admins to associate products to similar tags that can be used to
|
||
filter products.
|
||
- name: Product Types
|
||
description: >
|
||
Product types are string values created when you create or update a
|
||
product with a new type.
|
||
|
||
Products can have one type, and products can share types. This allows
|
||
admins to associate products with a type that can be used to filter
|
||
products.
|
||
- name: Product Variants
|
||
description: >
|
||
Product variants are the actual salable item in your store. Each variant
|
||
is a combination of the different option values available on the product.
|
||
|
||
Product variants can be managed through the Products API Routes.
|
||
externalDocs:
|
||
description: How to manage product variants
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#manage-product-variants
|
||
- name: Publishable API Keys
|
||
description: >
|
||
Publishable API Keys can be used to scope Store API calls with an API key,
|
||
determining what resources are retrieved when querying the API.
|
||
|
||
For example, a publishable API key can be associated with one or more
|
||
sales channels. When it is passed in the header of a request to the List
|
||
Product store API Route,
|
||
|
||
the sales channels are inferred from the key and only products associated
|
||
with those sales channels are retrieved.
|
||
|
||
Admins can manage publishable API keys and their associated resources.
|
||
Currently, only Sales Channels are supported as a resource.
|
||
externalDocs:
|
||
description: How to manage publishable API keys
|
||
url: >-
|
||
https://docs.medusajs.com/development/publishable-api-keys/admin/manage-publishable-api-keys
|
||
- name: Reservations
|
||
description: >
|
||
Reservations, provided by the [Inventory
|
||
Module](https://docs.medusajs.com/modules/multiwarehouse/inventory-module),
|
||
are quantities of an item that are reserved, typically when an order is
|
||
placed but not yet fulfilled.
|
||
|
||
Reservations can be associated with any resources, but commonly with line
|
||
items of an order.
|
||
externalDocs:
|
||
description: How to manage item allocations in orders
|
||
url: >-
|
||
https://docs.medusajs.com/modules/multiwarehouse/admin/manage-item-allocations-in-orders
|
||
- name: Regions
|
||
description: >
|
||
Regions are different countries or geographical regions that the commerce
|
||
store serves customers in.
|
||
|
||
Admins can manage these regions, their providers, and more.
|
||
externalDocs:
|
||
description: How to manage regions
|
||
url: >-
|
||
https://docs.medusajs.com/modules/regions-and-currencies/admin/manage-regions
|
||
- name: Return Reasons
|
||
description: >
|
||
Return reasons are key-value pairs that are used to specify why an order
|
||
return is being created.
|
||
|
||
Admins can manage available return reasons, and they can be used by both
|
||
admins and customers when creating a return.
|
||
externalDocs:
|
||
description: How to manage return reasons
|
||
url: >-
|
||
https://docs.medusajs.com/modules/orders/admin/manage-returns#manage-return-reasons
|
||
- name: Returns
|
||
description: >
|
||
A return can be created by a customer or an admin to return items in an
|
||
order.
|
||
|
||
Admins can manage these returns and change their state.
|
||
externalDocs:
|
||
description: How to manage returns
|
||
url: https://docs.medusajs.com/modules/orders/admin/manage-returns
|
||
- name: Sales Channels
|
||
description: >
|
||
A sales channel indicates a channel where products can be sold in. For
|
||
example, a webshop or a mobile app.
|
||
|
||
Admins can manage sales channels and the products available in them.
|
||
externalDocs:
|
||
description: How to manage sales channels
|
||
url: https://docs.medusajs.com/modules/sales-channels/admin/manage
|
||
- name: Shipping Options
|
||
description: >
|
||
A shipping option is used to define the available shipping methods during
|
||
checkout or when creating a return.
|
||
|
||
Admins can create an unlimited number of shipping options, each associated
|
||
with a shipping profile and fulfillment provider, among other resources.
|
||
externalDocs:
|
||
description: Shipping Option architecture
|
||
url: >-
|
||
https://docs.medusajs.com/modules/carts-and-checkout/shipping#shipping-option
|
||
- name: Shipping Profiles
|
||
description: >
|
||
A shipping profile is used to group products that can be shipped in the
|
||
same manner.
|
||
|
||
They are created by the admin and they're not associated with a
|
||
fulfillment provider.
|
||
externalDocs:
|
||
description: Shipping Option architecture
|
||
url: >-
|
||
https://docs.medusajs.com/modules/carts-and-checkout/shipping#shipping-profile
|
||
- name: Stock Locations
|
||
description: >
|
||
A stock location, provided by the [Stock Location
|
||
module](https://docs.medusajs.com/modules/multiwarehouse/stock-location-module),
|
||
indicates a physical address that stock-kept items, such as physical
|
||
products, can be stored in.
|
||
|
||
An admin can create and manage available stock locations.
|
||
externalDocs:
|
||
description: How to manage stock locations.
|
||
url: >-
|
||
https://docs.medusajs.com/modules/multiwarehouse/admin/manage-stock-locations
|
||
- name: Store
|
||
description: >
|
||
A store indicates the general configurations and details about the
|
||
commerce store. By default, there's only one store in the Medusa backend.
|
||
|
||
Admins can manage the store and its details or configurations.
|
||
- name: Swaps
|
||
description: >
|
||
A swap is created by a customer or an admin to exchange an item with a new
|
||
one.
|
||
|
||
Creating a swap implicitely includes creating a return for the item being
|
||
exchanged.
|
||
externalDocs:
|
||
description: How to manage swaps
|
||
url: https://docs.medusajs.com/modules/orders/admin/manage-swaps
|
||
- name: Tax Rates
|
||
description: >
|
||
Each region has at least a default tax rate. Admins can create and manage
|
||
additional tax rates that can be applied for certain conditions, such as
|
||
for specific product types.
|
||
externalDocs:
|
||
description: How to manage tax rates
|
||
url: https://docs.medusajs.com/modules/taxes/admin/manage-tax-rates
|
||
- name: Uploads
|
||
description: >
|
||
The upload API Routes are used to upload any type of resources. For
|
||
example, they can be used to upload CSV files that are used to import
|
||
products into the store.
|
||
externalDocs:
|
||
description: How to upload CSV file when importing a product.
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/import-products#1-upload-csv-file
|
||
- name: Users
|
||
description: >
|
||
A store can have more than one user, each having the same privileges.
|
||
Admins can manage users, their passwords, and more.
|
||
externalDocs:
|
||
description: How to manage users
|
||
url: https://docs.medusajs.com/modules/users/admin/manage-users
|
||
servers:
|
||
- url: http://localhost:9000
|
||
- url: https://api.medusa-commerce.com
|
||
paths:
|
||
/admin/apps:
|
||
get:
|
||
operationId: GetApps
|
||
summary: List Applications
|
||
description: Retrieve a list of applications registered in the Medusa backend.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
x-codeSamples:
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/apps' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Apps Oauth
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminAppsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/apps/authorizations:
|
||
post:
|
||
operationId: PostApps
|
||
summary: Generate Token for App
|
||
description: >-
|
||
Use an app's Oauth provider to generate and store a new token for
|
||
authentication.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostAppsReq'
|
||
x-codegen:
|
||
method: authorize
|
||
x-codeSamples:
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/apps/authorizations' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"application_name": "example",
|
||
"state": "ready",
|
||
"code": "token"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Apps Oauth
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminAppsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/auth:
|
||
get:
|
||
operationId: GetAuth
|
||
summary: Get Current User
|
||
x-authenticated: true
|
||
description: Get the currently logged in user's details.
|
||
x-codegen:
|
||
method: getSession
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.auth.getSession()
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/auth' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Auth
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminAuthRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostAuth
|
||
summary: User Login
|
||
x-authenticated: false
|
||
description: >-
|
||
Log a User in and includes the Cookie session in the response header.
|
||
The cookie session can be used in subsequent requests to authorize the
|
||
user to perform admin functionalities. When using Medusa's JS or Medusa
|
||
React clients, the cookie is automatically attached to subsequent
|
||
requests.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostAuthReq'
|
||
x-codegen:
|
||
method: createSession
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
medusa.admin.auth.createSession({
|
||
email: "user@example.com",
|
||
password: "supersecret"
|
||
})
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/auth' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com",
|
||
"password": "supersecret"
|
||
}'
|
||
tags:
|
||
- Auth
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminAuthRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/incorrect_credentials'
|
||
'404':
|
||
$ref: '#/components/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: DeleteAuth
|
||
summary: User Logout
|
||
x-authenticated: true
|
||
description: >-
|
||
Delete the current session for the logged in user. This will only work
|
||
if you're using Cookie session for authentication. If the API token is
|
||
still passed in the header, the user is still authorized to perform
|
||
admin functionalities in other API Routes.
|
||
x-codegen:
|
||
method: deleteSession
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in
|
||
|
||
medusa.admin.auth.deleteSession()
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/auth' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Auth
|
||
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'
|
||
/admin/auth/token:
|
||
post:
|
||
operationId: PostToken
|
||
summary: User Login (JWT)
|
||
x-authenticated: false
|
||
description: >-
|
||
After a successful login, a JWT token is returned, which can be used to
|
||
send authenticated requests.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostAuthReq'
|
||
x-codegen:
|
||
method: getToken
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
medusa.admin.auth.getToken({
|
||
email: 'user@example.com',
|
||
password: 'supersecret'
|
||
})
|
||
|
||
.then(({ access_token }) => {
|
||
console.log(access_token);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/auth/token' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com",
|
||
"password": "supersecret"
|
||
}'
|
||
tags:
|
||
- Auth
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBearerAuthRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/incorrect_credentials'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/batch-jobs:
|
||
get:
|
||
operationId: GetBatchJobs
|
||
summary: List Batch Jobs
|
||
description: >-
|
||
Retrieve a list of Batch Jobs. The batch jobs can be filtered by fields
|
||
such as `type` or `confirmed_at`. The batch jobs can also be sorted or
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of batch jobs returned.
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
- in: query
|
||
name: offset
|
||
description: The number of batch jobs to skip when retrieving the batch jobs.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by the batch ID
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: batch job ID
|
||
- type: array
|
||
description: multiple batch job IDs
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: type
|
||
style: form
|
||
explode: false
|
||
description: Filter by the batch type
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: confirmed_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a confirmation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: pre_processed_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a pre-processing date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: completed_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a completion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: failed_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a failure date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: canceled_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a cancelation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: order
|
||
description: A batch-job field to sort-order the retrieved batch jobs by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
batch jobs.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned batch
|
||
jobs.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
style: form
|
||
explode: false
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetBatchParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.batchJobs.list()
|
||
|
||
.then(({ batch_jobs, limit, offset, count }) => {
|
||
console.log(batch_jobs.length)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/batch-jobs' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Batch Jobs
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBatchJobListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostBatchJobs
|
||
summary: Create a Batch Job
|
||
description: >-
|
||
Create a Batch Job to be executed asynchronously in the Medusa backend.
|
||
If `dry_run` is set to `true`, the batch job will not be executed until
|
||
the it is confirmed, which can be done using the Confirm Batch Job API
|
||
Route.
|
||
externalDocs:
|
||
description: How to create a batch job
|
||
url: >-
|
||
https://docs.medusajs.com/development/batch-jobs/create#create-batch-job
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostBatchesReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.batchJobs.create({
|
||
type: 'product-export',
|
||
context: {},
|
||
dry_run: false
|
||
}).then((({ batch_job }) => {
|
||
console.log(batch_job.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/batch-jobs' \
|
||
-H 'Content-Type: application/json' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
--data-raw '{
|
||
"type": "product-export",
|
||
"context": { }
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Batch Jobs
|
||
responses:
|
||
'201':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBatchJobRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/batch-jobs/{id}:
|
||
get:
|
||
operationId: GetBatchJobsBatchJob
|
||
summary: Get a Batch Job
|
||
description: Retrieve the details of a batch job.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Batch Job
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.batchJobs.retrieve(batchJobId)
|
||
|
||
.then(({ batch_job }) => {
|
||
console.log(batch_job.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/batch-jobs/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Batch Jobs
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBatchJobRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/batch-jobs/{id}/cancel:
|
||
post:
|
||
operationId: PostBatchJobsBatchJobCancel
|
||
summary: Cancel a Batch Job
|
||
description: >-
|
||
Mark a batch job as canceled. When a batch job is canceled, the
|
||
processing of the batch job doesn’t automatically stop.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the batch job.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.batchJobs.cancel(batchJobId)
|
||
|
||
.then(({ batch_job }) => {
|
||
console.log(batch_job.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/batch-jobs/{id}/cancel' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Batch Jobs
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBatchJobRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/batch-jobs/{id}/confirm:
|
||
post:
|
||
operationId: PostBatchJobsBatchJobConfirmProcessing
|
||
summary: Confirm a Batch Job
|
||
description: >-
|
||
When a batch job is created, it is not executed automatically if
|
||
`dry_run` is set to `true`. This API Route confirms that the batch job
|
||
should be executed.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the batch job.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: confirm
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.batchJobs.confirm(batchJobId)
|
||
|
||
.then(({ batch_job }) => {
|
||
console.log(batch_job.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/batch-jobs/{id}/confirm' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Batch Jobs
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminBatchJobRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/collections:
|
||
get:
|
||
operationId: GetCollections
|
||
summary: List Collections
|
||
description: >-
|
||
Retrieve a list of Product Collection. The product collections can be
|
||
filtered by fields such as `handle` or `title`. The collections can also
|
||
be sorted or paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: The number of collections to return.
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
- in: query
|
||
name: offset
|
||
description: The number of collections to skip when retrieving the collections.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: title
|
||
description: Filter collections by their title.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: handle
|
||
description: Filter collections by their handle.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: a term to search collections by their title or handle.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: discount_condition_id
|
||
description: Filter collections by a discount condition ID associated with them.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetCollectionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.list()
|
||
|
||
.then(({ collections, limit, offset, count }) => {
|
||
console.log(collections.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/collections' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostCollections
|
||
summary: Create a Collection
|
||
description: Create a Product Collection.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCollectionsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.create({
|
||
title: "New Collection"
|
||
})
|
||
|
||
.then(({ collection }) => {
|
||
console.log(collection.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/collections' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "New Collection"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/collections/{id}:
|
||
get:
|
||
operationId: GetCollectionsCollection
|
||
summary: Get a Collection
|
||
description: >-
|
||
Retrieve a Product Collection by its ID. The products associated with it
|
||
are expanded and returned as well.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Collection
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.retrieve(collectionId)
|
||
|
||
.then(({ collection }) => {
|
||
console.log(collection.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostCollectionsCollection
|
||
summary: Update a Collection
|
||
description: Update a Product Collection's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Collection.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCollectionsCollectionReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.update(collectionId, {
|
||
title: "New Collection"
|
||
})
|
||
|
||
.then(({ collection }) => {
|
||
console.log(collection.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "New Collection"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteCollectionsCollection
|
||
summary: Delete a Collection
|
||
description: Delete a Product Collection. This does not delete associated products.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Collection.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.delete(collectionId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/collections/{id}/products/batch:
|
||
post:
|
||
operationId: PostProductsToCollection
|
||
summary: Add Products to Collection
|
||
description: Add products to a product collection.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the product collection.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsToCollectionReq'
|
||
x-codegen:
|
||
method: addProducts
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.addProducts(collectionId, {
|
||
product_ids: [
|
||
productId1,
|
||
productId2
|
||
]
|
||
})
|
||
|
||
.then(({ collection }) => {
|
||
console.log(collection.products)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/collections/{id}/products/batch' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"product_ids": [
|
||
"prod_01G1G5V2MBA328390B5AXJ610F"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductsFromCollection
|
||
summary: Remove Products from Collection
|
||
description: >-
|
||
Remove a list of products from a collection. This would not delete the
|
||
product, only the association between the product and the collection.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Collection.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteProductsFromCollectionReq'
|
||
x-codegen:
|
||
method: removeProducts
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.collections.removeProducts(collectionId, {
|
||
product_ids: [
|
||
productId1,
|
||
productId2
|
||
]
|
||
})
|
||
|
||
.then(({ id, object, removed_products }) => {
|
||
console.log(removed_products)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE '{backend_url}/admin/collections/{id}/products/batch'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
"prod_01G1G5V2MBA328390B5AXJ610F"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteProductsFromCollectionRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/currencies:
|
||
get:
|
||
operationId: GetCurrencies
|
||
summary: List Currency
|
||
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: true
|
||
parameters:
|
||
- in: query
|
||
name: code
|
||
description: filter by currency code.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: includes_tax
|
||
description: filter currencies by whether they include taxes or not.
|
||
schema:
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
- in: query
|
||
name: order
|
||
description: A field to sort order the retrieved currencies by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: The number of currencies to skip when retrieving the currencies.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: limit
|
||
description: The number of currencies to return.
|
||
schema:
|
||
type: number
|
||
default: '20'
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetCurrenciesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.currencies.list()
|
||
|
||
.then(({ currencies, count, offset, limit }) => {
|
||
console.log(currencies.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/currencies' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Currencies
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCurrenciesListRes'
|
||
/admin/currencies/{code}:
|
||
post:
|
||
operationId: PostCurrenciesCurrency
|
||
summary: Update a Currency
|
||
description: Update a Currency's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: code
|
||
required: true
|
||
description: The code of the Currency.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCurrenciesCurrencyReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.currencies.update(code, {
|
||
includes_tax: true
|
||
})
|
||
|
||
.then(({ currency }) => {
|
||
console.log(currency.code);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/currencies/{code}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"includes_tax": true
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Currencies
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCurrenciesRes'
|
||
/admin/customer-groups:
|
||
get:
|
||
operationId: GetCustomerGroups
|
||
summary: List Customer Groups
|
||
description: >-
|
||
Retrieve a list of customer groups. The customer groups can be filtered
|
||
by fields such as `name` or `id. The customer groups can also be sorted
|
||
or paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: term to search customer groups by name.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of customer groups to skip when retrieving the customer
|
||
groups.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: order
|
||
description: A field to sort order the retrieved customer groups by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: discount_condition_id
|
||
description: Filter by discount condition ID.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by the customer group ID
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: customer group ID
|
||
- type: array
|
||
description: an array of customer group IDs
|
||
items:
|
||
type: string
|
||
- type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by IDs less than this ID
|
||
gt:
|
||
type: string
|
||
description: filter by IDs greater than this ID
|
||
lte:
|
||
type: string
|
||
description: filter by IDs less than or equal to this ID
|
||
gte:
|
||
type: string
|
||
description: filter by IDs greater than or equal to this ID
|
||
- in: query
|
||
name: name
|
||
style: form
|
||
explode: false
|
||
description: Filter by the customer group name
|
||
schema:
|
||
type: array
|
||
description: an array of customer group names
|
||
items:
|
||
type: string
|
||
description: customer group name
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: limit
|
||
description: The number of customer groups to return.
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customer groups.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetCustomerGroupsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.list()
|
||
|
||
.then(({ customer_groups, limit, offset, count }) => {
|
||
console.log(customer_groups.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/customer-groups' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostCustomerGroups
|
||
summary: Create a Customer Group
|
||
description: Creates a Customer Group.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCustomerGroupsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.create({
|
||
name: "VIP"
|
||
})
|
||
|
||
.then(({ customer_group }) => {
|
||
console.log(customer_group.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/customer-groups' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "VIP"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/customer-groups/{id}:
|
||
get:
|
||
operationId: GetCustomerGroupsGroup
|
||
summary: Get a Customer Group
|
||
description: >-
|
||
Retrieve a Customer Group by its ID. You can expand the customer group's
|
||
relations or select the fields that should be returned.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Customer Group.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customer group.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
customer group.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetCustomerGroupsGroupParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.retrieve(customerGroupId)
|
||
|
||
.then(({ customer_group }) => {
|
||
console.log(customer_group.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/customer-groups/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostCustomerGroupsGroup
|
||
summary: Update a Customer Group
|
||
description: Update a Customer Group's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the customer group.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCustomerGroupsGroupReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.update(customerGroupId, {
|
||
name: "VIP"
|
||
})
|
||
|
||
.then(({ customer_group }) => {
|
||
console.log(customer_group.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/customer-groups/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "VIP"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteCustomerGroupsCustomerGroup
|
||
summary: Delete a Customer Group
|
||
description: >-
|
||
Delete a customer group. This doesn't delete the customers associated
|
||
with the customer group.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Customer Group
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.delete(customerGroupId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/customer-groups/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/customer-groups/{id}/customers:
|
||
get:
|
||
operationId: GetCustomerGroupsGroupCustomers
|
||
summary: List Customers
|
||
description: >-
|
||
Retrieve a list of customers in a customer group. The customers can be
|
||
filtered by the `q` field. The customers can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the customer group.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: limit
|
||
description: The number of customers to return.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: offset
|
||
description: The number of customers to skip when retrieving the customers.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customers.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: a term to search customers by email, first_name, and last_name.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: listCustomers
|
||
queryParams: AdminGetGroupsGroupCustomersParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.listCustomers(customerGroupId)
|
||
|
||
.then(({ customers }) => {
|
||
console.log(customers.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/customer-groups/{id}/customers' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomersListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/customer-groups/{id}/customers/batch:
|
||
post:
|
||
operationId: PostCustomerGroupsGroupCustomersBatch
|
||
summary: Add Customers to Group
|
||
description: Add a list of customers to a customer group.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the customer group.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostCustomerGroupsGroupCustomersBatchReq
|
||
x-codegen:
|
||
method: addCustomers
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.addCustomers(customerGroupId, {
|
||
customer_ids: [
|
||
{
|
||
id: customerId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ customer_group }) => {
|
||
console.log(customer_group.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/customer-groups/{id}/customers/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"customer_ids": [
|
||
{
|
||
"id": "cus_01G2Q4BS9GAHDBMDEN4ZQZCJB2"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteCustomerGroupsGroupCustomerBatch
|
||
summary: Remove Customers from Group
|
||
description: >-
|
||
Remove a list of customers from a customer group. This doesn't delete
|
||
the customer, only the association between the customer and the customer
|
||
group.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the customer group.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteCustomerGroupsGroupCustomerBatchReq
|
||
x-codegen:
|
||
method: removeCustomers
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customerGroups.removeCustomers(customerGroupId, {
|
||
customer_ids: [
|
||
{
|
||
id: customerId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ customer_group }) => {
|
||
console.log(customer_group.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/customer-groups/{id}/customers/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"customer_ids": [
|
||
{
|
||
"id": "cus_01G2Q4BS9GAHDBMDEN4ZQZCJB2"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customer Groups
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomerGroupsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/customers:
|
||
get:
|
||
operationId: GetCustomers
|
||
summary: List Customers
|
||
description: >-
|
||
Retrieve a list of Customers. The customers can be filtered by fields
|
||
such as `q` or `groups`. The customers can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: The number of customers to return.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: offset
|
||
description: The number of customers to skip when retrieving the customers.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customer.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: term to search customers' email, first_name, and last_name fields.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: groups
|
||
style: form
|
||
explode: false
|
||
description: Filter by customer group IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetCustomersParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customers.list()
|
||
|
||
.then(({ customers, limit, offset, count }) => {
|
||
console.log(customers.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/customers' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customers
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomersListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostCustomers
|
||
summary: Create a Customer
|
||
description: Allow admins to create a customer.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCustomersReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customers.create({
|
||
email: "user@example.com",
|
||
first_name: "Caterina",
|
||
last_name: "Yost",
|
||
password: "supersecret"
|
||
})
|
||
|
||
.then(({ customer }) => {
|
||
console.log(customer.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/customers' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com",
|
||
"first_name": "Caterina",
|
||
"last_name": "Yost",
|
||
"password": "supersecret"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customers
|
||
responses:
|
||
'201':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/customers/{id}:
|
||
get:
|
||
operationId: GetCustomersCustomer
|
||
summary: Get a Customer
|
||
description: Retrieve the details of a customer.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Customer.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customer.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
customer.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customers.retrieve(customerId)
|
||
|
||
.then(({ customer }) => {
|
||
console.log(customer.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/customers/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customers
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostCustomersCustomer
|
||
summary: Update a Customer
|
||
description: Update a Customer's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Customer.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
customer.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be retrieved in the returned
|
||
customer.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostCustomersCustomerReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.customers.update(customerId, {
|
||
first_name: "Dolly"
|
||
})
|
||
|
||
.then(({ customer }) => {
|
||
console.log(customer.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/customers/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"first_name": "Dolly"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Customers
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCustomersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts:
|
||
get:
|
||
operationId: GetDiscounts
|
||
summary: List Discounts
|
||
x-authenticated: true
|
||
description: >-
|
||
Retrieve a list of Discounts. The discounts can be filtered by fields
|
||
such as `rule` or `is_dynamic`. The discounts can also be paginated.
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: term to search discounts' code field.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: rule
|
||
description: Filter discounts by rule fields.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
type:
|
||
type: string
|
||
enum:
|
||
- fixed
|
||
- percentage
|
||
- free_shipping
|
||
description: Filter discounts by type.
|
||
allocation:
|
||
type: string
|
||
enum:
|
||
- total
|
||
- item
|
||
description: Filter discounts by allocation type.
|
||
- in: query
|
||
name: is_dynamic
|
||
description: Filter discounts by whether they're dynamic or not.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: is_disabled
|
||
description: Filter discounts by whether they're disabled or not.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: limit
|
||
description: The number of discounts to return
|
||
schema:
|
||
type: number
|
||
default: '20'
|
||
- in: query
|
||
name: offset
|
||
description: The number of discounts to skip when retrieving the discounts.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in each returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetDiscountsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.list()
|
||
|
||
.then(({ discounts, limit, offset, count }) => {
|
||
console.log(discounts.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/discounts' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostDiscounts
|
||
summary: Create a Discount
|
||
x-authenticated: true
|
||
description: >-
|
||
Create a Discount with a given set of rules that defines how the
|
||
Discount is applied.
|
||
parameters:
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be retrieved in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDiscountsReq'
|
||
x-codegen:
|
||
method: create
|
||
queryParams: AdminPostDiscountsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
import { AllocationType, DiscountRuleType } from "@medusajs/medusa"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.create({
|
||
code: "TEST",
|
||
rule: {
|
||
type: DiscountRuleType.FIXED,
|
||
value: 10,
|
||
allocation: AllocationType.ITEM
|
||
},
|
||
regions: ["reg_XXXXXXXX"],
|
||
is_dynamic: false,
|
||
is_disabled: false
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/discounts' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"code": "TEST",
|
||
"rule": {
|
||
"type": "fixed",
|
||
"value": 10,
|
||
"allocation": "item"
|
||
},
|
||
"regions": ["reg_XXXXXXXX"]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/code/{code}:
|
||
get:
|
||
operationId: GetDiscountsDiscountCode
|
||
summary: Get Discount by Code
|
||
description: Retrieve a Discount's details by its discount code
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: code
|
||
required: true
|
||
description: The code of the Discount
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieveByCode
|
||
queryParams: AdminGetDiscountsDiscountCodeParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.retrieveByCode(code)
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/discounts/code/{code}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{discount_id}/conditions:
|
||
post:
|
||
operationId: PostDiscountsDiscountConditions
|
||
summary: Create a Condition
|
||
description: >-
|
||
Create a Discount Condition. Only one of `products`, `product_types`,
|
||
`product_collections`, `product_tags`, and `customer_groups` should be
|
||
provided, based on the type of discount condition. For example, if the
|
||
discount condition's type is `products`, the `products` field should be
|
||
provided in the request body.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDiscountsDiscountConditions'
|
||
x-codegen:
|
||
method: createCondition
|
||
queryParams: AdminPostDiscountsDiscountConditionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
import { DiscountConditionOperator } from "@medusajs/medusa"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.createCondition(discountId, {
|
||
operator: DiscountConditionOperator.IN
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/discounts/{id}/conditions' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"operator": "in"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{discount_id}/conditions/{condition_id}:
|
||
get:
|
||
operationId: GetDiscountsDiscountConditionsCondition
|
||
summary: Get a Condition
|
||
description: Retrieve a Discount Condition's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the Discount.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: condition_id
|
||
required: true
|
||
description: The ID of the Discount Condition.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount condition.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount condition.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: getCondition
|
||
queryParams: AdminGetDiscountsDiscountConditionsConditionParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.getCondition(discountId, conditionId)
|
||
|
||
.then(({ discount_condition }) => {
|
||
console.log(discount_condition.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl '{backend_url}/admin/discounts/{id}/conditions/{condition_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountConditionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostDiscountsDiscountConditionsCondition
|
||
summary: Update a Condition
|
||
description: >-
|
||
Update a Discount Condition. Only one of `products`, `product_types`,
|
||
`product_collections`, `product_tags`, and `customer_groups` should be
|
||
provided, based on the type of discount condition. For example, if the
|
||
discount condition's type is `products`, the `products` field should be
|
||
provided in the request body.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the Discount.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: condition_id
|
||
required: true
|
||
description: The ID of the Discount Condition.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostDiscountsDiscountConditionsCondition
|
||
x-codegen:
|
||
method: updateCondition
|
||
queryParams: AdminPostDiscountsDiscountConditionsConditionParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.updateCondition(discountId, conditionId, {
|
||
products: [
|
||
productId
|
||
]
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/discounts/{id}/conditions/{condition}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"products": [
|
||
"prod_01G1G5V2MBA328390B5AXJ610F"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDiscountsDiscountConditionsCondition
|
||
summary: Delete a Condition
|
||
description: >-
|
||
Deletes a Discount Condition. This does not delete resources associated
|
||
to the discount condition.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the Discount
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: condition_id
|
||
required: true
|
||
description: The ID of the Discount Condition
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteCondition
|
||
queryParams: AdminDeleteDiscountsDiscountConditionsConditionParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.deleteCondition(discountId, conditionId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/discounts/{id}/conditions/{condition_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountConditionsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{discount_id}/conditions/{condition_id}/batch:
|
||
post:
|
||
operationId: PostDiscountsDiscountConditionsConditionBatch
|
||
summary: Add Batch Resources
|
||
description: >-
|
||
Add a batch of resources to a discount condition. The type of resource
|
||
depends on the type of discount condition. For example, if the discount
|
||
condition's type is `products`, the resources being added should be
|
||
products.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the discount the condition belongs to.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: condition_id
|
||
required: true
|
||
description: The ID of the discount condition on which to add the item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostDiscountsDiscountConditionsConditionBatchReq
|
||
x-codegen:
|
||
method: addConditionResourceBatch
|
||
queryParams: AdminPostDiscountsDiscountConditionsConditionBatchParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.addConditionResourceBatch(discountId,
|
||
conditionId, {
|
||
resources: [{ id: itemId }]
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/discounts/{id}/conditions/{condition_id}/batch'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"resources": [{ "id": "item_id" }]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDiscountsDiscountConditionsConditionBatch
|
||
summary: Remove Batch Resources
|
||
description: >-
|
||
Remove a batch of resources from a discount condition. This will only
|
||
remove the association between the resource and the discount condition,
|
||
but not the resource itself.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: discount_id
|
||
required: true
|
||
description: The ID of the discount.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: condition_id
|
||
required: true
|
||
description: The ID of the condition to remove the resources from.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteDiscountsDiscountConditionsConditionBatchReq
|
||
x-codegen:
|
||
method: deleteConditionResourceBatch
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.deleteConditionResourceBatch(discountId,
|
||
conditionId, {
|
||
resources: [{ id: itemId }]
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/discounts/{id}/conditions/{condition_id}/batch'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"resources": [{ "id": "item_id" }]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{id}:
|
||
get:
|
||
operationId: GetDiscountsDiscount
|
||
summary: Get a Discount
|
||
description: Retrieves a Discount
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetDiscountParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.retrieve(discountId)
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/discounts/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostDiscountsDiscount
|
||
summary: Update a Discount
|
||
description: >-
|
||
Update a Discount with a given set of rules that define how the Discount
|
||
is applied.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be retrieved in the returned
|
||
discount.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDiscountsDiscountReq'
|
||
x-codegen:
|
||
method: update
|
||
queryParams: AdminPostDiscountsDiscountParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.update(discountId, {
|
||
code: "TEST"
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/discounts/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"code": "TEST"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDiscountsDiscount
|
||
summary: Delete a Discount
|
||
description: >-
|
||
Delete a Discount. Deleting the discount will make it unavailable for
|
||
customers to use.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.delete(discountId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/discounts/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{id}/dynamic-codes:
|
||
post:
|
||
operationId: PostDiscountsDiscountDynamicCodes
|
||
summary: Create a Dynamic Code
|
||
description: >-
|
||
Create a dynamic unique code that can map to a parent Discount. This is
|
||
useful if you want to automatically generate codes with the same rules
|
||
and conditions.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount to create the dynamic code for."
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDiscountsDiscountDynamicCodesReq'
|
||
x-codegen:
|
||
method: createDynamicCode
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.createDynamicCode(discountId, {
|
||
code: "TEST",
|
||
usage_limit: 1
|
||
})
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/discounts/{id}/dynamic-codes' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"code": "TEST"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{id}/dynamic-codes/{code}:
|
||
delete:
|
||
operationId: DeleteDiscountsDiscountDynamicCodesCode
|
||
summary: Delete a Dynamic Code
|
||
description: Delete a dynamic code from a Discount.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: code
|
||
required: true
|
||
description: The dynamic code to delete
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteDynamicCode
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.deleteDynamicCode(discountId, code)
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/discounts/{id}/dynamic-codes/{code}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/discounts/{id}/regions/{region_id}:
|
||
post:
|
||
operationId: PostDiscountsDiscountRegionsRegion
|
||
summary: Add Region to Discount
|
||
description: Add a Region to the list of Regions a Discount can be used in.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: region_id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: addRegion
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.addRegion(discountId, regionId)
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/discounts/{id}/regions/{region_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDiscountsDiscountRegionsRegion
|
||
summary: Remove Region
|
||
x-authenticated: true
|
||
description: >-
|
||
Remove a Region from the list of Regions that a Discount can be used in.
|
||
This does not delete a region, only the association between it and the
|
||
discount.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Discount.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: region_id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: removeRegion
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.discounts.removeRegion(discountId, regionId)
|
||
|
||
.then(({ discount }) => {
|
||
console.log(discount.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/discounts/{id}/regions/{region_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Discounts
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDiscountsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/draft-orders:
|
||
get:
|
||
operationId: GetDraftOrders
|
||
summary: List Draft Orders
|
||
description: >-
|
||
Retrieve an list of Draft Orders. The draft orders can be filtered by
|
||
fields such as `q`. The draft orders can also paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: offset
|
||
description: The number of draft orders to skip when retrieving the draft orders.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of draft orders returned.
|
||
schema:
|
||
type: number
|
||
default: '50'
|
||
- in: query
|
||
name: q
|
||
description: >-
|
||
a term to search draft orders' display IDs and emails in the draft
|
||
order's cart
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetDraftOrdersParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.list()
|
||
|
||
.then(({ draft_orders, limit, offset, count }) => {
|
||
console.log(draft_orders.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/draft-orders' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostDraftOrders
|
||
summary: Create a Draft Order
|
||
description: >-
|
||
Create a Draft Order. A draft order is not transformed into an order
|
||
until payment is captured.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDraftOrdersReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.create({
|
||
email: "user@example.com",
|
||
region_id,
|
||
items: [
|
||
{
|
||
quantity: 1
|
||
}
|
||
],
|
||
shipping_methods: [
|
||
{
|
||
option_id
|
||
}
|
||
],
|
||
})
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/draft-orders' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com",
|
||
"region_id": "{region_id}"
|
||
"items": [
|
||
{
|
||
"quantity": 1
|
||
}
|
||
],
|
||
"shipping_methods": [
|
||
{
|
||
"option_id": "{option_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/draft-orders/{id}:
|
||
get:
|
||
operationId: GetDraftOrdersDraftOrder
|
||
summary: Get a Draft Order
|
||
description: Retrieve a Draft Order's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.retrieve(draftOrderId)
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/draft-orders/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostDraftOrdersDraftOrder
|
||
summary: Update a Draft Order
|
||
description: Update a Draft Order's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDraftOrdersDraftOrderReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.update(draftOrderId, {
|
||
email: "user@example.com"
|
||
})
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/draft-orders/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDraftOrdersDraftOrder
|
||
summary: Delete a Draft Order
|
||
description: Delete a Draft Order
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.delete(draftOrderId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/draft-orders/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/draft-orders/{id}/line-items:
|
||
post:
|
||
operationId: PostDraftOrdersDraftOrderLineItems
|
||
summary: Create a Line Item
|
||
description: Create a Line Item in the Draft Order.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostDraftOrdersDraftOrderLineItemsReq'
|
||
x-codegen:
|
||
method: addLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.addLineItem(draftOrderId, {
|
||
quantity: 1
|
||
})
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/draft-orders/{id}/line-items' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"quantity": 1
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/draft-orders/{id}/line-items/{line_id}:
|
||
post:
|
||
operationId: PostDraftOrdersDraftOrderLineItemsItem
|
||
summary: Update a Line Item
|
||
description: Update a Line Item in a Draft Order
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: line_id
|
||
required: true
|
||
description: The ID of the Line Item.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostDraftOrdersDraftOrderLineItemsItemReq
|
||
x-codegen:
|
||
method: updateLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.updateLineItem(draftOrderId, lineId, {
|
||
quantity: 1
|
||
})
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/draft-orders/{id}/line-items/{line_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"quantity": 1
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteDraftOrdersDraftOrderLineItemsItem
|
||
summary: Delete a Line Item
|
||
description: Deletes a Line Item from a Draft Order.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Draft Order.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: line_id
|
||
required: true
|
||
description: The ID of the line item.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: removeLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.removeLineItem(draftOrderId, itemId)
|
||
|
||
.then(({ draft_order }) => {
|
||
console.log(draft_order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/draft-orders/{id}/line-items/{line_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDraftOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/draft-orders/{id}/pay:
|
||
post:
|
||
summary: Mark Paid
|
||
operationId: PostDraftOrdersDraftOrderRegisterPayment
|
||
description: >-
|
||
Capture the draft order's payment. This will also set the draft order's
|
||
status to `completed` and create an Order from the draft order. The
|
||
payment is captured through Medusa's system payment, which is manual
|
||
payment that isn't integrated with any third-party payment provider. It
|
||
is assumed that the payment capturing is handled manually by the admin.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The Draft Order ID.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: markPaid
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.draftOrders.markPaid(draftOrderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/draft-orders/{id}/pay' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Draft Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostDraftOrdersDraftOrderRegisterPaymentRes
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/gift-cards:
|
||
get:
|
||
operationId: GetGiftCards
|
||
summary: List Gift Cards
|
||
description: >-
|
||
Retrieve a list of Gift Cards. The gift cards can be filtered by fields
|
||
such as `q`. The gift cards can also paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: offset
|
||
description: The number of gift cards to skip when retrieving the gift cards.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of gift cards returned.
|
||
schema:
|
||
type: number
|
||
default: '50'
|
||
- in: query
|
||
name: q
|
||
description: a term to search gift cards' code or display ID
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetGiftCardsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.giftCards.list()
|
||
|
||
.then(({ gift_cards, limit, offset, count }) => {
|
||
console.log(gift_cards.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/gift-cards' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Gift Cards
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGiftCardsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostGiftCards
|
||
summary: Create a Gift Card
|
||
description: >-
|
||
Create a Gift Card that can redeemed by its unique code. The Gift Card
|
||
is only valid within 1 region.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostGiftCardsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.giftCards.create({
|
||
region_id
|
||
})
|
||
|
||
.then(({ gift_card }) => {
|
||
console.log(gift_card.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/gift-cards' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"region_id": "{region_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Gift Cards
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGiftCardsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/gift-cards/{id}:
|
||
get:
|
||
operationId: GetGiftCardsGiftCard
|
||
summary: Get a Gift Card
|
||
description: Retrieve a Gift Card's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Gift Card.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.giftCards.retrieve(giftCardId)
|
||
|
||
.then(({ gift_card }) => {
|
||
console.log(gift_card.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/gift-cards/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Gift Cards
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGiftCardsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostGiftCardsGiftCard
|
||
summary: Update a Gift Card
|
||
description: Update a Gift Card's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Gift Card.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostGiftCardsGiftCardReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.giftCards.update(giftCardId, {
|
||
region_id
|
||
})
|
||
|
||
.then(({ gift_card }) => {
|
||
console.log(gift_card.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/gift-cards/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"region_id": "{region_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Gift Cards
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGiftCardsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteGiftCardsGiftCard
|
||
summary: Delete a Gift Card
|
||
description: Delete a Gift Card. Once deleted, it can't be used by customers.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Gift Card to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.giftCards.delete(giftCardId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/gift-cards/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Gift Cards
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGiftCardsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/inventory-items:
|
||
get:
|
||
operationId: GetInventoryItems
|
||
summary: List Inventory Items
|
||
description: >-
|
||
Retrieve a list of inventory items. The inventory items can be filtered
|
||
by fields such as `q` or `location_id`. The inventory items can also be
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of inventory items to skip when retrieving the inventory
|
||
items.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of inventory items returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in each returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: term to search inventory item's sku, title, and description.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: location_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by location IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by the inventory ID
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: inventory ID
|
||
- type: array
|
||
description: an array of inventory IDs
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: sku
|
||
description: Filter by SKU
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: origin_country
|
||
description: Filter by origin country
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: mid_code
|
||
description: Filter by MID code
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: material
|
||
description: Filter by material
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: hs_code
|
||
description: Filter by HS Code
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: weight
|
||
description: Filter by weight
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: length
|
||
description: Filter by length
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: height
|
||
description: Filter by height
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: width
|
||
description: Filter by width
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: requires_shipping
|
||
description: Filter by whether the item requires shipping
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetInventoryItemsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.list()
|
||
|
||
.then(({ inventory_items, count, offset, limit }) => {
|
||
console.log(inventory_items.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/inventory-items' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminInventoryItemsListWithVariantsAndLocationLevelsRes
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostInventoryItems
|
||
summary: Create an Inventory Item
|
||
description: Create an Inventory Item for a product variant.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostInventoryItemsReq'
|
||
x-codegen:
|
||
method: create
|
||
queryParams: AdminPostInventoryItemsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.create({
|
||
variant_id: "variant_123",
|
||
})
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/inventory-items' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"variant_id": "variant_123",
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/inventory-items/{id}:
|
||
get:
|
||
operationId: GetInventoryItemsInventoryItem
|
||
summary: Get an Inventory Item
|
||
description: Retrieve an Inventory Item's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetInventoryItemsItemParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.retrieve(inventoryItemId)
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/inventory-items/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostInventoryItemsInventoryItem
|
||
summary: Update an Inventory Item
|
||
description: Update an Inventory Item's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
inventory level.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory level.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostInventoryItemsInventoryItemReq'
|
||
x-codegen:
|
||
method: update
|
||
queryParams: AdminPostInventoryItemsInventoryItemParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.update(inventoryItemId, {
|
||
origin_country: "US",
|
||
})
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/inventory-items/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"origin_country": "US"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteInventoryItemsInventoryItem
|
||
summary: Delete an Inventory Item
|
||
description: >-
|
||
Delete an Inventory Item. This does not delete the associated product
|
||
variant.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.delete(inventoryItemId)
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/inventory-items/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
/admin/inventory-items/{id}/location-levels:
|
||
get:
|
||
operationId: GetInventoryItemsInventoryItemLocationLevels
|
||
summary: List Inventory Level
|
||
description: >-
|
||
Retrieve a list of inventory levels of an inventory item. The inventory
|
||
levels can be filtered by fields such as `location_id`. The inventory
|
||
levels can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item the locations are associated with.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: location_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by location IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
inventory levels.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory levels.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: listLocationLevels
|
||
queryParams: AdminGetInventoryItemsItemLocationLevelsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.listLocationLevels(inventoryItemId)
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.location_levels);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/inventory-items/{id}/location-levels' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsLocationLevelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostInventoryItemsInventoryItemLocationLevels
|
||
summary: Create an Location Level
|
||
description: Create an Location Level for a given Inventory Item.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
inventory item.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostInventoryItemsItemLocationLevelsReq
|
||
x-codegen:
|
||
method: createLocationLevel
|
||
queryParams: AdminPostInventoryItemsItemLocationLevelsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.createLocationLevel(inventoryItemId, {
|
||
location_id: "sloc_123",
|
||
stocked_quantity: 10,
|
||
})
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/inventory-items/{id}/location-levels' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"location_id": "sloc_123",
|
||
"stocked_quantity": 10
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/inventory-items/{id}/location-levels/{location_id}:
|
||
post:
|
||
operationId: PostInventoryItemsInventoryItemLocationLevelsLocationLevel
|
||
summary: Update a Location Level
|
||
description: Update a Location Level's details for a given Inventory Item.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item that the location is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: location_id
|
||
required: true
|
||
description: The ID of the Location to update.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
location level.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
location level.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostInventoryItemsItemLocationLevelsLevelReq
|
||
x-codegen:
|
||
method: updateLocationLevel
|
||
queryParams: AdminPostInventoryItemsItemLocationLevelsLevelParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.updateLocationLevel(inventoryItemId,
|
||
locationId, {
|
||
stocked_quantity: 15,
|
||
})
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/inventory-items/{id}/location-levels/{location_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"stocked_quantity": 15
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteInventoryItemsInventoryIteLocationLevelsLocation
|
||
summary: Delete a Location Level
|
||
description: Delete a location level of an Inventory Item.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Inventory Item.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: location_id
|
||
required: true
|
||
description: The ID of the location.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteLocationLevel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.inventoryItems.deleteLocationLevel(inventoryItemId,
|
||
locationId)
|
||
|
||
.then(({ inventory_item }) => {
|
||
console.log(inventory_item.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/inventory-items/{id}/location-levels/{location_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Inventory Items
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInventoryItemsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/invites:
|
||
get:
|
||
operationId: GetInvites
|
||
summary: Lists Invites
|
||
description: Retrieve a list of invites.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.invites.list()
|
||
|
||
.then(({ invites }) => {
|
||
console.log(invites.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/invites' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Invites
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminListInvitesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostInvites
|
||
summary: Create an Invite
|
||
description: >-
|
||
Create an Invite. This will generate a token associated with the invite
|
||
and trigger an `invite.created` event. If you have a Notification
|
||
Provider installed that handles this event, a notification should be
|
||
sent to the email associated with the invite to allow them to accept the
|
||
invite.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostInvitesReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.invites.create({
|
||
user: "user@example.com",
|
||
role: "admin"
|
||
})
|
||
|
||
.then(() => {
|
||
// successful
|
||
})
|
||
|
||
.catch(() => {
|
||
// an error occurred
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/invites' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"user": "user@example.com",
|
||
"role": "admin"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Invites
|
||
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'
|
||
/admin/invites/accept:
|
||
post:
|
||
operationId: PostInvitesInviteAccept
|
||
summary: Accept an Invite
|
||
description: >-
|
||
Accept an Invite. This will also delete the invite and create a new user
|
||
that can log in and perform admin functionalities. The user will have
|
||
the email associated with the invite, and the password provided in the
|
||
request body.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostInvitesInviteAcceptReq'
|
||
x-codegen:
|
||
method: accept
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.invites.accept({
|
||
token,
|
||
user: {
|
||
first_name: "Brigitte",
|
||
last_name: "Collier",
|
||
password: "supersecret"
|
||
}
|
||
})
|
||
|
||
.then(() => {
|
||
// successful
|
||
})
|
||
|
||
.catch(() => {
|
||
// an error occurred
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/invites/accept' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"token": "{token}",
|
||
"user": {
|
||
"first_name": "Brigitte",
|
||
"last_name": "Collier",
|
||
"password": "supersecret"
|
||
}
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Invites
|
||
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'
|
||
/admin/invites/{invite_id}:
|
||
delete:
|
||
operationId: DeleteInvitesInvite
|
||
summary: Delete an Invite
|
||
description: Delete an Invite. Only invites that weren't accepted can be deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: invite_id
|
||
required: true
|
||
description: The ID of the Invite
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.invites.delete(inviteId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/invites/{invite_id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Invites
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminInviteDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/invites/{invite_id}/resend:
|
||
post:
|
||
operationId: PostInvitesInviteResend
|
||
summary: Resend an Invite
|
||
description: >-
|
||
Resend an Invite. This renews the expiry date by 7 days and generates a
|
||
new token for the invite. It also triggers the `invite.created` event,
|
||
so if you have a Notification Provider installed that handles this
|
||
event, a notification should be sent to the email associated with the
|
||
invite to allow them to accept the invite.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: invite_id
|
||
required: true
|
||
description: The ID of the Invite
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: resend
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.invites.resend(inviteId)
|
||
|
||
.then(() => {
|
||
// successful
|
||
})
|
||
|
||
.catch(() => {
|
||
// an error occurred
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/invites/{invite_id}/resend' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Invites
|
||
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'
|
||
/admin/notes:
|
||
get:
|
||
operationId: GetNotes
|
||
summary: List Notes
|
||
x-authenticated: true
|
||
description: >-
|
||
Retrieve a list of notes. The notes can be filtered by fields such as
|
||
`resource_id`. The notes can also be paginated.
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of notes returned.
|
||
schema:
|
||
type: number
|
||
default: '50'
|
||
- in: query
|
||
name: offset
|
||
description: The number of notes to skip when retrieving the notes.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: resource_id
|
||
description: Filter by resource ID
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetNotesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notes.list()
|
||
|
||
.then(({ notes, limit, offset, count }) => {
|
||
console.log(notes.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/notes' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notes
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotesListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostNotes
|
||
summary: Create a Note
|
||
description: Create a Note which can be associated with any resource.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostNotesReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notes.create({
|
||
resource_id,
|
||
resource_type: "order",
|
||
value: "We delivered this order"
|
||
})
|
||
|
||
.then(({ note }) => {
|
||
console.log(note.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/notes' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"resource_id": "{resource_id}",
|
||
"resource_type": "order",
|
||
"value": "We delivered this order"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notes
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/notes/{id}:
|
||
get:
|
||
operationId: GetNotesNote
|
||
summary: Get a Note
|
||
description: Retrieve a note's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the note.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notes.retrieve(noteId)
|
||
|
||
.then(({ note }) => {
|
||
console.log(note.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/notes/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notes
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostNotesNote
|
||
summary: Update a Note
|
||
x-authenticated: true
|
||
description: Update a Note's details.'
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Note
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostNotesNoteReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notes.update(noteId, {
|
||
value: "We delivered this order"
|
||
})
|
||
|
||
.then(({ note }) => {
|
||
console.log(note.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/notes/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"value": "We delivered this order"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notes
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteNotesNote
|
||
summary: Delete a Note
|
||
description: Delete a Note.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Note to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notes.delete(noteId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/notes/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notes
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotesDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/notifications:
|
||
get:
|
||
operationId: GetNotifications
|
||
summary: List Notifications
|
||
description: >-
|
||
Retrieve a list of notifications. The notifications can be filtered by
|
||
fields such as `event_name` or `resource_type`. The notifications can
|
||
also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of inventory items to skip when retrieving the inventory
|
||
items.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of notifications returned.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in each returned
|
||
notification.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in each returned
|
||
notification.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: event_name
|
||
description: >-
|
||
Filter by the name of the event that triggered sending this
|
||
notification.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: resource_type
|
||
description: Filter by the resource type.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: resource_id
|
||
description: Filter by the resource ID.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: to
|
||
description: >-
|
||
Filter by the address that the Notification was sent to. This will
|
||
usually be an email address, but it can also represent other
|
||
addresses such as a chat bot user id.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: include_resends
|
||
description: >-
|
||
A boolean indicating whether the result set should include resent
|
||
notifications or not
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetNotificationsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notifications.list()
|
||
|
||
.then(({ notifications }) => {
|
||
console.log(notifications.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/notifications' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notifications
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotificationsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/notifications/{id}/resend:
|
||
post:
|
||
operationId: PostNotificationsNotificationResend
|
||
summary: Resend Notification
|
||
description: >-
|
||
Resend a previously sent notifications, with the same data but
|
||
optionally to a different address.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Notification
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostNotificationsNotificationResendReq'
|
||
x-codegen:
|
||
method: resend
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.notifications.resend(notificationId)
|
||
|
||
.then(({ notification }) => {
|
||
console.log(notification.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/notifications/{id}/resend' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Notifications
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminNotificationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits:
|
||
get:
|
||
operationId: GetOrderEdits
|
||
summary: List Order Edits
|
||
description: >-
|
||
Retrieve a list of order edits. The order edits can be filtered by
|
||
fields such as `q` or `order_id`. The order edits can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: term to search order edits' internal note.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order_id
|
||
description: Filter by order ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of order edits returned.
|
||
schema:
|
||
type: number
|
||
default: '20'
|
||
- in: query
|
||
name: offset
|
||
description: The number of order edits to skip when retrieving the order edits.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in each returned
|
||
order edit.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in each returned
|
||
order edit.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: GetOrderEditsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.list()
|
||
.then(({ order_edits, count, limit, offset }) => {
|
||
console.log(order_edits.length)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/order-edits' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostOrderEdits
|
||
summary: Create an OrderEdit
|
||
description: Create an Order Edit.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrderEditsReq'
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.create({ orderId })
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/order-edits' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{ "order_id": "my_order_id", "internal_note":
|
||
"my_optional_note" }'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits/{id}:
|
||
get:
|
||
operationId: GetOrderEditsOrderEdit
|
||
summary: Get an Order Edit
|
||
description: Retrieve an Order Edit's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the OrderEdit.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in each returned
|
||
order edit.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned order
|
||
edit.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: GetOrderEditsOrderEditParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.retrieve(orderEditId)
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/order-edits/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostOrderEditsOrderEdit
|
||
summary: Update an Order Edit
|
||
description: Updates an Order Edit's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the OrderEdit.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrderEditsOrderEditReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.update(orderEditId, {
|
||
internal_note: "internal reason XY"
|
||
})
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"internal_note": "internal reason XY"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteOrderEditsOrderEdit
|
||
summary: Delete an Order Edit
|
||
description: >-
|
||
Delete an Order Edit. Only order edits that have the status `created`
|
||
can be deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.delete(orderEditId)
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/order-edits/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
/admin/order-edits/{id}/cancel:
|
||
post:
|
||
operationId: PostOrderEditsOrderEditCancel
|
||
summary: Cancel an Order Edit
|
||
description: Cancel an OrderEdit.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the OrderEdit.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.cancel(orderEditId)
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}/cancel' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits/{id}/changes/{change_id}:
|
||
delete:
|
||
operationId: DeleteOrderEditsOrderEditItemChange
|
||
summary: Delete a Line Item Change
|
||
description: >-
|
||
Delete a line item change that indicates the addition, deletion, or
|
||
update of a line item in the original order.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: change_id
|
||
required: true
|
||
description: The ID of the Line Item Change to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteItemChange
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.deleteItemChange(orderEdit_id, itemChangeId)
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/order-edits/{id}/changes/{change_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditItemChangeDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
/admin/order-edits/{id}/confirm:
|
||
post:
|
||
operationId: PostOrderEditsOrderEditConfirm
|
||
summary: Confirm an OrderEdit
|
||
description: >-
|
||
Confirm an Order Edit. This will reflect the changes in the order edit
|
||
on the associated order.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the order edit.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: confirm
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.confirm(orderEditId)
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}/confirm' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits/{id}/items:
|
||
post:
|
||
operationId: PostOrderEditsEditLineItems
|
||
summary: Add a Line Item
|
||
description: >-
|
||
Create a line item change in the order edit that indicates adding an
|
||
item in the original order. The item will not be added to the original
|
||
order until the order edit is confirmed.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrderEditsEditLineItemsReq'
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: addLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.addLineItem(orderEditId, {
|
||
variant_id,
|
||
quantity
|
||
})
|
||
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}/items' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{ "variant_id": "variant_01G1G5V2MRX2V3PVSR2WXYPFB6",
|
||
"quantity": 3 }'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits/{id}/items/{item_id}:
|
||
post:
|
||
operationId: PostOrderEditsEditLineItemsLineItem
|
||
summary: Upsert Line Item Change
|
||
description: >-
|
||
Create or update a line item change in the order edit that indicates
|
||
addition, deletion, or update of a line item into an original order.
|
||
Line item changes are only reflected on the original order after the
|
||
order edit is confirmed.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: item_id
|
||
required: true
|
||
description: The ID of the line item in the original order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrderEditsEditLineItemsLineItemReq'
|
||
x-codegen:
|
||
method: updateLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.updateLineItem(orderEditId, lineItemId, {
|
||
quantity: 5
|
||
})
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}/items/{item_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{ "quantity": 5 }'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteOrderEditsOrderEditLineItemsLineItem
|
||
summary: Delete Line Item
|
||
description: >-
|
||
Create a line item change in the order edit that indicates deleting an
|
||
item in the original order. The item in the original order will not be
|
||
deleted until the order edit is confirmed.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: item_id
|
||
required: true
|
||
description: The ID of line item in the original order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: removeLineItem
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.removeLineItem(orderEditId, lineItemId)
|
||
.then(({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/order-edits/{id}/items/{item_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/order-edits/{id}/request:
|
||
post:
|
||
operationId: PostOrderEditsOrderEditRequest
|
||
summary: Request Confirmation
|
||
description: >-
|
||
Request customer confirmation of an Order Edit. This would emit the
|
||
event `order-edit.requested` which Notification Providers listen to and
|
||
send a notification to the customer about the order edit.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order Edit.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: requestConfirmation
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orderEdits.requestConfirmation(orderEditId)
|
||
.then({ order_edit }) => {
|
||
console.log(order_edit.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/order-edits/{id}/request' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Order Edits
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrderEditsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders:
|
||
get:
|
||
operationId: GetOrders
|
||
summary: List Orders
|
||
description: >-
|
||
Retrieve a list of Orders. The orders can be filtered by fields such as
|
||
`status` or `display_id`. The order can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: >-
|
||
term to search orders' shipping address, first name, email, and
|
||
display ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
description: Filter by ID.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: status
|
||
style: form
|
||
explode: false
|
||
description: Filter by status
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- pending
|
||
- completed
|
||
- archived
|
||
- canceled
|
||
- requires_action
|
||
- in: query
|
||
name: fulfillment_status
|
||
style: form
|
||
explode: false
|
||
description: Filter by fulfillment status
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- not_fulfilled
|
||
- fulfilled
|
||
- partially_fulfilled
|
||
- shipped
|
||
- partially_shipped
|
||
- canceled
|
||
- returned
|
||
- partially_returned
|
||
- requires_action
|
||
- in: query
|
||
name: payment_status
|
||
style: form
|
||
explode: false
|
||
description: Filter by payment status
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- captured
|
||
- awaiting
|
||
- not_paid
|
||
- refunded
|
||
- partially_refunded
|
||
- canceled
|
||
- requires_action
|
||
- in: query
|
||
name: display_id
|
||
description: Filter by display ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: cart_id
|
||
description: Filter by cart ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: customer_id
|
||
description: Filter by customer ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: email
|
||
description: Filter by email
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: region_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by region IDs.
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: ID of a Region.
|
||
- type: array
|
||
items:
|
||
type: string
|
||
description: ID of a Region.
|
||
- in: query
|
||
name: currency_code
|
||
style: form
|
||
explode: false
|
||
description: Filter by currency codes.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
- in: query
|
||
name: tax_rate
|
||
description: Filter by tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: canceled_at
|
||
description: Filter by a cancelation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: sales_channel_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by Sales Channel IDs
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
description: The ID of a Sales Channel
|
||
- in: query
|
||
name: offset
|
||
description: The number of orders to skip when retrieving the orders.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of orders returned.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetOrdersParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.list()
|
||
|
||
.then(({ orders, limit, offset, count }) => {
|
||
console.log(orders.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/orders' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}:
|
||
get:
|
||
operationId: GetOrdersOrder
|
||
summary: Get an Order
|
||
description: Retrieve an Order's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetOrdersOrderParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.retrieve(orderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/orders/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostOrdersOrder
|
||
summary: Update an Order
|
||
description: Update and order's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderReq'
|
||
x-codegen:
|
||
method: update
|
||
params: AdminPostOrdersOrderParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.update(orderId, {
|
||
email: "user@example.com"
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/adasda' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/archive:
|
||
post:
|
||
operationId: PostOrdersOrderArchive
|
||
summary: Archive Order
|
||
description: Archive an order and change its status.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: archive
|
||
params: AdminPostOrdersOrderArchiveParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.archive(orderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/archive' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/cancel:
|
||
post:
|
||
operationId: PostOrdersOrderCancel
|
||
summary: Cancel an Order
|
||
description: >-
|
||
Cancel an order and change its status. This will also cancel any
|
||
associated Fulfillments and Payments, and it may fail if the Payment or
|
||
Fulfillment Provider is unable to cancel the Payment/Fulfillment.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancel
|
||
params: AdminPostOrdersOrderCancel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancel(orderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/cancel' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/capture:
|
||
post:
|
||
operationId: PostOrdersOrderCapture
|
||
summary: Capture an Order's Payments
|
||
description: >-
|
||
Capture all the Payments associated with an Order. The payment of
|
||
canceled orders can't be captured.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: capturePayment
|
||
params: AdminPostOrdersOrderCaptureParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.capturePayment(orderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/capture' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims:
|
||
post:
|
||
operationId: PostOrdersOrderClaims
|
||
summary: Create a Claim
|
||
description: >-
|
||
Create a Claim for an order. If a return shipping method is specified, a
|
||
return will also be created and associated with the claim. If the
|
||
claim's type is `refund`, the refund is processed as well.
|
||
externalDocs:
|
||
description: How are claims created
|
||
url: https://docs.medusajs.com/modules/orders/claims#how-are-claims-created
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderClaimsReq'
|
||
x-codegen:
|
||
method: createClaim
|
||
params: AdminPostOrdersOrderClaimsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createClaim(orderId, {
|
||
type: 'refund',
|
||
claim_items: [
|
||
{
|
||
item_id,
|
||
quantity: 1
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/claims' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"type": "refund",
|
||
"claim_items": [
|
||
{
|
||
"item_id": "asdsd",
|
||
"quantity": 1
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims/{claim_id}:
|
||
post:
|
||
operationId: PostOrdersOrderClaimsClaim
|
||
summary: Update a Claim
|
||
description: Update a Claim's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order associated with the claim.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: claim_id
|
||
required: true
|
||
description: The ID of the Claim.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderClaimsClaimReq'
|
||
x-codegen:
|
||
method: updateClaim
|
||
params: AdminPostOrdersOrderClaimsClaimParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.updateClaim(orderId, claimId, {
|
||
no_notification: true
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/claims/{claim_id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"no_notification": true
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims/{claim_id}/cancel:
|
||
post:
|
||
operationId: PostOrdersClaimCancel
|
||
summary: Cancel a Claim
|
||
description: >-
|
||
Cancel a Claim and change its status. A claim can't be canceled if it
|
||
has a refund, if its fulfillments haven't been canceled, of if its
|
||
associated return hasn't been canceled.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Canceling a claim
|
||
url: https://docs.medusajs.com/modules/orders/claims#cancel-a-claim
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the order the claim is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: claim_id
|
||
required: true
|
||
description: The ID of the Claim.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancelClaim
|
||
params: AdminPostOrdersClaimCancel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancelClaim(orderId, claimId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/claims/{claim_id}/cancel' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims/{claim_id}/fulfillments:
|
||
post:
|
||
operationId: PostOrdersOrderClaimsClaimFulfillments
|
||
summary: Create a Claim Fulfillment
|
||
description: Create a Fulfillment for a Claim.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Fulfill a claim
|
||
url: https://docs.medusajs.com/modules/orders/claims#fulfill-a-claim
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order the claim is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: claim_id
|
||
required: true
|
||
description: The ID of the Claim.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostOrdersOrderClaimsClaimFulfillmentsReq
|
||
x-codegen:
|
||
method: fulfillClaim
|
||
params: AdminPostOrdersOrderClaimsClaimFulfillmentsReq
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.fulfillClaim(orderId, claimId, {
|
||
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/claims/{claim_id}/fulfillments' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims/{claim_id}/fulfillments/{fulfillment_id}/cancel:
|
||
post:
|
||
operationId: PostOrdersClaimFulfillmentsCancel
|
||
summary: Cancel Claim's Fulfillment
|
||
description: Cancel a claim's fulfillment and change its status.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the order the claim is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: claim_id
|
||
required: true
|
||
description: The ID of the claim.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: fulfillment_id
|
||
required: true
|
||
description: The ID of the fulfillment.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancelClaimFulfillment
|
||
params: AdminPostOrdersClaimFulfillmentsCancelParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancelClaimFulfillment(orderId, claimId,
|
||
fulfillmentId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/claims/{claim_id}/fulfillments/{fulfillment_id}/cancel'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/claims/{claim_id}/shipments:
|
||
post:
|
||
operationId: PostOrdersOrderClaimsClaimShipments
|
||
summary: Ship a Claim's Fulfillment
|
||
description: >-
|
||
Mark a claim's fulfillment as shipped. This changes the claim's
|
||
fulfillment status to either `shipped` or `partially_shipped`, depending
|
||
on whether all the items were shipped.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Fulfill a claim
|
||
url: https://docs.medusajs.com/modules/orders/claims#fulfill-a-claim
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order the claim is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: claim_id
|
||
required: true
|
||
description: The ID of the Claim.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderClaimsClaimShipmentsReq'
|
||
x-codegen:
|
||
method: createClaimShipment
|
||
params: AdminPostOrdersOrderClaimsClaimShipmentsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createClaimShipment(orderId, claimId, {
|
||
fulfillment_id
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/claims/{claim_id}/shipments' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"fulfillment_id": "{fulfillment_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/complete:
|
||
post:
|
||
operationId: PostOrdersOrderComplete
|
||
summary: Complete an Order
|
||
description: >-
|
||
Complete an Order and change its status. A canceled order can't be
|
||
completed.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: complete
|
||
params: AdminPostOrdersOrderCompleteParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.complete(orderId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/complete' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/fulfillment:
|
||
post:
|
||
operationId: PostOrdersOrderFulfillments
|
||
summary: Create a Fulfillment
|
||
description: Create a Fulfillment of an Order using the fulfillment provider.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Fulfillments of orders
|
||
url: https://docs.medusajs.com/modules/orders/#fulfillments-in-orders
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderFulfillmentsReq'
|
||
x-codegen:
|
||
method: createFulfillment
|
||
params: AdminPostOrdersOrderFulfillmentsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createFulfillment(orderId, {
|
||
items: [
|
||
{
|
||
item_id,
|
||
quantity: 1
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/fulfillment' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"items": [
|
||
{
|
||
"item_id": "{item_id}",
|
||
"quantity": 1
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/fulfillments/{fulfillment_id}/cancel:
|
||
post:
|
||
operationId: PostOrdersOrderFulfillmentsCancel
|
||
summary: Cancel a Fulfilmment
|
||
description: Cancel an order's fulfillment and change its status.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: fulfillment_id
|
||
required: true
|
||
description: The ID of the Fulfillment.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancelFulfillment
|
||
params: AdminPostOrdersOrderFulfillementsCancelParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancelFulfillment(orderId, fulfillmentId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/fulfillments/{fulfillment_id}/cancel'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/line-items/{line_item_id}/reserve:
|
||
post:
|
||
operationId: PostOrdersOrderLineItemReservations
|
||
summary: Create a Reservation
|
||
description: >-
|
||
Create a Reservation for a line item at a specified location, optionally
|
||
for a partial quantity.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: line_item_id
|
||
required: true
|
||
description: The ID of the Line item.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersOrderLineItemReservationReq'
|
||
x-codeSamples:
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/line-items/{line_item_id}/reserve'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"location_id": "loc_1"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReservationsReq'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/refund:
|
||
post:
|
||
operationId: PostOrdersOrderRefunds
|
||
summary: Create a Refund
|
||
description: >-
|
||
Refund an amount for an order. The amount must be less than or equal the
|
||
`refundable_amount` of the order.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderRefundsReq'
|
||
x-codegen:
|
||
method: refundPayment
|
||
params: AdminPostOrdersOrderRefundsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.refundPayment(orderId, {
|
||
amount: 1000,
|
||
reason: "Do not like it"
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/adasda/refund' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"amount": 1000,
|
||
"reason": "Do not like it"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/reservations:
|
||
get:
|
||
operationId: GetOrdersOrderReservations
|
||
summary: Get Order Reservations
|
||
description: Retrieve the list of reservations of an Order
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: The number of reservations to skip when retrieving the reservations.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of reservations returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
x-codeSamples:
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/orders/{id}/reservations' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/return:
|
||
post:
|
||
operationId: PostOrdersOrderReturns
|
||
summary: Request a Return
|
||
description: >-
|
||
Request and create a Return for items in an order. If the return
|
||
shipping method is specified, it will be automatically fulfilled.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Return creation process
|
||
url: https://docs.medusajs.com/modules/orders/returns#returns-process
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderReturnsReq'
|
||
x-codegen:
|
||
method: requestReturn
|
||
params: AdminPostOrdersOrderReturnsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.requestReturn(orderId, {
|
||
items: [
|
||
{
|
||
item_id,
|
||
quantity: 1
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/return' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"items": [
|
||
{
|
||
"item_id": "{item_id}",
|
||
"quantity": 1
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/shipment:
|
||
post:
|
||
operationId: PostOrdersOrderShipment
|
||
summary: Ship a Fulfillment
|
||
description: >-
|
||
Mark a fulfillment as shipped. This changes the order's fulfillment
|
||
status to either `shipped` or `partially_shipped`, depending on whether
|
||
all the items were shipped.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Fulfillments of orders
|
||
url: https://docs.medusajs.com/modules/orders/#fulfillments-in-orders
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderShipmentReq'
|
||
x-codegen:
|
||
method: createShipment
|
||
params: AdminPostOrdersOrderShipmentParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createShipment(order_id, {
|
||
fulfillment_id
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/shipment' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"fulfillment_id": "{fulfillment_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/shipping-methods:
|
||
post:
|
||
operationId: PostOrdersOrderShippingMethods
|
||
summary: Add a Shipping Method
|
||
description: >-
|
||
Adds a Shipping Method to an Order. If another Shipping Method exists
|
||
with the same Shipping Profile, the previous Shipping Method will be
|
||
replaced.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderShippingMethodsReq'
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: addShippingMethod
|
||
params: AdminPostOrdersOrderShippingMethodsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.addShippingMethod(orderId, {
|
||
price: 1000,
|
||
option_id
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/shipping-methods' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"price": 1000,
|
||
"option_id": "{option_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps:
|
||
post:
|
||
operationId: PostOrdersOrderSwaps
|
||
summary: Create a Swap
|
||
description: >-
|
||
Create a Swap. This includes creating a return that is associated with
|
||
the swap.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: How are swaps created
|
||
url: https://docs.medusajs.com/modules/orders/swaps#how-are-swaps-created
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderSwapsReq'
|
||
x-codegen:
|
||
method: createSwap
|
||
queryParams: AdminPostOrdersOrderSwapsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createSwap(orderId, {
|
||
return_items: [
|
||
{
|
||
item_id,
|
||
quantity: 1
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/orders/{id}/swaps' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"return_items": [
|
||
{
|
||
"item_id": "asfasf",
|
||
"quantity": 1
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps/{swap_id}/cancel:
|
||
post:
|
||
operationId: PostOrdersSwapCancel
|
||
summary: Cancel a Swap
|
||
description: Cancel a Swap and change its status.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Canceling a swap
|
||
url: https://docs.medusajs.com/modules/orders/swaps#canceling-a-swap
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order the swap is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: swap_id
|
||
required: true
|
||
description: The ID of the Swap.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancelSwap
|
||
params: AdminPostOrdersSwapCancelParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancelSwap(orderId, swapId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{order_id}/swaps/{swap_id}/cancel' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps/{swap_id}/fulfillments:
|
||
post:
|
||
operationId: PostOrdersOrderSwapsSwapFulfillments
|
||
summary: Create a Swap Fulfillment
|
||
description: Create a Fulfillment for a Swap.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Handling a swap's fulfillment
|
||
url: >-
|
||
https://docs.medusajs.com/modules/orders/swaps#handling-swap-fulfillment
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order the swap is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: swap_id
|
||
required: true
|
||
description: The ID of the Swap.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostOrdersOrderSwapsSwapFulfillmentsReq
|
||
x-codegen:
|
||
method: fulfillSwap
|
||
params: AdminPostOrdersOrderSwapsSwapFulfillmentsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.fulfillSwap(orderId, swapId, {
|
||
|
||
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/swaps/{swap_id}/fulfillments' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps/{swap_id}/fulfillments/{fulfillment_id}/cancel:
|
||
post:
|
||
operationId: PostOrdersSwapFulfillmentsCancel
|
||
summary: Cancel Swap's Fulfilmment
|
||
description: Cancel a swap's fulfillment and change its status.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the order the swap is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: swap_id
|
||
required: true
|
||
description: The ID of the swap.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: fulfillment_id
|
||
required: true
|
||
description: The ID of the fulfillment.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancelSwapFulfillment
|
||
params: AdminPostOrdersSwapFulfillementsCancelParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.cancelSwapFulfillment(orderId, swapId,
|
||
fulfillmentId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/swaps/{swap_id}/fulfillments/{fulfillment_id}/cancel'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps/{swap_id}/process-payment:
|
||
post:
|
||
operationId: PostOrdersOrderSwapsSwapProcessPayment
|
||
summary: Process a Swap Payment
|
||
description: >-
|
||
Process a swap's payment either by refunding or issuing a payment. This
|
||
depends on the `difference_due` of the swap. If `difference_due` is
|
||
negative, the amount is refunded. If `difference_due` is positive, the
|
||
amount is captured.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Handling a swap's payment
|
||
url: https://docs.medusajs.com/modules/orders/swaps#handling-swap-payment
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the order the swap is associated with.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: swap_id
|
||
required: true
|
||
description: The ID of the swap.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: processSwapPayment
|
||
params: AdminPostOrdersOrderSwapsSwapProcessPaymentParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.processSwapPayment(orderId, swapId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/swaps/{swap_id}/process-payment' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/orders/{id}/swaps/{swap_id}/shipments:
|
||
post:
|
||
operationId: PostOrdersOrderSwapsSwapShipments
|
||
summary: Ship a Swap's Fulfillment
|
||
description: >-
|
||
RMark a swap's fulfillment as shipped. This changes the swap's
|
||
fulfillment status to either `shipped` or `partially_shipped`, depending
|
||
on whether all the items were shipped.
|
||
x-authenticated: true
|
||
externalDocs:
|
||
description: Handling swap fulfillments
|
||
url: >-
|
||
https://docs.medusajs.com/modules/orders/swaps#handling-swap-fulfillment
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Order.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: swap_id
|
||
required: true
|
||
description: The ID of the Swap.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
order.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostOrdersOrderSwapsSwapShipmentsReq'
|
||
x-codegen:
|
||
method: createSwapShipment
|
||
params: AdminPostOrdersOrderSwapsSwapShipmentsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.orders.createSwapShipment(order_id, swap_id, {
|
||
fulfillment_id
|
||
})
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/orders/{id}/swaps/{swap_id}/shipments' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"fulfillment_id": "{fulfillment_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Orders
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminOrdersRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/payment-collections/{id}:
|
||
get:
|
||
operationId: GetPaymentCollectionsPaymentCollection
|
||
summary: Get a Payment Collection
|
||
description: Retrieve a Payment Collection's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment Collection.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
payment collection.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
payment collection.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetPaymentCollectionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.paymentCollections.retrieve(paymentCollectionId)
|
||
.then(({ payment_collection }) => {
|
||
console.log(payment_collection.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/payment-collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payment Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostPaymentCollectionsPaymentCollection
|
||
summary: Update Payment Collection
|
||
description: Update a Payment Collection's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment Collection.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUpdatePaymentCollectionsReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.paymentCollections.update(paymentCollectionId, {
|
||
description
|
||
})
|
||
.then(({ payment_collection }) => {
|
||
console.log(payment_collection.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/payment-collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"description": "Description of payment collection"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payment Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeletePaymentCollectionsPaymentCollection
|
||
summary: Delete a Payment Collection
|
||
description: >-
|
||
Delete a Payment Collection. Only payment collections with the statuses
|
||
`canceled` or `not_paid` can be deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment Collection.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.paymentCollections.delete(paymentCollectionId)
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/payment-collections/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payment Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentCollectionDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
/admin/payment-collections/{id}/authorize:
|
||
post:
|
||
operationId: PostPaymentCollectionsPaymentCollectionAuthorize
|
||
summary: Mark Authorized
|
||
description: >-
|
||
Set the status of a Payment Collection as `authorized`. This will also
|
||
change the `authorized_amount` of the payment collection.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment Collection.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: markAsAuthorized
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.paymentCollections.markAsAuthorized(paymentCollectionId)
|
||
.then(({ payment_collection }) => {
|
||
console.log(payment_collection.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/payment-collections/{id}/authorize' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payment Collections
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentCollectionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/payments/{id}:
|
||
get:
|
||
operationId: GetPaymentsPayment
|
||
summary: Get Payment details
|
||
description: Retrieve a Payment's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: GetPaymentsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.payments.retrieve(paymentId)
|
||
|
||
.then(({ payment }) => {
|
||
console.log(payment.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/payments/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payments
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/payments/{id}/capture:
|
||
post:
|
||
operationId: PostPaymentsPaymentCapture
|
||
summary: Capture a Payment
|
||
description: Capture a Payment.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: capturePayment
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.payments.capturePayment(paymentId)
|
||
|
||
.then(({ payment }) => {
|
||
console.log(payment.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/payments/{id}/capture' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payments
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/payments/{id}/refund:
|
||
post:
|
||
operationId: PostPaymentsPaymentRefunds
|
||
summary: Refund Payment
|
||
description: Refund a payment. The payment must be captured first.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Payment.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostPaymentRefundsReq'
|
||
x-codegen:
|
||
method: refundPayment
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.payments.refundPayment(paymentId, {
|
||
amount: 1000,
|
||
reason: "return",
|
||
note: "Do not like it",
|
||
})
|
||
|
||
.then(({ payment }) => {
|
||
console.log(payment.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/payments/pay_123/refund' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"amount": 1000,
|
||
"reason": "return",
|
||
"note": "Do not like it"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Payments
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRefundRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists:
|
||
get:
|
||
operationId: GetPriceLists
|
||
summary: List Price Lists
|
||
description: >-
|
||
Retrieve a list of price lists. The price lists can be filtered by
|
||
fields such as `q` or `status`. The price lists can also be sorted or
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of price lists returned.
|
||
schema:
|
||
type: number
|
||
default: '10'
|
||
- in: query
|
||
name: offset
|
||
description: The number of price lists to skip when retrieving the price lists.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
price lists.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned price
|
||
lists.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order
|
||
description: A price-list field to sort-order the retrieved price lists by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
description: Filter by ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: >-
|
||
term to search price lists' description, name, and customer group's
|
||
name.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: status
|
||
style: form
|
||
explode: false
|
||
description: Filter by status.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- active
|
||
- draft
|
||
- in: query
|
||
name: name
|
||
description: Filter by name
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: customer_groups
|
||
style: form
|
||
explode: false
|
||
description: Filter by customer-group IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: type
|
||
style: form
|
||
explode: false
|
||
description: Filter by type.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- sale
|
||
- override
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetPriceListPaginationParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.list()
|
||
|
||
.then(({ price_lists, limit, offset, count }) => {
|
||
console.log(price_lists.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/price-lists' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostPriceListsPriceList
|
||
summary: Create a Price List
|
||
description: Create a Price List.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostPriceListsPriceListReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
import { PriceListType } from "@medusajs/medusa"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.create({
|
||
name: "New Price List",
|
||
description: "A new price list",
|
||
type: PriceListType.SALE,
|
||
prices: [
|
||
{
|
||
amount: 1000,
|
||
variant_id,
|
||
currency_code: "eur"
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ price_list }) => {
|
||
console.log(price_list.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/price-lists' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "New Price List",
|
||
"description": "A new price list",
|
||
"type": "sale",
|
||
"prices": [
|
||
{
|
||
"amount": 1000,
|
||
"variant_id": "afafa",
|
||
"currency_code": "eur"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}:
|
||
get:
|
||
operationId: GetPriceListsPriceList
|
||
summary: Get a Price List
|
||
description: Retrieve a Price List's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.retrieve(priceListId)
|
||
|
||
.then(({ price_list }) => {
|
||
console.log(price_list.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/price-lists/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostPriceListsPriceListPriceList
|
||
summary: Update a Price List
|
||
description: Update a Price List's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostPriceListsPriceListPriceListReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.update(priceListId, {
|
||
name: "New Price List"
|
||
})
|
||
|
||
.then(({ price_list }) => {
|
||
console.log(price_list.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/price-lists/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "New Price List"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeletePriceListsPriceList
|
||
summary: Delete a Price List
|
||
description: Delete a Price List and its associated prices.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.delete(priceListId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/price-lists/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}/prices/batch:
|
||
post:
|
||
operationId: PostPriceListsPriceListPricesBatch
|
||
summary: Add or Update Prices
|
||
description: Add or update a list of prices in a Price List
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostPriceListPricesPricesReq'
|
||
x-codegen:
|
||
method: addPrices
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.addPrices(priceListId, {
|
||
prices: [
|
||
{
|
||
amount: 1000,
|
||
variant_id,
|
||
currency_code: "eur"
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ price_list }) => {
|
||
console.log(price_list.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/price-lists/{id}/prices/batch' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"prices": [
|
||
{
|
||
"amount": 100,
|
||
"variant_id": "afasfa",
|
||
"currency_code": "eur"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeletePriceListsPriceListPricesBatch
|
||
summary: Delete Prices
|
||
description: Delete a list of prices in a Price List
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeletePriceListPricesPricesReq'
|
||
x-codegen:
|
||
method: deletePrices
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.deletePrices(priceListId, {
|
||
price_ids: [
|
||
price_id
|
||
]
|
||
})
|
||
|
||
.then(({ ids, object, deleted }) => {
|
||
console.log(ids.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/price-lists/{id}/prices/batch' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"price_ids": [
|
||
"adasfa"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListDeleteBatchRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}/products:
|
||
get:
|
||
operationId: GetPriceListsPriceListProducts
|
||
summary: List Products
|
||
description: >-
|
||
Retrieve a price list's products. The products can be filtered by fields
|
||
such as `q` or `status`. The products can also be sorted or paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the price list.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: >-
|
||
term used to search products' title, description, product variant's
|
||
title and sku, and product collection's title.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
description: Filter by product ID
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: status
|
||
description: Filter by product status
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- draft
|
||
- proposed
|
||
- published
|
||
- rejected
|
||
- in: query
|
||
name: collection_id
|
||
description: >-
|
||
Filter by product collection ID. Only products in the specified
|
||
collections are retrieved.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: tags
|
||
description: >-
|
||
Filter by tag IDs. Only products having the specified tags are
|
||
retrieved.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: title
|
||
description: Filter by title
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: description
|
||
description: Filter by description
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: handle
|
||
description: Filter by handle
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: is_giftcard
|
||
description: >-
|
||
A boolean value to filter by whether the product is a gift card or
|
||
not.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: type
|
||
description: Filter product type.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order
|
||
description: A product field to sort-order the retrieved products by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: offset
|
||
description: The number of products to skip when retrieving the products.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of products returned.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
products.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
products.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: listProducts
|
||
queryParams: AdminGetPriceListsPriceListProductsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.listProducts(priceListId)
|
||
|
||
.then(({ products, limit, offset, count }) => {
|
||
console.log(products.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/price-lists/{id}/products' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListsProductsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}/products/prices/batch:
|
||
delete:
|
||
operationId: DeletePriceListsPriceListProductsPricesBatch
|
||
summary: Delete Product Prices
|
||
description: Delete all the prices associated with multiple products in a price list.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteProductsPrices
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.deleteProductsPrices(priceListId, {
|
||
product_ids: [
|
||
productId1,
|
||
productId2,
|
||
]
|
||
})
|
||
|
||
.then(({ ids, object, deleted }) => {
|
||
console.log(ids.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/price-lists/{id}/products/prices/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
"prod_1",
|
||
"prod_2"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListDeleteProductPricesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}/products/{product_id}/prices:
|
||
delete:
|
||
operationId: DeletePriceListsPriceListProductsProductPrices
|
||
summary: Delete a Product's Prices
|
||
description: Delete all the prices related to a specific product in a price list.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: product_id
|
||
required: true
|
||
description: The ID of the product from which the prices will be deleted.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteProductPrices
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.deleteProductPrices(priceListId, productId)
|
||
|
||
.then(({ ids, object, deleted }) => {
|
||
console.log(ids.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/price-lists/{id}/products/{product_id}/prices'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListDeleteProductPricesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/price-lists/{id}/variants/{variant_id}/prices:
|
||
delete:
|
||
operationId: DeletePriceListsPriceListVariantsVariantPrices
|
||
summary: Delete a Variant's Prices
|
||
description: Delete all the prices related to a specific variant in a price list
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Price List.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: variant_id
|
||
required: true
|
||
description: The ID of the variant.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteVariantPrices
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.priceLists.deleteVariantPrices(priceListId, variantId)
|
||
|
||
.then(({ ids, object, deleted }) => {
|
||
console.log(ids);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/price-lists/{id}/variants/{variant_id}/prices'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Price Lists
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPriceListDeleteVariantPricesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/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 `q` or `handle`. The product categories can
|
||
also be paginated.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: term to search product categories' names and handles.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: handle
|
||
description: Filter by handle.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: is_internal
|
||
description: Filter by whether the category is internal or not.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: is_active
|
||
description: Filter by whether the category is active or not.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: include_descendants_tree
|
||
description: >-
|
||
If set to `true`, all nested descendants of a category are included
|
||
in the response.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: parent_category_id
|
||
description: Filter by the ID of a parent category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of product categories to skip when retrieving the product
|
||
categories.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of product categories returned.
|
||
schema:
|
||
type: integer
|
||
default: 100
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product categories.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product categories.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetProductCategoriesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.list()
|
||
|
||
.then(({ product_categories, limit, offset, count }) => {
|
||
console.log(product_categories.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/product-categories' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostProductCategories
|
||
summary: Create a Product Category
|
||
description: Create a Product Category.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductCategoriesReq'
|
||
x-codegen:
|
||
method: create
|
||
queryParams: AdminPostProductCategoriesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.create({
|
||
name: "Skinny Jeans",
|
||
})
|
||
|
||
.then(({ product_category }) => {
|
||
console.log(product_category.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/product-categories' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Skinny Jeans"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/product-categories/{id}:
|
||
get:
|
||
operationId: GetProductCategoriesCategory
|
||
summary: Get a Product Category
|
||
description: Retrieve a Product Category's details.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Category
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetProductCategoryParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.retrieve(productCategoryId)
|
||
|
||
.then(({ product_category }) => {
|
||
console.log(product_category.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/product-categories/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostProductCategoriesCategory
|
||
summary: Update a Product Category
|
||
description: Updates a Product Category.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
(Comma separated) Which fields should be expanded in each product
|
||
category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
(Comma separated) Which fields should be retrieved in each product
|
||
category.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductCategoriesCategoryReq'
|
||
x-codegen:
|
||
method: update
|
||
queryParams: AdminPostProductCategoriesCategoryParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.update(productCategoryId, {
|
||
name: "Skinny Jeans"
|
||
})
|
||
|
||
.then(({ product_category }) => {
|
||
console.log(product_category.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/product-categories/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Skinny Jeans"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductCategoriesCategory
|
||
summary: Delete a Product Category
|
||
description: Delete a Product Category. This does not delete associated products.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Category
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.delete(productCategoryId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/product-categories/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/product-categories/{id}/products/batch:
|
||
post:
|
||
operationId: PostProductCategoriesCategoryProductsBatch
|
||
summary: Add Products to a Category
|
||
description: Add a list of products to a product category.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostProductCategoriesCategoryProductsBatchReq
|
||
x-codegen:
|
||
method: addProducts
|
||
queryParams: AdminPostProductCategoriesCategoryProductsBatchParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.addProducts(productCategoryId, {
|
||
product_ids: [
|
||
{
|
||
id: productId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ product_category }) => {
|
||
console.log(product_category.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/product-categories/{id}/products/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
{
|
||
"id": "{product_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductCategoriesCategoryProductsBatch
|
||
summary: Remove Products from Category
|
||
description: Remove a list of products from a product category.
|
||
x-authenticated: true
|
||
x-featureFlag: product_categories
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product Category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product category.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteProductCategoriesCategoryProductsBatchReq
|
||
x-codegen:
|
||
method: removeProducts
|
||
queryParams: AdminDeleteProductCategoriesCategoryProductsBatchParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productCategories.removeProducts(productCategoryId, {
|
||
product_ids: [
|
||
{
|
||
id: productId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ product_category }) => {
|
||
console.log(product_category.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/product-categories/{id}/products/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
{
|
||
"id": "{product_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Categories
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductCategoriesCategoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/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 `q` or `value`. The product tags can also be sorted or
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of product tags returned.
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
- in: query
|
||
name: offset
|
||
description: The number of product tags to skip when retrieving the product tags.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: order
|
||
description: A product tag field to sort-order the retrieved product tags by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: discount_condition_id
|
||
description: >-
|
||
Filter by the ID of a discount condition. Only product tags that
|
||
this discount condition is applied to will be retrieved.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: value
|
||
style: form
|
||
explode: false
|
||
description: Filter by tag value.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: term to search product tags' values.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by tag IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetProductTagsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productTags.list()
|
||
|
||
.then(({ product_tags }) => {
|
||
console.log(product_tags.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/product-tags' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Tags
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductTagsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/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 `q` or `value`. The product types can also be sorted or
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of product types returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of product types to skip when retrieving the product
|
||
types.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: order
|
||
description: A product type field to sort-order the retrieved product types by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: discount_condition_id
|
||
description: >-
|
||
Filter by the ID of a discount condition. Only product types that
|
||
this discount condition is applied to will be retrieved.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: value
|
||
style: form
|
||
explode: false
|
||
description: Filter by value.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by product type IDs.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: term to search product types' values.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetProductTypesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.productTypes.list()
|
||
|
||
.then(({ product_types }) => {
|
||
console.log(product_types.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/product-types' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Types
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductTypesListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products:
|
||
get:
|
||
operationId: GetProducts
|
||
summary: List Products
|
||
description: >-
|
||
Retrieve a list of products. The products can be filtered by fields such
|
||
as `q` or `status`. The products can also be sorted or paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: >-
|
||
term to search products' title, description, variants' title and
|
||
sku, and collections' title.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: discount_condition_id
|
||
description: >-
|
||
Filter by the ID of a discount condition. Only products that this
|
||
discount condition is applied to will be retrieved.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by product IDs.
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: ID of the product.
|
||
- type: array
|
||
items:
|
||
type: string
|
||
description: ID of a product.
|
||
- in: query
|
||
name: status
|
||
style: form
|
||
explode: false
|
||
description: Filter by status.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
enum:
|
||
- draft
|
||
- proposed
|
||
- published
|
||
- rejected
|
||
- in: query
|
||
name: collection_id
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by product collection IDs. Only products that are associated
|
||
with the specified collections will be retrieved.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: tags
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by product tag IDs. Only products that are associated with
|
||
the specified tags will be retrieved.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: price_list_id
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by IDs of price lists. Only products that these price lists
|
||
are applied to will be retrieved.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: sales_channel_id
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by sales channel IDs. Only products that are available in the
|
||
specified sales channels will be retrieved.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: type_id
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by product type IDs. Only products that are associated with
|
||
the specified types will be retrieved.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: category_id
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
Filter by product category IDs. Only products that are associated
|
||
with the specified categories will be retrieved.
|
||
schema:
|
||
type: array
|
||
x-featureFlag: product_categories
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: include_category_children
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
whether to include product category children when filtering by
|
||
`category_id`
|
||
schema:
|
||
type: boolean
|
||
x-featureFlag: product_categories
|
||
- in: query
|
||
name: title
|
||
description: Filter by title.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: description
|
||
description: Filter by description.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: handle
|
||
description: Filter by handle.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: is_giftcard
|
||
description: Whether to retrieve gift cards or regular products.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: offset
|
||
description: The number of products to skip when retrieving the products.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of products returned.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
products.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
products.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order
|
||
description: A product field to sort-order the retrieved products by.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetProductsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.list()
|
||
|
||
.then(({ products, limit, offset, count }) => {
|
||
console.log(products.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/products' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostProducts
|
||
summary: Create a Product
|
||
x-authenticated: true
|
||
description: >-
|
||
Create a new Product. This API Route can also be used to create a gift
|
||
card if the `is_giftcard` field is set to `true`.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.create({
|
||
title: "Shirt",
|
||
is_giftcard: false,
|
||
discountable: true
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/products' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "Shirt"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/tag-usage:
|
||
get:
|
||
operationId: GetProductsTagUsage
|
||
summary: List Tags Usage Number
|
||
description: >-
|
||
Retrieve a list of Product Tags with how many times each is used in
|
||
products.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: listTags
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.listTags()
|
||
|
||
.then(({ tags }) => {
|
||
console.log(tags.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/products/tag-usage' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsListTagsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/types:
|
||
get:
|
||
deprecated: true
|
||
operationId: GetProductsTypes
|
||
summary: List Product Types
|
||
description: Retrieve a list of Product Types.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: listTypes
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.listTypes()
|
||
|
||
.then(({ types }) => {
|
||
console.log(types.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/products/types' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsListTypesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}:
|
||
get:
|
||
operationId: GetProductsProduct
|
||
summary: Get a Product
|
||
description: Retrieve a Product's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.retrieve(productId)
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/products/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostProductsProduct
|
||
summary: Update a Product
|
||
description: Update a Product's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.update(productId, {
|
||
title: "Shirt",
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/products/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "Size"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductsProduct
|
||
summary: Delete a Product
|
||
description: Delete a Product and its associated product variants and options.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.delete(productId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/products/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}/metadata:
|
||
post:
|
||
operationId: PostProductsProductMetadata
|
||
summary: Set Metadata
|
||
description: >-
|
||
Set the metadata of a Product. It can be any key-value pair, which
|
||
allows adding custom data to a product.
|
||
externalDocs:
|
||
description: Learn about the metadata attribute, and how to delete and update it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductMetadataReq'
|
||
x-codegen:
|
||
method: setMetadata
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.setMetadata(productId, {
|
||
key: "test",
|
||
value: "true"
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/products/{id}/metadata' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"key": "test",
|
||
"value": "true"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}/options:
|
||
post:
|
||
operationId: PostProductsProductOptions
|
||
summary: Add a Product Option
|
||
description: Add a Product Option to a Product.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductOptionsReq'
|
||
x-codegen:
|
||
method: addOption
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.addOption(productId, {
|
||
title: "Size"
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/products/{id}/options' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "Size"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}/options/{option_id}:
|
||
post:
|
||
operationId: PostProductsProductOptionsOption
|
||
summary: Update a Product Option
|
||
description: Update a Product Option's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: option_id
|
||
required: true
|
||
description: The ID of the Product Option.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductOptionsOption'
|
||
x-codegen:
|
||
method: updateOption
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.updateOption(productId, optionId, {
|
||
title: "Size"
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/products/{id}/options/{option_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"title": "Size"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductsProductOptionsOption
|
||
summary: Delete a Product Option
|
||
description: >-
|
||
Delete a Product Option. If there are product variants that use this
|
||
product option, they must be deleted before deleting the product option.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: option_id
|
||
required: true
|
||
description: The ID of the Product Option.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteOption
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.deleteOption(productId, optionId)
|
||
|
||
.then(({ option_id, object, deleted, product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/products/{id}/options/{option_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsDeleteOptionRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}/variants:
|
||
get:
|
||
operationId: GetProductsProductVariants
|
||
summary: List a Product's Variants
|
||
description: >
|
||
Retrieve a list of Product Variants associated with a Product. The
|
||
variants can be paginated.
|
||
|
||
|
||
By default, each variant will only have the `id` and `variant_id`
|
||
fields. You can use the `expand` and `fields` request parameters to
|
||
retrieve more fields or relations.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the product.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
product variants.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
product variants.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of product variants to skip when retrieving the product
|
||
variants.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of product variants returned.
|
||
schema:
|
||
type: integer
|
||
default: 100
|
||
x-codegen:
|
||
method: listVariants
|
||
queryParams: AdminGetProductsVariantsParams
|
||
x-codeSamples:
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/products/{id}/variants' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsListVariantsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostProductsProductVariants
|
||
summary: Create a Product Variant
|
||
description: >-
|
||
Create a Product Variant associated with a Product. Each product variant
|
||
must have a unique combination of Product Option values.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductVariantsReq'
|
||
x-codegen:
|
||
method: createVariant
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.createVariant(productId, {
|
||
title: "Color",
|
||
prices: [
|
||
{
|
||
amount: 1000,
|
||
currency_code: "eur"
|
||
}
|
||
],
|
||
options: [
|
||
{
|
||
option_id,
|
||
value: "S"
|
||
}
|
||
],
|
||
inventory_quantity: 100
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/products/{id}/variants' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "Color",
|
||
"prices": [
|
||
{
|
||
"amount": 1000,
|
||
"currency_code": "eur"
|
||
}
|
||
],
|
||
"options": [
|
||
{
|
||
"option_id": "asdasf",
|
||
"value": "S"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/products/{id}/variants/{variant_id}:
|
||
post:
|
||
operationId: PostProductsProductVariantsVariant
|
||
summary: Update a Product Variant
|
||
description: Update a Product Variant's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: variant_id
|
||
required: true
|
||
description: The ID of the Product Variant.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostProductsProductVariantsVariantReq'
|
||
x-codegen:
|
||
method: updateVariant
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.updateVariant(productId, variantId, {
|
||
title: "Color",
|
||
prices: [
|
||
{
|
||
amount: 1000,
|
||
currency_code: "eur"
|
||
}
|
||
],
|
||
options: [
|
||
{
|
||
option_id,
|
||
value: "S"
|
||
}
|
||
],
|
||
inventory_quantity: 100
|
||
})
|
||
|
||
.then(({ product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/products/{id}/variants/{variant_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"title": "Color",
|
||
"prices": [
|
||
{
|
||
"amount": 1000,
|
||
"currency_code": "eur"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteProductsProductVariantsVariant
|
||
summary: Delete a Product Variant
|
||
description: Delete a Product Variant.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Product.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: variant_id
|
||
required: true
|
||
description: The ID of the Product Variant.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteVariant
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.products.deleteVariant(productId, variantId)
|
||
|
||
.then(({ variant_id, object, deleted, product }) => {
|
||
console.log(product.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/products/{id}/variants/{variant_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Products
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminProductsDeleteVariantRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/publishable-api-keys:
|
||
get:
|
||
operationId: GetPublishableApiKeys
|
||
summary: List Publishable API keys
|
||
description: >-
|
||
Retrieve a list of publishable API keys. The publishable API keys can be
|
||
filtered by fields such as `q`. The publishable API keys can also be
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: q
|
||
description: term to search publishable API keys' titles.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of publishable API keys returned.
|
||
schema:
|
||
type: number
|
||
default: '20'
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of publishable API keys to skip when retrieving the
|
||
publishable API keys.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
publishable API keys.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
publishable API keys.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: GetPublishableApiKeysParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.list()
|
||
.then(({ publishable_api_keys, count, limit, offset }) => {
|
||
console.log(publishable_api_keys)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/publishable-api-keys' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostPublishableApiKeys
|
||
summary: Create Publishable API Key
|
||
description: Creates a Publishable API Key.
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostPublishableApiKeysReq'
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.create({
|
||
title
|
||
})
|
||
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/publishable-api-keys' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "Web API Key"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/publishable-api-keys/{id}:
|
||
get:
|
||
operationId: GetPublishableApiKeysPublishableApiKey
|
||
summary: Get a Publishable API Key
|
||
description: Retrieve a publishable API key's details.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable API Key.
|
||
schema:
|
||
type: string
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.retrieve(publishableApiKeyId)
|
||
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/publishable-api-keys/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostPublishableApiKysPublishableApiKey
|
||
summary: Update Publishable API Key
|
||
description: Update a Publishable API Key's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable API Key.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostPublishableApiKeysPublishableApiKeyReq
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.update(publishableApiKeyId, {
|
||
title: "new title"
|
||
})
|
||
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/publishable-api-key/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"title": "new title"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeletePublishableApiKeysPublishableApiKey
|
||
summary: Delete Publishable API Key
|
||
description: >-
|
||
Delete a Publishable API Key. Associated resources, such as sales
|
||
channels, are not deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable API Key to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.delete(publishableApiKeyId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/publishable-api-key/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeyDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
/admin/publishable-api-keys/{id}/revoke:
|
||
post:
|
||
operationId: PostPublishableApiKeysPublishableApiKeyRevoke
|
||
summary: Revoke a Publishable API Key
|
||
description: >-
|
||
Revoke a Publishable API Key. Revoking the publishable API Key can't be
|
||
undone, and the key can't be used in future requests.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable API Key.
|
||
schema:
|
||
type: string
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: revoke
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.revoke(publishableApiKeyId)
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/publishable-api-keys/{id}/revoke'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/publishable-api-keys/{id}/sales-channels:
|
||
get:
|
||
operationId: GetPublishableApiKeySalesChannels
|
||
summary: List Sales Channels
|
||
description: >-
|
||
List the sales channels associated with a publishable API key. The sales
|
||
channels can be filtered by fields such as `q`.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the publishable API key.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: query to search sales channels' names and descriptions.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: listSalesChannels
|
||
queryParams: GetPublishableApiKeySalesChannelsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.listSalesChannels()
|
||
.then(({ sales_channels }) => {
|
||
console.log(sales_channels.length)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl '{backend_url}/admin/publishable-api-keys/{id}/sales-channels'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPublishableApiKeysListSalesChannelsRes
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/publishable-api-keys/{id}/sales-channels/batch:
|
||
post:
|
||
operationId: PostPublishableApiKeySalesChannelsChannelsBatch
|
||
summary: Add Sales Channels
|
||
description: Assign a list of sales channels to a publishable API key.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable Api Key.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostPublishableApiKeySalesChannelsBatchReq
|
||
x-codegen:
|
||
method: addSalesChannelsBatch
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.addSalesChannelsBatch(publishableApiKeyId,
|
||
{
|
||
sales_channel_ids: [
|
||
{
|
||
id: channelId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/publishable-api-keys/{pak_id}/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"sales_channel_ids": [
|
||
{
|
||
"id": "{sales_channel_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeletePublishableApiKeySalesChannelsChannelsBatch
|
||
summary: Remove Sales Channels
|
||
description: >-
|
||
Remove a list of sales channels from a publishable API key. This doesn't
|
||
delete the sales channels and only removes the association between them
|
||
and the publishable API key.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Publishable API Key.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeletePublishableApiKeySalesChannelsBatchReq
|
||
x-codegen:
|
||
method: deleteSalesChannelsBatch
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.publishableApiKeys.deleteSalesChannelsBatch(publishableApiKeyId,
|
||
{
|
||
sales_channel_ids: [
|
||
{
|
||
id: channelId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ publishable_api_key }) => {
|
||
console.log(publishable_api_key.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE '{backend_url}/admin/publishable-api-keys/{id}/batch'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"sales_channel_ids": [
|
||
{
|
||
"id": "{sales_channel_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Publishable Api Keys
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPublishableApiKeysRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions:
|
||
get:
|
||
operationId: GetRegions
|
||
summary: List Regions
|
||
description: >-
|
||
Retrieve a list of Regions. The regions can be filtered by fields such
|
||
as `created_at`. The regions can also be paginated
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
required: false
|
||
description: Limit the number of regions returned.
|
||
- in: query
|
||
name: offset
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
required: false
|
||
description: The number of regions to skip when retrieving the regions.
|
||
- in: query
|
||
name: created_at
|
||
required: false
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
required: false
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
required: false
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetRegionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.list()
|
||
|
||
.then(({ regions, limit, offset, count }) => {
|
||
console.log(regions.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/regions' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostRegions
|
||
summary: Create a Region
|
||
description: Create a Region.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostRegionsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.create({
|
||
name: "Europe",
|
||
currency_code: "eur",
|
||
tax_rate: 0,
|
||
payment_providers: [
|
||
"manual"
|
||
],
|
||
fulfillment_providers: [
|
||
"manual"
|
||
],
|
||
countries: [
|
||
"DK"
|
||
]
|
||
})
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/regions' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Europe",
|
||
"currency_code": "eur",
|
||
"tax_rate": 0,
|
||
"payment_providers": [
|
||
"manual"
|
||
],
|
||
"fulfillment_providers": [
|
||
"manual"
|
||
],
|
||
"countries": [
|
||
"DK"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}:
|
||
get:
|
||
operationId: GetRegionsRegion
|
||
summary: Get a Region
|
||
description: Retrieve a Region's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.retrieve(regionId)
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/regions/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostRegionsRegion
|
||
summary: Update a Region
|
||
description: Update a Region's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostRegionsRegionReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.update(regionId, {
|
||
name: "Europe"
|
||
})
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/regions/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Europe"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteRegionsRegion
|
||
summary: Delete a Region
|
||
description: >-
|
||
Delete a Region. Associated resources, such as providers or currencies
|
||
are not deleted. Associated tax rates are deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.delete(regionId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/regions/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/countries:
|
||
post:
|
||
operationId: PostRegionsRegionCountries
|
||
summary: Add Country
|
||
description: Add a Country to the list of Countries in a Region
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostRegionsRegionCountriesReq'
|
||
x-codegen:
|
||
method: addCountry
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.addCountry(regionId, {
|
||
country_code: "dk"
|
||
})
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/regions/{region_id}/countries' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"country_code": "dk"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/countries/{country_code}:
|
||
delete:
|
||
operationId: PostRegionsRegionCountriesCountry
|
||
summary: Remove Country
|
||
x-authenticated: true
|
||
description: >-
|
||
Remove a Country from the list of Countries in a Region. The country
|
||
will still be available in the system, and it can be used in other
|
||
regions.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: country_code
|
||
description: The 2 character ISO code for the Country.
|
||
required: true
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
x-codegen:
|
||
method: deleteCountry
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.deleteCountry(regionId, "dk")
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/regions/{id}/countries/{country_code}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/fulfillment-options:
|
||
get:
|
||
operationId: GetRegionsRegionFulfillmentOptions
|
||
summary: List Fulfillment Options
|
||
description: Retrieve a list of fulfillment options available in a Region.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieveFulfillmentOptions
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.retrieveFulfillmentOptions(regionId)
|
||
|
||
.then(({ fulfillment_options }) => {
|
||
console.log(fulfillment_options.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/regions/{id}/fulfillment-options' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminGetRegionsRegionFulfillmentOptionsRes
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/fulfillment-providers:
|
||
post:
|
||
operationId: PostRegionsRegionFulfillmentProviders
|
||
summary: Add Fulfillment Provider
|
||
description: >-
|
||
Add a Fulfillment Provider to the list of fulfullment providers in a
|
||
Region.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostRegionsRegionFulfillmentProvidersReq
|
||
x-codegen:
|
||
method: addFulfillmentProvider
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.addFulfillmentProvider(regionId, {
|
||
provider_id: "manual"
|
||
})
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/regions/{id}/fulfillment-providers' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"provider_id": "manual"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/fulfillment-providers/{provider_id}:
|
||
delete:
|
||
operationId: PostRegionsRegionFulfillmentProvidersProvider
|
||
summary: Remove Fulfillment Provider
|
||
description: >-
|
||
Remove a Fulfillment Provider from a Region. The fulfillment provider
|
||
will still be available for usage in other regions.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: provider_id
|
||
required: true
|
||
description: The ID of the Fulfillment Provider.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deleteFulfillmentProvider
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.deleteFulfillmentProvider(regionId, "manual")
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/regions/{id}/fulfillment-providers/{provider_id}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/payment-providers:
|
||
post:
|
||
operationId: PostRegionsRegionPaymentProviders
|
||
summary: Add Payment Provider
|
||
description: Add a Payment Provider to the list of payment providers in a Region.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostRegionsRegionPaymentProvidersReq'
|
||
x-codegen:
|
||
method: addPaymentProvider
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.addPaymentProvider(regionId, {
|
||
provider_id: "manual"
|
||
})
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/regions/{id}/payment-providers' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"provider_id": "manual"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/regions/{id}/payment-providers/{provider_id}:
|
||
delete:
|
||
operationId: PostRegionsRegionPaymentProvidersProvider
|
||
summary: Remove Payment Provider
|
||
description: >-
|
||
Remove a Payment Provider from a Region. The payment provider will still
|
||
be available for usage in other regions.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Region.
|
||
schema:
|
||
type: string
|
||
- in: path
|
||
name: provider_id
|
||
required: true
|
||
description: The ID of the Payment Provider.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: deletePaymentProvider
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.regions.deletePaymentProvider(regionId, "manual")
|
||
|
||
.then(({ region }) => {
|
||
console.log(region.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/regions/{id}/payment-providers/{provider_id}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Regions
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminRegionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/reservations:
|
||
get:
|
||
operationId: GetReservations
|
||
summary: List Reservations
|
||
description: >-
|
||
Retrieve a list of Reservations. The reservations can be filtered by
|
||
fields such as `location_id` or `quantity`. The reservations can also be
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: location_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by location ID
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: inventory_item_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by inventory item ID.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: line_item_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by line item ID.
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: quantity
|
||
description: Filter by reservation quantity
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: number
|
||
description: filter by reservation quantity less than this number
|
||
gt:
|
||
type: number
|
||
description: filter by reservation quantity greater than this number
|
||
lte:
|
||
type: number
|
||
description: >-
|
||
filter by reservation quantity less than or equal to this
|
||
number
|
||
gte:
|
||
type: number
|
||
description: >-
|
||
filter by reservation quantity greater than or equal to this
|
||
number
|
||
- in: query
|
||
name: description
|
||
description: Filter by description.
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: description value to filter by.
|
||
- type: object
|
||
properties:
|
||
contains:
|
||
type: string
|
||
description: >-
|
||
filter by reservation description containing search
|
||
string.
|
||
starts_with:
|
||
type: string
|
||
description: >-
|
||
filter by reservation description starting with search
|
||
string.
|
||
ends_with:
|
||
type: string
|
||
description: >-
|
||
filter by reservation description ending with search
|
||
string.
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: offset
|
||
description: The number of reservations to skip when retrieving the reservations.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of reservations returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
reservations.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned
|
||
reservations.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetReservationsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.reservations.list()
|
||
|
||
.then(({ reservations, count, limit, offset }) => {
|
||
console.log(reservations.length)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/product-categories' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Reservations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostReservations
|
||
summary: Create a Reservation
|
||
description: >-
|
||
Create a Reservation which can be associated with any resource, such as
|
||
an order's line item.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReservationsReq'
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.reservations.create({
|
||
line_item_id: "item_123",
|
||
location_id: "loc_123",
|
||
inventory_item_id: "iitem_123",
|
||
quantity: 1
|
||
})
|
||
|
||
.then(({ reservation }) => {
|
||
console.log(reservation.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/reservations' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"line_item_id": "item_123",
|
||
"location_id": "loc_123",
|
||
"inventory_item_id": "iitem_123",
|
||
"quantity": 1
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Reservations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/reservations/{id}:
|
||
get:
|
||
operationId: GetReservationsReservation
|
||
summary: Get a Reservation
|
||
description: Retrieve a reservation's details.'
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the reservation.
|
||
schema:
|
||
type: string
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.reservations.retrieve(reservationId)
|
||
|
||
.then(({ reservation }) => {
|
||
console.log(reservation.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/reservations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Reservations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostReservationsReservation
|
||
summary: Update a Reservation
|
||
description: Update a Reservation's details.'
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Reservation.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReservationsReservationReq'
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.reservations.update(reservationId, {
|
||
quantity: 3
|
||
})
|
||
|
||
.then(({ reservation }) => {
|
||
console.log(reservation.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/reservations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"quantity": 3,
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Reservations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteReservationsReservation
|
||
summary: Delete a Reservation
|
||
description: >-
|
||
Delete a Reservation. Associated resources, such as the line item, will
|
||
not be deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Reservation to delete.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.reservations.delete(reservationId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/reservations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Reservations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReservationsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/return-reasons:
|
||
get:
|
||
operationId: GetReturnReasons
|
||
summary: List Return Reasons
|
||
description: Retrieve a list of Return Reasons.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returnReasons.list()
|
||
|
||
.then(({ return_reasons }) => {
|
||
console.log(return_reasons.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/return-reasons' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Return Reasons
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnReasonsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostReturnReasons
|
||
summary: Create a Return Reason
|
||
description: Create a Return Reason.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReturnReasonsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returnReasons.create({
|
||
label: "Damaged",
|
||
value: "damaged"
|
||
})
|
||
|
||
.then(({ return_reason }) => {
|
||
console.log(return_reason.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/return-reasons' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"label": "Damaged",
|
||
"value": "damaged"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Return Reasons
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnReasonsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/return-reasons/{id}:
|
||
get:
|
||
operationId: GetReturnReasonsReason
|
||
summary: Get a Return Reason
|
||
description: Retrieve a Return Reason's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Return Reason.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returnReasons.retrieve(returnReasonId)
|
||
|
||
.then(({ return_reason }) => {
|
||
console.log(return_reason.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/return-reasons/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Return Reasons
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnReasonsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostReturnReasonsReason
|
||
summary: Update a Return Reason
|
||
description: Update a Return Reason's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Return Reason.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReturnReasonsReasonReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returnReasons.update(returnReasonId, {
|
||
label: "Damaged"
|
||
})
|
||
|
||
.then(({ return_reason }) => {
|
||
console.log(return_reason.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/return-reasons/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"label": "Damaged"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Return Reasons
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnReasonsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteReturnReason
|
||
summary: Delete a Return Reason
|
||
description: Delete a return reason.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the return reason
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returnReasons.delete(returnReasonId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/return-reasons/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Return Reasons
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnReasonsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/returns:
|
||
get:
|
||
operationId: GetReturns
|
||
summary: List Returns
|
||
description: Retrieve a list of Returns. The returns can be paginated.
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of Returns returned.
|
||
schema:
|
||
type: number
|
||
default: '50'
|
||
- in: query
|
||
name: offset
|
||
description: The number of Returns to skip when retrieving the Returns.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetReturnsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returns.list()
|
||
|
||
.then(({ returns, limit, offset, count }) => {
|
||
console.log(returns.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/returns' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Returns
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/returns/{id}/cancel:
|
||
post:
|
||
operationId: PostReturnsReturnCancel
|
||
summary: Cancel a Return
|
||
description: >-
|
||
Registers a Return as canceled. The return can be associated with an
|
||
order, claim, or swap.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Return.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: cancel
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returns.cancel(returnId)
|
||
|
||
.then(({ order }) => {
|
||
console.log(order.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/returns/{id}/cancel' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Returns
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnsCancelRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/returns/{id}/receive:
|
||
post:
|
||
operationId: PostReturnsReturnReceive
|
||
summary: Receive a Return
|
||
description: >-
|
||
Mark a Return as received. This also updates the status of associated
|
||
order, claim, or swap accordingly.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Return.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostReturnsReturnReceiveReq'
|
||
x-codegen:
|
||
method: receive
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.returns.receive(returnId, {
|
||
items: [
|
||
{
|
||
item_id,
|
||
quantity: 1
|
||
}
|
||
]
|
||
})
|
||
|
||
.then((data) => {
|
||
console.log(data.return.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/returns/{id}/receive' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"items": [
|
||
{
|
||
"item_id": "asafg",
|
||
"quantity": 1
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Returns
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminReturnsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/sales-channels:
|
||
get:
|
||
operationId: GetSalesChannels
|
||
summary: List Sales Channels
|
||
description: >-
|
||
Retrieve a list of sales channels. The sales channels can be filtered by
|
||
fields such as `q` or `name`. The sales channels can also be sorted or
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: id
|
||
description: Filter by a sales channel ID.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: name
|
||
description: Filter by name.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: description
|
||
description: Filter by description.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: q
|
||
description: term used to search sales channels' names and descriptions.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order
|
||
description: A sales-channel field to sort-order the retrieved sales channels by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of sales channels to skip when retrieving the sales
|
||
channels.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of sales channels returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
sales channels.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned sales
|
||
channels.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetSalesChannelsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.list()
|
||
|
||
.then(({ sales_channels, limit, offset, count }) => {
|
||
console.log(sales_channels.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/sales-channels' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostSalesChannels
|
||
summary: Create a Sales Channel
|
||
description: Create a Sales Channel.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostSalesChannelsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.create({
|
||
name: "App",
|
||
description: "Mobile app"
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/sales-channels' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "App"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/sales-channels/{id}:
|
||
get:
|
||
operationId: GetSalesChannelsSalesChannel
|
||
summary: Get a Sales Channel
|
||
description: Retrieve a sales channel's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales channel.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.retrieve(salesChannelId)
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/sales-channels/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostSalesChannelsSalesChannel
|
||
summary: Update a Sales Channel
|
||
description: Update a Sales Channel's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales Channel.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostSalesChannelsSalesChannelReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.update(salesChannelId, {
|
||
name: "App"
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/sales-channels/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "App"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteSalesChannelsSalesChannel
|
||
summary: Delete a Sales Channel
|
||
description: >-
|
||
Delete a sales channel. Associated products, stock locations, and other
|
||
resources are not deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales channel.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.delete(salesChannelId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/sales-channels/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/sales-channels/{id}/products/batch:
|
||
post:
|
||
operationId: PostSalesChannelsChannelProductsBatch
|
||
summary: Add Products to Sales Channel
|
||
description: Add a list of products to a sales channel.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales channel.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostSalesChannelsChannelProductsBatchReq
|
||
x-codegen:
|
||
method: addProducts
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.addProducts(salesChannelId, {
|
||
product_ids: [
|
||
{
|
||
id: productId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/sales-channels/{id}/products/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
{
|
||
"id": "{product_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteSalesChannelsChannelProductsBatch
|
||
summary: Remove Products from Sales Channel
|
||
description: >-
|
||
Remove a list of products from a sales channel. This does not delete the
|
||
product. It only removes the association between the product and the
|
||
sales channel.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales Channel
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteSalesChannelsChannelProductsBatchReq
|
||
x-codegen:
|
||
method: removeProducts
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.removeProducts(salesChannelId, {
|
||
product_ids: [
|
||
{
|
||
id: productId
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/sales-channels/{id}/products/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_ids": [
|
||
{
|
||
"id": "{product_id}"
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/sales-channels/{id}/stock-locations:
|
||
post:
|
||
operationId: PostSalesChannelsSalesChannelStockLocation
|
||
summary: Associate a Stock Location
|
||
description: Associate a stock location with a Sales Channel.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales Channel.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminPostSalesChannelsChannelStockLocationsReq
|
||
x-codegen:
|
||
method: addLocation
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.addLocation(salesChannelId, {
|
||
location_id: "loc_123"
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/sales-channels/{id}/stock-locations' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"locaton_id": "loc_123"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteSalesChannelsSalesChannelStockLocation
|
||
summary: Remove Stock Location from Sales Channels.
|
||
description: >-
|
||
Remove a stock location from a Sales Channel. This only removes the
|
||
association between the stock location and the sales channel. It does
|
||
not delete the stock location.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Sales Channel.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteSalesChannelsChannelStockLocationsReq
|
||
x-codegen:
|
||
method: removeLocation
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.salesChannels.removeLocation(salesChannelId, {
|
||
location_id: "loc_id"
|
||
})
|
||
|
||
.then(({ sales_channel }) => {
|
||
console.log(sales_channel.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/sales-channels/{id}/stock-locations' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"locaton_id": "loc_id"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Sales Channels
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSalesChannelsDeleteLocationRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/shipping-options:
|
||
get:
|
||
operationId: GetShippingOptions
|
||
summary: List Shipping Options
|
||
description: >-
|
||
Retrieve a list of Shipping Options. The shipping options can be
|
||
filtered by fields such as `region_id` or `is_return`.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: region_id
|
||
schema:
|
||
type: string
|
||
description: Filter by a region ID.
|
||
- in: query
|
||
name: is_return
|
||
description: Filter by whether the shipping option is used for returns or orders.
|
||
schema:
|
||
type: boolean
|
||
- in: query
|
||
name: admin_only
|
||
schema:
|
||
type: boolean
|
||
description: Filter by whether the shipping option is used only by admins or not.
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetShippingOptionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingOptions.list()
|
||
|
||
.then(({ shipping_options, count }) => {
|
||
console.log(shipping_options.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/shipping-options' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Options
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingOptionsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostShippingOptions
|
||
summary: Create Shipping Option
|
||
description: Create a Shipping Option.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostShippingOptionsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingOptions.create({
|
||
name: "PostFake",
|
||
region_id,
|
||
provider_id,
|
||
data: {
|
||
},
|
||
price_type: "flat_rate"
|
||
})
|
||
|
||
.then(({ shipping_option }) => {
|
||
console.log(shipping_option.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/shipping-options' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "PostFake",
|
||
"region_id": "afasf",
|
||
"provider_id": "manual",
|
||
"data": {},
|
||
"price_type": "flat_rate"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Options
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingOptionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/shipping-options/{id}:
|
||
get:
|
||
operationId: GetShippingOptionsOption
|
||
summary: Get a Shipping Option
|
||
description: Retrieve a Shipping Option's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Option.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingOptions.retrieve(optionId)
|
||
|
||
.then(({ shipping_option }) => {
|
||
console.log(shipping_option.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/shipping-options/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Options
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingOptionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostShippingOptionsOption
|
||
summary: Update Shipping Option
|
||
description: Update a Shipping Option's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Option.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostShippingOptionsOptionReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingOptions.update(optionId, {
|
||
name: "PostFake",
|
||
requirements: [
|
||
{
|
||
id,
|
||
type: "max_subtotal",
|
||
amount: 1000
|
||
}
|
||
]
|
||
})
|
||
|
||
.then(({ shipping_option }) => {
|
||
console.log(shipping_option.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/shipping-options/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"requirements": [
|
||
{
|
||
"type": "max_subtotal",
|
||
"amount": 1000
|
||
}
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Options
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingOptionsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteShippingOptionsOption
|
||
summary: Delete Shipping Option
|
||
description: >-
|
||
Delete a Shipping Option. Once deleted, it can't be used when creating
|
||
orders or returns.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Option.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingOptions.delete(optionId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/shipping-options/{option_id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Options
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingOptionsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/shipping-profiles:
|
||
get:
|
||
operationId: GetShippingProfiles
|
||
summary: List Shipping Profiles
|
||
description: Retrieve a list of Shipping Profiles.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingProfiles.list()
|
||
|
||
.then(({ shipping_profiles }) => {
|
||
console.log(shipping_profiles.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/shipping-profiles' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Profiles
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingProfilesListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostShippingProfiles
|
||
summary: Create a Shipping Profile
|
||
description: Create a Shipping Profile.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostShippingProfilesReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingProfiles.create({
|
||
name: "Large Products"
|
||
})
|
||
|
||
.then(({ shipping_profile }) => {
|
||
console.log(shipping_profile.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/shipping-profiles' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Large Products"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Profiles
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingProfilesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/shipping-profiles/{id}:
|
||
get:
|
||
operationId: GetShippingProfilesProfile
|
||
summary: Get a Shipping Profile
|
||
description: Retrieve a Shipping Profile's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Profile.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingProfiles.retrieve(profileId)
|
||
|
||
.then(({ shipping_profile }) => {
|
||
console.log(shipping_profile.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/shipping-profiles/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Profiles
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingProfilesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostShippingProfilesProfile
|
||
summary: Update a Shipping Profile
|
||
description: Update a Shipping Profile's details.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Profile.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostShippingProfilesProfileReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingProfiles.update(shippingProfileId, {
|
||
name: 'Large Products'
|
||
})
|
||
|
||
.then(({ shipping_profile }) => {
|
||
console.log(shipping_profile.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/shipping-profiles/{id} \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Large Products"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Profiles
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminShippingProfilesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteShippingProfilesProfile
|
||
summary: Delete a Shipping Profile
|
||
description: >-
|
||
Delete a Shipping Profile. Associated shipping options are deleted as
|
||
well.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Profile.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.shippingProfiles.delete(profileId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/shipping-profiles/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Shipping Profiles
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteShippingProfileRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/stock-locations:
|
||
get:
|
||
operationId: GetStockLocations
|
||
summary: List Stock Locations
|
||
description: >-
|
||
Retrieve a list of stock locations. The stock locations can be filtered
|
||
by fields such as `name` or `created_at`. The stock locations can also
|
||
be sorted or paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: id
|
||
description: Filter by ID.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: name
|
||
description: Filter by name.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: order
|
||
description: >-
|
||
A stock-location field to sort-order the retrieved stock locations
|
||
by.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: created_at
|
||
description: Filter by a creation date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: updated_at
|
||
description: Filter by an update date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: deleted_at
|
||
description: Filter by a deletion date range.
|
||
schema:
|
||
type: object
|
||
properties:
|
||
lt:
|
||
type: string
|
||
description: filter by dates less than this date
|
||
format: date
|
||
gt:
|
||
type: string
|
||
description: filter by dates greater than this date
|
||
format: date
|
||
lte:
|
||
type: string
|
||
description: filter by dates less than or equal to this date
|
||
format: date
|
||
gte:
|
||
type: string
|
||
description: filter by dates greater than or equal to this date
|
||
format: date
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of stock locations to skip when retrieving the stock
|
||
locations.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of stock locations returned.
|
||
schema:
|
||
type: integer
|
||
default: 20
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
stock locations.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned stock
|
||
locations.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetStockLocationsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.stockLocations.list()
|
||
|
||
.then(({ stock_locations, limit, offset, count }) => {
|
||
console.log(stock_locations.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/stock-locations' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Stock Locations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStockLocationsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostStockLocations
|
||
summary: Create a Stock Location
|
||
description: Create a Stock Location.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
stock location.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned stock
|
||
location.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostStockLocationsReq'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.stockLocations.create({
|
||
name: "Main Warehouse",
|
||
})
|
||
|
||
.then(({ stock_location }) => {
|
||
console.log(stock_location.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/stock-locations' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "App"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Stock Locations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStockLocationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/stock-locations/{id}:
|
||
get:
|
||
operationId: GetStockLocationsStockLocation
|
||
summary: Get a Stock Location
|
||
description: Retrieve a Stock Location's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Stock Location.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
stock location.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned stock
|
||
location.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetStockLocationsLocationParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.stockLocations.retrieve(stockLocationId)
|
||
|
||
.then(({ stock_location }) => {
|
||
console.log(stock_location.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/stock-locations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Stock Locations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStockLocationsRes'
|
||
post:
|
||
operationId: PostStockLocationsStockLocation
|
||
summary: Update a Stock Location
|
||
description: Update a Stock Location's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Stock Location.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
stock location.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned stock
|
||
location.
|
||
schema:
|
||
type: string
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostStockLocationsLocationReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.stockLocations.update(stockLocationId, {
|
||
name: 'Main Warehouse'
|
||
})
|
||
|
||
.then(({ stock_location }) => {
|
||
console.log(stock_location.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/stock-locations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Main Warehouse"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Stock Locations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStockLocationsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteStockLocationsStockLocation
|
||
summary: Delete a Stock Location
|
||
description: Delete a Stock Location.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Stock Location.
|
||
schema:
|
||
type: string
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.stockLocations.delete(stockLocationId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/stock-locations/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Stock Locations
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStockLocationsDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
/admin/store:
|
||
get:
|
||
operationId: GetStore
|
||
summary: Get Store details
|
||
description: Retrieve the Store's details.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.retrieve()
|
||
|
||
.then(({ store }) => {
|
||
console.log(store.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/store' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminExtendedStoresRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostStore
|
||
summary: Update Store Details
|
||
description: Update the Store's details.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostStoreReq'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.update({
|
||
name: "Medusa Store"
|
||
})
|
||
|
||
.then(({ store }) => {
|
||
console.log(store.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/store' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "Medusa Store"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStoresRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/store/currencies/{code}:
|
||
post:
|
||
operationId: PostStoreCurrenciesCode
|
||
summary: Add a Currency Code
|
||
description: >-
|
||
Add a Currency Code to the available currencies in a store. This does
|
||
not create new currencies, as currencies are defined within the Medusa
|
||
backend. To create a currency, you can create a migration that inserts
|
||
the currency into the database.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: code
|
||
required: true
|
||
description: The 3 character ISO currency code.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
x-codegen:
|
||
method: addCurrency
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.addCurrency("eur")
|
||
|
||
.then(({ store }) => {
|
||
console.log(store.currencies);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST '{backend_url}/admin/store/currencies/{currency_code}'
|
||
\
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStoresRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteStoreCurrenciesCode
|
||
summary: Remove a Currency
|
||
description: >-
|
||
Remove a Currency Code from the available currencies in a store. This
|
||
does not completely delete the currency and it can be added again later
|
||
to the store.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: code
|
||
required: true
|
||
description: The 3 character ISO currency code.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
x-codegen:
|
||
method: deleteCurrency
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.deleteCurrency("eur")
|
||
|
||
.then(({ store }) => {
|
||
console.log(store.currencies);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/store/currencies/{currency_code}' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminStoresRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/store/payment-providers:
|
||
get:
|
||
operationId: GetStorePaymentProviders
|
||
summary: List Payment Providers
|
||
description: Retrieve a list of available Payment Providers in a store.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: listPaymentProviders
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.listPaymentProviders()
|
||
|
||
.then(({ payment_providers }) => {
|
||
console.log(payment_providers.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/store/payment-providers' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPaymentProvidersList'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/store/tax-providers:
|
||
get:
|
||
operationId: GetStoreTaxProviders
|
||
summary: List Tax Providers
|
||
description: Retrieve a list of available Tax Providers in a store.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: listTaxProviders
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.store.listTaxProviders()
|
||
|
||
.then(({ tax_providers }) => {
|
||
console.log(tax_providers.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/store/tax-providers' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Store
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxProvidersList'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/swaps:
|
||
get:
|
||
operationId: GetSwaps
|
||
summary: List Swaps
|
||
description: Retrieve a list of Swaps. The swaps can be paginated.
|
||
parameters:
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of swaps returned.
|
||
schema:
|
||
type: number
|
||
default: '50'
|
||
- in: query
|
||
name: offset
|
||
description: The number of swaps to skip when retrieving the swaps.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetSwapsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.swaps.list()
|
||
|
||
.then(({ swaps }) => {
|
||
console.log(swaps.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/swaps' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Swaps
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSwapsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/swaps/{id}:
|
||
get:
|
||
operationId: GetSwapsSwap
|
||
summary: Get a Swap
|
||
description: Retrieve a Swap's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Swap.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.swaps.retrieve(swapId)
|
||
|
||
.then(({ swap }) => {
|
||
console.log(swap.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/swaps/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Swaps
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminSwapsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/tax-rates:
|
||
get:
|
||
operationId: GetTaxRates
|
||
summary: List Tax Rates
|
||
description: >-
|
||
Retrieve a list of Tax Rates. The tax rates can be filtered by fields
|
||
such as `name` or `rate`. The tax rates can also be paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: name
|
||
description: Filter by name.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: region_id
|
||
style: form
|
||
explode: false
|
||
description: Filter by Region IDs
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
- type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: code
|
||
description: Filter by code.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: rate
|
||
style: form
|
||
explode: false
|
||
description: Filter by Rate
|
||
schema:
|
||
oneOf:
|
||
- type: number
|
||
- type: object
|
||
properties:
|
||
lt:
|
||
type: number
|
||
description: filter by rates less than this number
|
||
gt:
|
||
type: number
|
||
description: filter by rates greater than this number
|
||
lte:
|
||
type: number
|
||
description: filter by rates less than or equal to this number
|
||
gte:
|
||
type: number
|
||
description: filter by rates greater than or equal to this number
|
||
- in: query
|
||
name: offset
|
||
description: The number of tax rates to skip when retrieving the tax rates.
|
||
schema:
|
||
type: integer
|
||
default: 0
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of tax rates returned.
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetTaxRatesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.list()
|
||
|
||
.then(({ tax_rates, limit, offset, count }) => {
|
||
console.log(tax_rates.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/tax-rates' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
post:
|
||
operationId: PostTaxRates
|
||
summary: Create a Tax Rate
|
||
description: Create a Tax Rate.
|
||
parameters:
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostTaxRatesReq'
|
||
x-codegen:
|
||
method: create
|
||
queryParams: AdminPostTaxRatesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.create({
|
||
code: "TEST",
|
||
name: "New Tax Rate",
|
||
region_id
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/tax-rates' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"code": "TEST",
|
||
"name": "New Tax Rate",
|
||
"region_id": "{region_id}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/tax-rates/{id}:
|
||
get:
|
||
operationId: GetTaxRatesTaxRate
|
||
summary: Get a Tax Rate
|
||
description: Retrieve a Tax Rate's details.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetTaxRatesTaxRateParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.retrieve(taxRateId)
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/tax-rates/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostTaxRatesTaxRate
|
||
summary: Update a Tax Rate
|
||
description: Update a Tax Rate's details.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostTaxRatesTaxRateReq'
|
||
x-codegen:
|
||
method: update
|
||
queryParams: AdminPostTaxRatesTaxRateParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.update(taxRateId, {
|
||
name: "New Tax Rate"
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/tax-rates/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"name": "New Tax Rate"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteTaxRatesTaxRate
|
||
summary: Delete a Tax Rate
|
||
description: >-
|
||
Delete a Tax Rate. Resources associated with the tax rate, such as
|
||
products or product types, are not deleted.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the Shipping Option.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.delete(taxRateId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/tax-rates/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesDeleteRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/tax-rates/{id}/product-types/batch:
|
||
post:
|
||
operationId: PostTaxRatesTaxRateProductTypes
|
||
summary: Add to Product Types
|
||
description: Associates a Tax Rate with a list of Product Types
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostTaxRatesTaxRateProductTypesReq'
|
||
x-codegen:
|
||
method: addProductTypes
|
||
queryParams: AdminPostTaxRatesTaxRateProductTypesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.addProductTypes(taxRateId, {
|
||
product_types: [
|
||
productTypeId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/tax-rates/{id}/product-types/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_types": [
|
||
"{product_type_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteTaxRatesTaxRateProductTypes
|
||
summary: Remove Product Types from Rate
|
||
description: >-
|
||
Remove product types from a tax rate. This only removes the association
|
||
between the product types and the tax rate. It does not delete the
|
||
product types.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteTaxRatesTaxRateProductTypesReq'
|
||
x-codegen:
|
||
method: removeProductTypes
|
||
queryParams: AdminDeleteTaxRatesTaxRateProductTypesParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.removeProductTypes(taxRateId, {
|
||
product_types: [
|
||
productTypeId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/tax-rates/{id}/product-types/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"product_types": [
|
||
"{product_type_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/tax-rates/{id}/products/batch:
|
||
post:
|
||
operationId: PostTaxRatesTaxRateProducts
|
||
summary: Add to Products
|
||
description: Associates a Tax Rate with a list of Products.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostTaxRatesTaxRateProductsReq'
|
||
x-codegen:
|
||
method: addProducts
|
||
queryParams: AdminPostTaxRatesTaxRateProductsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.addProducts(taxRateId, {
|
||
products: [
|
||
productId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/tax-rates/{id}/products/batch' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"products": [
|
||
"{product_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteTaxRatesTaxRateProducts
|
||
summary: Remove Products from Rate
|
||
description: >-
|
||
Remove products from a tax rate. This only removes the association
|
||
between the products and the tax rate. It does not delete the products.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteTaxRatesTaxRateProductsReq'
|
||
x-codegen:
|
||
method: removeProducts
|
||
queryParams: AdminDeleteTaxRatesTaxRateProductsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.removeProducts(taxRateId, {
|
||
products: [
|
||
productId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/tax-rates/{id}/products/batch' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"products": [
|
||
"{product_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/tax-rates/{id}/shipping-options/batch:
|
||
post:
|
||
operationId: PostTaxRatesTaxRateShippingOptions
|
||
summary: Add to Shipping Options
|
||
description: Associates a Tax Rate with a list of Shipping Options.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostTaxRatesTaxRateShippingOptionsReq'
|
||
x-codegen:
|
||
method: addShippingOptions
|
||
queryParams: AdminPostTaxRatesTaxRateShippingOptionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.addShippingOptions(taxRateId, {
|
||
shipping_options: [
|
||
shippingOptionId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X POST
|
||
'{backend_url}/admin/tax-rates/{id}/shipping-options/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"shipping_options": [
|
||
"{shipping_option_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteTaxRatesTaxRateShippingOptions
|
||
summary: Remove Shipping Options from Rate
|
||
description: >-
|
||
Remove shipping options from a tax rate. This only removes the
|
||
association between the shipping options and the tax rate. It does not
|
||
delete the shipping options.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: ID of the tax rate.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
Comma-separated fields that should be included in the returned tax
|
||
rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
Comma-separated relations that should be expanded in the returned
|
||
tax rate.
|
||
style: form
|
||
explode: false
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: >-
|
||
#/components/schemas/AdminDeleteTaxRatesTaxRateShippingOptionsReq
|
||
x-codegen:
|
||
method: removeShippingOptions
|
||
queryParams: AdminDeleteTaxRatesTaxRateShippingOptionsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.taxRates.removeShippingOptions(taxRateId, {
|
||
shipping_options: [
|
||
shippingOptionId
|
||
]
|
||
})
|
||
|
||
.then(({ tax_rate }) => {
|
||
console.log(tax_rate.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: >
|
||
curl -X DELETE
|
||
'{backend_url}/admin/tax-rates/{id}/shipping-options/batch' \
|
||
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
|
||
-H 'Content-Type: application/json' \
|
||
|
||
--data-raw '{
|
||
"shipping_options": [
|
||
"{shipping_option_id}"
|
||
]
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Tax Rates
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminTaxRatesRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/uploads:
|
||
post:
|
||
operationId: PostUploads
|
||
summary: Upload Files
|
||
description: >-
|
||
Upload at least one file to a public bucket or storage. The file upload
|
||
is handled by the file service installed on the Medusa backend.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
files:
|
||
type: string
|
||
format: binary
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.uploads.create(file)
|
||
|
||
.then(({ uploads }) => {
|
||
console.log(uploads.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/uploads' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: image/jpeg' \
|
||
--form 'files=@"<FILE_PATH_1>"' \
|
||
--form 'files=@"<FILE_PATH_1>"'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Uploads
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUploadsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteUploads
|
||
summary: Delete an Uploaded File
|
||
description: >-
|
||
Delete an uploaded file from storage. The file is deleted using the
|
||
installed file service on the Medusa backend.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteUploadsReq'
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.uploads.delete({
|
||
file_key
|
||
})
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/uploads' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"file_key": "{file_key}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Uploads
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteUploadsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/uploads/download-url:
|
||
post:
|
||
operationId: PostUploadsDownloadUrl
|
||
summary: Get a File's Download URL
|
||
description: >-
|
||
Create and retrieve a presigned or public download URL for a file. The
|
||
URL creation is handled by the file service installed on the Medusa
|
||
backend.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminPostUploadsDownloadUrlReq'
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.uploads.getPresignedDownloadUrl({
|
||
file_key
|
||
})
|
||
|
||
.then(({ download_url }) => {
|
||
console.log(download_url);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/uploads/download-url' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"file_key": "{file_key}"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Uploads
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUploadsDownloadUrlRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/uploads/protected:
|
||
post:
|
||
operationId: PostUploadsProtected
|
||
summary: Protected File Upload
|
||
description: >-
|
||
Upload at least one file to an ACL or a non-public bucket. The file
|
||
upload is handled by the file service installed on the Medusa backend.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
multipart/form-data:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
files:
|
||
type: string
|
||
format: binary
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.uploads.createProtected(file)
|
||
|
||
.then(({ uploads }) => {
|
||
console.log(uploads.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/uploads/protected' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: image/jpeg' \
|
||
--form 'files=@"<FILE_PATH_1>"' \
|
||
--form 'files=@"<FILE_PATH_1>"'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Uploads
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUploadsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/users:
|
||
get:
|
||
operationId: GetUsers
|
||
summary: List Users
|
||
description: Retrieve all admin users.
|
||
x-authenticated: true
|
||
x-codegen:
|
||
method: list
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.list()
|
||
|
||
.then(({ users }) => {
|
||
console.log(users.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/users' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUsersListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostUsers
|
||
summary: Create a User
|
||
description: >-
|
||
Create an admin User. The user has the same privileges as all admin
|
||
users, and will be able to authenticate and perform admin
|
||
functionalities right after creation.
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminCreateUserRequest'
|
||
x-codegen:
|
||
method: create
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.create({
|
||
email: "user@example.com",
|
||
password: "supersecret"
|
||
})
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/users' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com",
|
||
"password": "supersecret"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUserRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/users/password-token:
|
||
post:
|
||
operationId: PostUsersUserPasswordToken
|
||
summary: Request Password Reset
|
||
description: Generate a password token for an admin user with a given email.
|
||
externalDocs:
|
||
description: How to reset a user's password
|
||
url: >-
|
||
https://docs.medusajs.com/modules/users/admin/manage-profile#reset-password
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminResetPasswordTokenRequest'
|
||
x-codegen:
|
||
method: sendResetPasswordToken
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.sendResetPasswordToken({
|
||
email: "user@example.com"
|
||
})
|
||
|
||
.then(() => {
|
||
// successful
|
||
})
|
||
|
||
.catch(() => {
|
||
// error occurred
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/users/password-token' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"email": "user@example.com"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'204':
|
||
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'
|
||
/admin/users/reset-password:
|
||
post:
|
||
operationId: PostUsersUserPassword
|
||
summary: Reset Password
|
||
description: >-
|
||
Reset the password of an admin User using their reset password token. A
|
||
user must request to reset their password first before attempting to
|
||
reset their password with this request.
|
||
externalDocs:
|
||
description: How to reset a user's password
|
||
url: >-
|
||
https://docs.medusajs.com/modules/users/admin/manage-profile#reset-password
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminResetPasswordRequest'
|
||
x-codegen:
|
||
method: resetPassword
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.resetPassword({
|
||
token: "supersecrettoken",
|
||
password: "supersecret"
|
||
})
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/users/reset-password' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"token": "supersecrettoken",
|
||
"password": "supersecret"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUserRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/users/{id}:
|
||
get:
|
||
operationId: GetUsersUser
|
||
summary: Get a User
|
||
description: Retrieve an admin user's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the User.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.retrieve(userId)
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/users/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUserRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: PostUsersUser
|
||
summary: Update a User
|
||
description: Update an admin user's details.
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the User.
|
||
schema:
|
||
type: string
|
||
x-authenticated: true
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUpdateUserRequest'
|
||
x-codegen:
|
||
method: update
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.update(userId, {
|
||
first_name: "Marcellus"
|
||
})
|
||
|
||
.then(({ user }) => {
|
||
console.log(user.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X POST '{backend_url}/admin/users/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}' \
|
||
-H 'Content-Type: application/json' \
|
||
--data-raw '{
|
||
"first_name": "Marcellus"
|
||
}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminUserRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/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: DeleteUsersUser
|
||
summary: Delete a User
|
||
description: >-
|
||
Delete a User. Once deleted, the user will not be able to authenticate
|
||
or perform admin functionalities.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the User.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: delete
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.users.delete(userId)
|
||
|
||
.then(({ id, object, deleted }) => {
|
||
console.log(id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl -X DELETE '{backend_url}/admin/users/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Users
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminDeleteUserRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/variants:
|
||
get:
|
||
operationId: GetVariants
|
||
summary: List Product Variants
|
||
description: >-
|
||
Retrieve a list of Product Variants. The product variant can be filtered
|
||
by fields such as `id` or `title`. The product variant can also be
|
||
paginated.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: query
|
||
name: id
|
||
style: form
|
||
explode: false
|
||
description: Filter by product variant IDs.
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: A product variant ID.
|
||
- type: array
|
||
description: An array of product variant IDs.
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
"Comma-separated relations that should be expanded in the returned
|
||
product variants."
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
"Comma-separated fields that should be included in the returned
|
||
product variants."
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: offset
|
||
description: >-
|
||
The number of product variants to skip when retrieving the product
|
||
variants.
|
||
schema:
|
||
type: number
|
||
default: '0'
|
||
- in: query
|
||
name: limit
|
||
description: Limit the number of product variants returned.
|
||
schema:
|
||
type: number
|
||
default: '100'
|
||
- in: query
|
||
name: cart_id
|
||
style: form
|
||
explode: false
|
||
description: The ID of the cart to use for the price selection context.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: region_id
|
||
style: form
|
||
explode: false
|
||
description: The ID of the region to use for the price selection context.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
description: Price selection context overview
|
||
url: >-
|
||
https://docs.medusajs.com/modules/price-lists/price-selection-strategy#context-object
|
||
- in: query
|
||
name: currency_code
|
||
style: form
|
||
explode: false
|
||
description: >-
|
||
The 3 character ISO currency code to use for the price selection
|
||
context.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
description: Price selection context overview
|
||
url: >-
|
||
https://docs.medusajs.com/modules/price-lists/price-selection-strategy#context-object
|
||
- in: query
|
||
name: customer_id
|
||
style: form
|
||
explode: false
|
||
description: The ID of the customer to use for the price selection context.
|
||
schema:
|
||
type: string
|
||
externalDocs:
|
||
description: Price selection context overview
|
||
url: >-
|
||
https://docs.medusajs.com/modules/price-lists/price-selection-strategy#context-object
|
||
- in: query
|
||
name: title
|
||
style: form
|
||
explode: false
|
||
description: Filter by title.
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
description: a single title to filter by
|
||
- type: array
|
||
description: multiple titles to filter by
|
||
items:
|
||
type: string
|
||
- in: query
|
||
name: inventory_quantity
|
||
description: Filter by available inventory quantity
|
||
schema:
|
||
oneOf:
|
||
- type: number
|
||
description: a specific number to filter by.
|
||
- type: object
|
||
description: filter using less and greater than comparisons.
|
||
properties:
|
||
lt:
|
||
type: number
|
||
description: filter by inventory quantity less than this number
|
||
gt:
|
||
type: number
|
||
description: filter by inventory quantity greater than this number
|
||
lte:
|
||
type: number
|
||
description: >-
|
||
filter by inventory quantity less than or equal to this
|
||
number
|
||
gte:
|
||
type: number
|
||
description: >-
|
||
filter by inventory quantity greater than or equal to this
|
||
number
|
||
x-codegen:
|
||
method: list
|
||
queryParams: AdminGetVariantsParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.variants.list()
|
||
|
||
.then(({ variants, limit, offset, count }) => {
|
||
console.log(variants.length);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/variants' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Variants
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminVariantsListRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/variants/{id}:
|
||
get:
|
||
operationId: GetVariantsVariant
|
||
summary: Get a Product variant
|
||
description: Retrieve a product variant's details.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The ID of the product variant.
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: expand
|
||
description: >-
|
||
"Comma-separated relations that should be expanded in the returned
|
||
product variant."
|
||
schema:
|
||
type: string
|
||
- in: query
|
||
name: fields
|
||
description: >-
|
||
"Comma-separated fields that should be included in the returned
|
||
product variant."
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: retrieve
|
||
queryParams: AdminGetVariantParams
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.variants.retrieve(variantId)
|
||
|
||
.then(({ variant }) => {
|
||
console.log(variant.id);
|
||
});
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/variants/{id}' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Variants
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminVariantsRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
/admin/variants/{id}/inventory:
|
||
get:
|
||
operationId: GetVariantsVariantInventory
|
||
summary: Get Variant's Inventory
|
||
description: Retrieve the available inventory of a Product Variant.
|
||
x-authenticated: true
|
||
parameters:
|
||
- in: path
|
||
name: id
|
||
required: true
|
||
description: The Product Variant ID.
|
||
schema:
|
||
type: string
|
||
x-codegen:
|
||
method: getInventory
|
||
x-codeSamples:
|
||
- lang: JavaScript
|
||
label: JS Client
|
||
source: >
|
||
import Medusa from "@medusajs/medusa-js"
|
||
|
||
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries:
|
||
3 })
|
||
|
||
// must be previously logged in or use api token
|
||
|
||
medusa.admin.variants.getInventory(variantId)
|
||
|
||
.then(({ variant }) => {
|
||
console.log(variant.inventory, variant.sales_channel_availability)
|
||
})
|
||
- lang: Shell
|
||
label: cURL
|
||
source: |
|
||
curl '{backend_url}/admin/variants/{id}/inventory' \
|
||
-H 'x-medusa-access-token: {api_token}'
|
||
security:
|
||
- api_token: []
|
||
- cookie_auth: []
|
||
- jwt_token: []
|
||
tags:
|
||
- Product Variants
|
||
responses:
|
||
'200':
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/AdminGetVariantsVariantInventoryRes'
|
||
'400':
|
||
$ref: '#/components/responses/400_error'
|
||
'401':
|
||
$ref: '#/components/responses/unauthorized'
|
||
'404':
|
||
$ref: '#/components/responses/not_found_error'
|
||
'409':
|
||
$ref: '#/components/responses/invalid_state_error'
|
||
'422':
|
||
$ref: '#/components/responses/invalid_request_error'
|
||
'500':
|
||
$ref: '#/components/responses/500_error'
|
||
components:
|
||
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 or Multiple Errors
|
||
content:
|
||
application/json:
|
||
schema:
|
||
oneOf:
|
||
- $ref: '#/components/schemas/Error'
|
||
- $ref: '#/components/schemas/MultipleErrors'
|
||
examples:
|
||
not_allowed:
|
||
$ref: '#/components/examples/not_allowed_error'
|
||
invalid_data:
|
||
$ref: '#/components/examples/invalid_data_error'
|
||
MultipleErrors:
|
||
$ref: '#/components/examples/multiple_errors'
|
||
500_error:
|
||
description: Server Error
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/Error'
|
||
examples:
|
||
database:
|
||
$ref: '#/components/examples/database_error'
|
||
unexpected_state:
|
||
$ref: '#/components/examples/unexpected_state_error'
|
||
invalid_argument:
|
||
$ref: '#/components/examples/invalid_argument_error'
|
||
default_error:
|
||
$ref: '#/components/examples/default_error'
|
||
unauthorized:
|
||
description: User is not authorized. Must log in first
|
||
content:
|
||
text/plain:
|
||
schema:
|
||
type: string
|
||
default: Unauthorized
|
||
example: Unauthorized
|
||
incorrect_credentials:
|
||
description: User does not exist or incorrect credentials
|
||
content:
|
||
text/plain:
|
||
schema:
|
||
type: string
|
||
default: Unauthorized
|
||
example: Unauthorized
|
||
examples:
|
||
not_allowed_error:
|
||
summary: Not Allowed Error
|
||
value:
|
||
message: Discount must be set to dynamic
|
||
type: not_allowed
|
||
invalid_data_error:
|
||
summary: Invalid Data Error
|
||
value:
|
||
message: first_name must be a string
|
||
type: invalid_data
|
||
multiple_errors:
|
||
summary: Multiple Errors
|
||
value:
|
||
message: >-
|
||
Provided request body contains errors. Please check the data and retry
|
||
the request
|
||
errors:
|
||
- message: first_name must be a string
|
||
type: invalid_data
|
||
- message: Discount must be set to dynamic
|
||
type: not_allowed
|
||
database_error:
|
||
summary: Database Error
|
||
value:
|
||
code: api_error
|
||
message: An error occured while hashing password
|
||
type: database_error
|
||
unexpected_state_error:
|
||
summary: Unexpected State Error
|
||
value:
|
||
message: cart.total must be defined
|
||
type: unexpected_state
|
||
invalid_argument_error:
|
||
summary: Invalid Argument Error
|
||
value:
|
||
message: cart.total must be defined
|
||
type: unexpected_state
|
||
default_error:
|
||
summary: Default Error
|
||
value:
|
||
code: unknown_error
|
||
message: An unknown error occurred.
|
||
type: unknown_error
|
||
securitySchemes:
|
||
api_token:
|
||
type: apiKey
|
||
x-displayName: API Token
|
||
in: header
|
||
name: x-medusa-access-token
|
||
jwt_token:
|
||
type: http
|
||
x-displayName: JWT Token
|
||
scheme: bearer
|
||
cookie_auth:
|
||
type: apiKey
|
||
in: cookie
|
||
name: connect.sid
|
||
x-displayName: Cookie Session ID
|
||
schemas:
|
||
Address:
|
||
title: Address
|
||
description: >-
|
||
An address is used across the Medusa backend within other schemas and
|
||
object types. For example, a customer's billing and shipping addresses
|
||
both use the Address entity.
|
||
type: object
|
||
required:
|
||
- address_1
|
||
- address_2
|
||
- city
|
||
- company
|
||
- country_code
|
||
- created_at
|
||
- customer_id
|
||
- deleted_at
|
||
- first_name
|
||
- id
|
||
- last_name
|
||
- metadata
|
||
- phone
|
||
- postal_code
|
||
- province
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID of the address
|
||
example: addr_01G8ZC9VS1XVE149MGH2J7QSSH
|
||
customer_id:
|
||
description: ID of the customer this address belongs to
|
||
nullable: true
|
||
type: string
|
||
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
||
customer:
|
||
description: Available if the relation `customer` is expanded.
|
||
nullable: true
|
||
type: object
|
||
company:
|
||
description: Company name
|
||
nullable: true
|
||
type: string
|
||
example: Acme
|
||
first_name:
|
||
description: First name
|
||
nullable: true
|
||
type: string
|
||
example: Arno
|
||
last_name:
|
||
description: Last name
|
||
nullable: true
|
||
type: string
|
||
example: Willms
|
||
address_1:
|
||
description: Address line 1
|
||
nullable: true
|
||
type: string
|
||
example: 14433 Kemmer Court
|
||
address_2:
|
||
description: Address line 2
|
||
nullable: true
|
||
type: string
|
||
example: Suite 369
|
||
city:
|
||
description: City
|
||
nullable: true
|
||
type: string
|
||
example: South Geoffreyview
|
||
country_code:
|
||
description: The 2 character ISO code of the country in lower case
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
example: st
|
||
country:
|
||
description: A country object.
|
||
x-expandable: country
|
||
nullable: true
|
||
$ref: '#/components/schemas/Country'
|
||
province:
|
||
description: Province
|
||
nullable: true
|
||
type: string
|
||
example: Kentucky
|
||
postal_code:
|
||
description: Postal Code
|
||
nullable: true
|
||
type: string
|
||
example: 72093
|
||
phone:
|
||
description: Phone Number
|
||
nullable: true
|
||
type: string
|
||
example: 16128234334802
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AddressCreatePayload:
|
||
type: object
|
||
description: Address fields used when creating an address.
|
||
required:
|
||
- first_name
|
||
- last_name
|
||
- address_1
|
||
- city
|
||
- country_code
|
||
- postal_code
|
||
properties:
|
||
first_name:
|
||
description: First name
|
||
type: string
|
||
example: Arno
|
||
last_name:
|
||
description: Last name
|
||
type: string
|
||
example: Willms
|
||
phone:
|
||
type: string
|
||
description: Phone Number
|
||
example: 16128234334802
|
||
company:
|
||
type: string
|
||
address_1:
|
||
description: Address line 1
|
||
type: string
|
||
example: 14433 Kemmer Court
|
||
address_2:
|
||
description: Address line 2
|
||
type: string
|
||
example: Suite 369
|
||
city:
|
||
description: City
|
||
type: string
|
||
example: South Geoffreyview
|
||
country_code:
|
||
description: The 2 character ISO code of the country in lower case
|
||
type: string
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
example: st
|
||
province:
|
||
description: Province
|
||
type: string
|
||
example: Kentucky
|
||
postal_code:
|
||
description: Postal Code
|
||
type: string
|
||
example: 72093
|
||
metadata:
|
||
type: object
|
||
example:
|
||
car: white
|
||
description: An optional key-value map with additional details
|
||
AddressPayload:
|
||
type: object
|
||
description: Address fields used when creating/updating an address.
|
||
properties:
|
||
first_name:
|
||
description: First name
|
||
type: string
|
||
example: Arno
|
||
last_name:
|
||
description: Last name
|
||
type: string
|
||
example: Willms
|
||
phone:
|
||
type: string
|
||
description: Phone Number
|
||
example: 16128234334802
|
||
company:
|
||
type: string
|
||
address_1:
|
||
description: Address line 1
|
||
type: string
|
||
example: 14433 Kemmer Court
|
||
address_2:
|
||
description: Address line 2
|
||
type: string
|
||
example: Suite 369
|
||
city:
|
||
description: City
|
||
type: string
|
||
example: South Geoffreyview
|
||
country_code:
|
||
description: The 2 character ISO code of the country in lower case
|
||
type: string
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
example: st
|
||
province:
|
||
description: Province
|
||
type: string
|
||
example: Kentucky
|
||
postal_code:
|
||
description: Postal Code
|
||
type: string
|
||
example: 72093
|
||
metadata:
|
||
type: object
|
||
example:
|
||
car: white
|
||
description: An optional key-value map with additional details
|
||
AdminAppsListRes:
|
||
type: object
|
||
required:
|
||
- apps
|
||
properties:
|
||
apps:
|
||
type: array
|
||
description: An array of app details.
|
||
items:
|
||
$ref: '#/components/schemas/OAuth'
|
||
AdminAppsRes:
|
||
type: object
|
||
required:
|
||
- apps
|
||
properties:
|
||
apps:
|
||
description: App details.
|
||
$ref: '#/components/schemas/OAuth'
|
||
AdminAuthRes:
|
||
type: object
|
||
required:
|
||
- user
|
||
properties:
|
||
user:
|
||
description: User details.
|
||
$ref: '#/components/schemas/User'
|
||
AdminBatchJobListRes:
|
||
type: object
|
||
required:
|
||
- batch_jobs
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
batch_jobs:
|
||
type: array
|
||
description: An array of batch job details.
|
||
items:
|
||
$ref: '#/components/schemas/BatchJob'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of batch jobs skipped when retrieving the batch jobs.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminBatchJobRes:
|
||
type: object
|
||
required:
|
||
- batch_job
|
||
properties:
|
||
batch_job:
|
||
description: Batch job details.
|
||
$ref: '#/components/schemas/BatchJob'
|
||
AdminBearerAuthRes:
|
||
type: object
|
||
properties:
|
||
access_token:
|
||
description: Access token that can be used to send authenticated requests.
|
||
type: string
|
||
AdminCollectionsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Collection
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: product-collection
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the collection was deleted successfully or not.
|
||
default: true
|
||
AdminCollectionsListRes:
|
||
type: object
|
||
required:
|
||
- collections
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
collections:
|
||
type: array
|
||
description: an array of collection details
|
||
items:
|
||
$ref: '#/components/schemas/ProductCollection'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of product collections skipped when retrieving the
|
||
product collections.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminCollectionsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: collection
|
||
relations:
|
||
- products
|
||
required:
|
||
- collection
|
||
properties:
|
||
collection:
|
||
type: Product Collection details.
|
||
$ref: '#/components/schemas/ProductCollection'
|
||
AdminCreateUserRequest:
|
||
type: object
|
||
required:
|
||
- email
|
||
- password
|
||
properties:
|
||
email:
|
||
description: The User's email.
|
||
type: string
|
||
format: email
|
||
first_name:
|
||
description: The first name of the User.
|
||
type: string
|
||
last_name:
|
||
description: The last name of the User.
|
||
type: string
|
||
role:
|
||
description: >-
|
||
The role assigned to the user. These roles don't provide any
|
||
different privileges.
|
||
type: string
|
||
enum:
|
||
- admin
|
||
- member
|
||
- developer
|
||
password:
|
||
description: The User's password.
|
||
type: string
|
||
format: password
|
||
AdminCurrenciesListRes:
|
||
type: object
|
||
required:
|
||
- currencies
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
currencies:
|
||
type: array
|
||
description: An array of currency details.
|
||
items:
|
||
$ref: '#/components/schemas/Currency'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of currencies skipped when retrieving the currencies.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminCurrenciesRes:
|
||
type: object
|
||
required:
|
||
- currency
|
||
properties:
|
||
currency:
|
||
description: Currency details.
|
||
$ref: '#/components/schemas/Currency'
|
||
AdminCustomerGroupsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted customer group.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: customer_group
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the customer group was deleted successfully or not.
|
||
default: true
|
||
AdminCustomerGroupsListRes:
|
||
type: object
|
||
required:
|
||
- customer_groups
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
customer_groups:
|
||
type: array
|
||
description: An array of customer group details.
|
||
items:
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of customer groups skipped when retrieving the customer
|
||
groups.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminCustomerGroupsRes:
|
||
type: object
|
||
required:
|
||
- customer_group
|
||
properties:
|
||
customer_group:
|
||
description: Customer group details.
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
AdminCustomersListRes:
|
||
type: object
|
||
required:
|
||
- customers
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
customers:
|
||
type: array
|
||
description: An array of customer details.
|
||
items:
|
||
$ref: '#/components/schemas/Customer'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of customers skipped when retrieving the customers.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminCustomersRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: customer
|
||
relations:
|
||
- orders
|
||
- shipping_addresses
|
||
required:
|
||
- customer
|
||
properties:
|
||
customer:
|
||
description: Customer details.
|
||
$ref: '#/components/schemas/Customer'
|
||
AdminDeleteCustomerGroupsGroupCustomerBatchReq:
|
||
type: object
|
||
required:
|
||
- customer_ids
|
||
properties:
|
||
customer_ids:
|
||
description: The ids of the customers to remove
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: ID of the customer
|
||
type: string
|
||
AdminDeleteDiscountsDiscountConditionsConditionBatchReq:
|
||
type: object
|
||
required:
|
||
- resources
|
||
properties:
|
||
resources:
|
||
description: The resources to be removed from the discount condition
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The id of the item
|
||
type: string
|
||
AdminDeletePriceListPricesPricesReq:
|
||
type: object
|
||
properties:
|
||
price_ids:
|
||
description: The price IDs of the Money Amounts to delete.
|
||
type: array
|
||
items:
|
||
type: string
|
||
AdminDeletePriceListsPriceListProductsPricesBatchReq:
|
||
type: object
|
||
properties:
|
||
product_ids:
|
||
description: The IDs of the products to delete their associated prices.
|
||
type: array
|
||
items:
|
||
type: string
|
||
AdminDeleteProductCategoriesCategoryProductsBatchReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: The IDs of the products to delete from the Product Category.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a product
|
||
type: string
|
||
AdminDeleteProductsFromCollectionReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: An array of Product IDs to remove from the Product Collection.
|
||
type: array
|
||
items:
|
||
description: The ID of a Product to add to the Product Collection.
|
||
type: string
|
||
AdminDeleteProductsFromCollectionRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- removed_products
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the collection
|
||
object:
|
||
type: string
|
||
description: The type of object the removal was executed on
|
||
default: product-collection
|
||
removed_products:
|
||
description: The IDs of the products removed from the collection
|
||
type: array
|
||
items:
|
||
description: The ID of the Product removed from the Product Collection.
|
||
type: string
|
||
AdminDeletePublishableApiKeySalesChannelsBatchReq:
|
||
type: object
|
||
required:
|
||
- sales_channel_ids
|
||
properties:
|
||
sales_channel_ids:
|
||
description: The IDs of the sales channels to remove from the publishable API key
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the sales channel
|
||
AdminDeleteSalesChannelsChannelProductsBatchReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: The IDs of the products to remove from the Sales Channel.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a product
|
||
type: string
|
||
AdminDeleteSalesChannelsChannelStockLocationsReq:
|
||
type: object
|
||
required:
|
||
- location_id
|
||
properties:
|
||
location_id:
|
||
description: The ID of the stock location
|
||
type: string
|
||
AdminDeleteShippingProfileRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Shipping Profile.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: shipping_profile
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminDeleteTaxRatesTaxRateProductTypesReq:
|
||
type: object
|
||
required:
|
||
- product_types
|
||
properties:
|
||
product_types:
|
||
type: array
|
||
description: >-
|
||
The IDs of the product types to remove their association with this
|
||
tax rate.
|
||
items:
|
||
type: string
|
||
AdminDeleteTaxRatesTaxRateProductsReq:
|
||
type: object
|
||
required:
|
||
- products
|
||
properties:
|
||
products:
|
||
type: array
|
||
description: >-
|
||
The IDs of the products to remove their association with this tax
|
||
rate.
|
||
items:
|
||
type: string
|
||
AdminDeleteTaxRatesTaxRateShippingOptionsReq:
|
||
type: object
|
||
required:
|
||
- shipping_options
|
||
properties:
|
||
shipping_options:
|
||
type: array
|
||
description: >-
|
||
The IDs of the shipping options to remove their association with
|
||
this tax rate.
|
||
items:
|
||
type: string
|
||
AdminDeleteUploadsReq:
|
||
type: object
|
||
required:
|
||
- file_key
|
||
properties:
|
||
file_key:
|
||
description: >-
|
||
key of the file to delete. This is obtained when you first uploaded
|
||
the file, or by the file service if you used it directly.
|
||
type: string
|
||
AdminDeleteUploadsRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The file key of the upload deleted
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: file
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminDeleteUserRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted user.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: user
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminDiscountConditionsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
- discount
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Discount Condition
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: discount-condition
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the discount condition was deleted successfully.
|
||
default: true
|
||
discount:
|
||
description: The Discount to which the condition used to belong to.
|
||
$ref: '#/components/schemas/Discount'
|
||
AdminDiscountConditionsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: discount_condition
|
||
relations:
|
||
- discount_rule
|
||
required:
|
||
- discount_condition
|
||
properties:
|
||
discount_condition:
|
||
description: Discount condition details.
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
AdminDiscountsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Discount
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: discount
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the discount was deleted successfully.
|
||
default: true
|
||
AdminDiscountsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: discounts
|
||
relations:
|
||
- parent_discount
|
||
- regions
|
||
- rule
|
||
- rule.conditions
|
||
required:
|
||
- discounts
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
discounts:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Discount'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of discounts skipped when retrieving the discounts.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminDiscountsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: discount
|
||
relations:
|
||
- parent_discount
|
||
- regions
|
||
- rule
|
||
- rule.conditions
|
||
eager:
|
||
- regions.fulfillment_providers
|
||
- regions.payment_providers
|
||
required:
|
||
- discount
|
||
properties:
|
||
discount:
|
||
description: Discount details.
|
||
$ref: '#/components/schemas/Discount'
|
||
AdminDraftOrdersDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Draft Order.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: draft-order
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the draft order was deleted successfully.
|
||
default: true
|
||
AdminDraftOrdersListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: draft_orders
|
||
relations:
|
||
- order
|
||
- cart
|
||
- cart.items
|
||
- cart.items.adjustments
|
||
required:
|
||
- draft_orders
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
draft_orders:
|
||
type: array
|
||
description: An array of draft order's details.
|
||
items:
|
||
$ref: '#/components/schemas/DraftOrder'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of draft orders skipped when retrieving the draft orders.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminDraftOrdersRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: draft_order
|
||
relations:
|
||
- order
|
||
- cart
|
||
- cart.items
|
||
- cart.items.adjustments
|
||
- cart.billing_address
|
||
- cart.customer
|
||
- cart.discounts
|
||
- cart.discounts.rule
|
||
- cart.items
|
||
- cart.items.adjustments
|
||
- cart.payment
|
||
- cart.payment_sessions
|
||
- cart.region
|
||
- cart.region.payment_providers
|
||
- cart.shipping_address
|
||
- cart.shipping_methods
|
||
- cart.shipping_methods.shipping_option
|
||
eager:
|
||
- cart.region.fulfillment_providers
|
||
- cart.region.payment_providers
|
||
- cart.shipping_methods.shipping_option
|
||
implicit:
|
||
- cart.discounts
|
||
- cart.discounts.rule
|
||
- cart.gift_cards
|
||
- cart.items
|
||
- cart.items.adjustments
|
||
- cart.items.tax_lines
|
||
- cart.items.variant
|
||
- cart.items.variant.product
|
||
- cart.items.variant.product.profiles
|
||
- cart.region
|
||
- cart.region.tax_rates
|
||
- cart.shipping_address
|
||
- cart.shipping_methods
|
||
- cart.shipping_methods.tax_lines
|
||
totals:
|
||
- cart.discount_total
|
||
- cart.gift_card_tax_total
|
||
- cart.gift_card_total
|
||
- cart.item_tax_total
|
||
- cart.refundable_amount
|
||
- cart.refunded_total
|
||
- cart.shipping_tax_total
|
||
- cart.shipping_total
|
||
- cart.subtotal
|
||
- cart.tax_total
|
||
- cart.total
|
||
- cart.items.discount_total
|
||
- cart.items.gift_card_total
|
||
- cart.items.original_tax_total
|
||
- cart.items.original_total
|
||
- cart.items.refundable
|
||
- cart.items.subtotal
|
||
- cart.items.tax_total
|
||
- cart.items.total
|
||
required:
|
||
- draft_order
|
||
properties:
|
||
draft_order:
|
||
description: Draft order's details.
|
||
$ref: '#/components/schemas/DraftOrder'
|
||
AdminExtendedStoresRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: store
|
||
relations:
|
||
- currencies
|
||
- default_currency
|
||
required:
|
||
- store
|
||
properties:
|
||
store:
|
||
description: Store details.
|
||
$ref: '#/components/schemas/ExtendedStoreDTO'
|
||
AdminGetRegionsRegionFulfillmentOptionsRes:
|
||
type: object
|
||
required:
|
||
- fulfillment_options
|
||
properties:
|
||
fulfillment_options:
|
||
type: array
|
||
description: Fulfillment providers details.
|
||
items:
|
||
type: object
|
||
required:
|
||
- provider_id
|
||
- options
|
||
properties:
|
||
provider_id:
|
||
description: ID of the fulfillment provider
|
||
type: string
|
||
options:
|
||
description: fulfillment provider options
|
||
type: array
|
||
items:
|
||
type: object
|
||
example:
|
||
- id: manual-fulfillment
|
||
- id: manual-fulfillment-return
|
||
is_return: true
|
||
AdminGetVariantsVariantInventoryRes:
|
||
type: object
|
||
properties:
|
||
variant:
|
||
type: object
|
||
description: The product variant's.
|
||
$ref: '#/components/schemas/VariantInventory'
|
||
AdminGiftCardsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Gift Card
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: gift-card
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the gift card was deleted successfully.
|
||
default: true
|
||
AdminGiftCardsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: gift_cards
|
||
relations:
|
||
- order
|
||
- region
|
||
eager:
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
required:
|
||
- gift_cards
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
gift_cards:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GiftCard'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of gift cards skipped when retrieving the gift cards.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminGiftCardsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: gift_card
|
||
relations:
|
||
- order
|
||
- region
|
||
eager:
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
required:
|
||
- gift_card
|
||
properties:
|
||
gift_card:
|
||
description: A gift card's details.
|
||
$ref: '#/components/schemas/GiftCard'
|
||
AdminInventoryItemsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Inventory Item.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
format: inventory_item
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Inventory Item was deleted.
|
||
default: true
|
||
AdminInventoryItemsListRes:
|
||
type: object
|
||
required:
|
||
- inventory_items
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
inventory_items:
|
||
type: array
|
||
description: an array of Inventory Item details
|
||
items:
|
||
$ref: '#/components/schemas/InventoryItemDTO'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of inventory items skipped when retrieving the inventory
|
||
items.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminInventoryItemsListWithVariantsAndLocationLevelsRes:
|
||
type: object
|
||
required:
|
||
- inventory_items
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
inventory_items:
|
||
type: array
|
||
description: an array of Inventory Item details
|
||
items:
|
||
$ref: '#/components/schemas/DecoratedInventoryItemDTO'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of inventory items skipped when retrieving the inventory
|
||
items.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminInventoryItemsLocationLevelsRes:
|
||
type: object
|
||
required:
|
||
- inventory_item
|
||
properties:
|
||
inventory_item:
|
||
type: object
|
||
required:
|
||
- id
|
||
- location_levels
|
||
properties:
|
||
id:
|
||
description: The id of the location
|
||
location_levels:
|
||
description: List of stock levels at a given location
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/InventoryLevelDTO'
|
||
AdminInventoryItemsRes:
|
||
type: object
|
||
required:
|
||
- inventory_item
|
||
properties:
|
||
inventory_item:
|
||
description: Inventory Item details
|
||
$ref: '#/components/schemas/InventoryItemDTO'
|
||
AdminInviteDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Invite.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: invite
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the invite was deleted.
|
||
default: true
|
||
AdminListInvitesRes:
|
||
type: object
|
||
required:
|
||
- invites
|
||
properties:
|
||
invites:
|
||
type: array
|
||
description: An array of invites
|
||
items:
|
||
$ref: '#/components/schemas/Invite'
|
||
AdminNotesDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Note.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: note
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Note was deleted.
|
||
default: true
|
||
AdminNotesListRes:
|
||
type: object
|
||
required:
|
||
- notes
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
notes:
|
||
type: array
|
||
description: An array of notes
|
||
items:
|
||
$ref: '#/components/schemas/Note'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of notes skipped when retrieving the notes.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminNotesRes:
|
||
type: object
|
||
required:
|
||
- note
|
||
properties:
|
||
note:
|
||
description: Note details.
|
||
$ref: '#/components/schemas/Note'
|
||
AdminNotificationsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: notifications
|
||
relations:
|
||
- resends
|
||
required:
|
||
- notifications
|
||
properties:
|
||
notifications:
|
||
type: array
|
||
description: an array of notifications
|
||
items:
|
||
$ref: '#/components/schemas/Notification'
|
||
count:
|
||
type: integer
|
||
description: The total number of notifications
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of notifications skipped when retrieving the
|
||
notifications.
|
||
limit:
|
||
type: integer
|
||
description: The number of notifications per page
|
||
AdminNotificationsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: notification
|
||
relations:
|
||
- resends
|
||
required:
|
||
- notification
|
||
properties:
|
||
notification:
|
||
description: Notification details
|
||
$ref: '#/components/schemas/Notification'
|
||
AdminOrderEditDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Order Edit.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: order_edit
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Order Edit was deleted.
|
||
default: true
|
||
AdminOrderEditItemChangeDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Order Edit Item Change.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: item_change
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Order Edit Item Change was deleted.
|
||
default: true
|
||
AdminOrderEditsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: order_edits
|
||
relations:
|
||
- changes
|
||
- changes.line_item
|
||
- changes.line_item.variant
|
||
- changes.original_line_item
|
||
- changes.original_line_item.variant
|
||
- items
|
||
- items.adjustments
|
||
- items.tax_lines
|
||
- items.variant
|
||
- payment_collection
|
||
implicit:
|
||
- items
|
||
- items.tax_lines
|
||
- items.adjustments
|
||
- items.variant
|
||
totals:
|
||
- difference_due
|
||
- discount_total
|
||
- gift_card_tax_total
|
||
- gift_card_total
|
||
- shipping_total
|
||
- subtotal
|
||
- tax_total
|
||
- total
|
||
- items.discount_total
|
||
- items.gift_card_total
|
||
- items.original_tax_total
|
||
- items.original_total
|
||
- items.refundable
|
||
- items.subtotal
|
||
- items.tax_total
|
||
- items.total
|
||
required:
|
||
- order_edits
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
order_edits:
|
||
type: array
|
||
description: An array of order edit details
|
||
items:
|
||
$ref: '#/components/schemas/OrderEdit'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of order edits skipped when retrieving the order edits.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminOrderEditsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: order_edit
|
||
relations:
|
||
- changes
|
||
- changes.line_item
|
||
- changes.line_item.variant
|
||
- changes.original_line_item
|
||
- changes.original_line_item.variant
|
||
- items
|
||
- items.adjustments
|
||
- items.tax_lines
|
||
- items.variant
|
||
- payment_collection
|
||
implicit:
|
||
- items
|
||
- items.tax_lines
|
||
- items.adjustments
|
||
- items.variant
|
||
totals:
|
||
- difference_due
|
||
- discount_total
|
||
- gift_card_tax_total
|
||
- gift_card_total
|
||
- shipping_total
|
||
- subtotal
|
||
- tax_total
|
||
- total
|
||
- items.discount_total
|
||
- items.gift_card_total
|
||
- items.original_tax_total
|
||
- items.original_total
|
||
- items.refundable
|
||
- items.subtotal
|
||
- items.tax_total
|
||
- items.total
|
||
required:
|
||
- order_edit
|
||
properties:
|
||
order_edit:
|
||
description: Order edit details
|
||
$ref: '#/components/schemas/OrderEdit'
|
||
AdminOrdersListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: orders
|
||
relations:
|
||
- billing_address
|
||
- claims
|
||
- claims.additional_items
|
||
- claims.additional_items.variant
|
||
- claims.claim_items
|
||
- claims.claim_items.images
|
||
- claims.claim_items.item
|
||
- claims.fulfillments
|
||
- claims.fulfillments.tracking_links
|
||
- claims.return_order
|
||
- claims.return_order.shipping_method
|
||
- claims.return_order.shipping_method.tax_lines
|
||
- claims.shipping_address
|
||
- claims.shipping_methods
|
||
- customer
|
||
- discounts
|
||
- discounts.rule
|
||
- fulfillments
|
||
- fulfillments.items
|
||
- fulfillments.tracking_links
|
||
- gift_card_transactions
|
||
- gift_cards
|
||
- items
|
||
- payments
|
||
- refunds
|
||
- region
|
||
- returns
|
||
- returns.items
|
||
- returns.items.reason
|
||
- returns.shipping_method
|
||
- returns.shipping_method.tax_lines
|
||
- shipping_address
|
||
- shipping_methods
|
||
eager:
|
||
- fulfillments.items
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
- returns.items
|
||
- shipping_methods.shipping_option
|
||
implicit:
|
||
- claims
|
||
- claims.additional_items
|
||
- claims.additional_items.adjustments
|
||
- claims.additional_items.refundable
|
||
- claims.additional_items.tax_lines
|
||
- discounts
|
||
- discounts.rule
|
||
- gift_card_transactions
|
||
- gift_card_transactions.gift_card
|
||
- gift_cards
|
||
- items
|
||
- items.adjustments
|
||
- items.refundable
|
||
- items.tax_lines
|
||
- items.variant
|
||
- items.variant.product
|
||
- items.variant.product.profiles
|
||
- refunds
|
||
- region
|
||
- shipping_methods
|
||
- shipping_methods.tax_lines
|
||
- swaps
|
||
- swaps.additional_items
|
||
- swaps.additional_items.adjustments
|
||
- swaps.additional_items.refundable
|
||
- swaps.additional_items.tax_lines
|
||
totals:
|
||
- discount_total
|
||
- gift_card_tax_total
|
||
- gift_card_total
|
||
- paid_total
|
||
- refundable_amount
|
||
- refunded_total
|
||
- shipping_total
|
||
- subtotal
|
||
- tax_total
|
||
- total
|
||
- claims.additional_items.discount_total
|
||
- claims.additional_items.gift_card_total
|
||
- claims.additional_items.original_tax_total
|
||
- claims.additional_items.original_total
|
||
- claims.additional_items.refundable
|
||
- claims.additional_items.subtotal
|
||
- claims.additional_items.tax_total
|
||
- claims.additional_items.total
|
||
- items.discount_total
|
||
- items.gift_card_total
|
||
- items.original_tax_total
|
||
- items.original_total
|
||
- items.refundable
|
||
- items.subtotal
|
||
- items.tax_total
|
||
- items.total
|
||
- swaps.additional_items.discount_total
|
||
- swaps.additional_items.gift_card_total
|
||
- swaps.additional_items.original_tax_total
|
||
- swaps.additional_items.original_total
|
||
- swaps.additional_items.refundable
|
||
- swaps.additional_items.subtotal
|
||
- swaps.additional_items.tax_total
|
||
- swaps.additional_items.total
|
||
required:
|
||
- orders
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
orders:
|
||
type: array
|
||
description: An array of order details.
|
||
items:
|
||
$ref: '#/components/schemas/Order'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of orders skipped when retrieving the orders.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminOrdersOrderLineItemReservationReq:
|
||
type: object
|
||
required:
|
||
- location_id
|
||
properties:
|
||
location_id:
|
||
description: The ID of the location of the reservation
|
||
type: string
|
||
quantity:
|
||
description: The quantity to reserve
|
||
type: number
|
||
AdminOrdersRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: order
|
||
relations:
|
||
- billing_address
|
||
- claims
|
||
- claims.additional_items
|
||
- claims.additional_items.variant
|
||
- claims.claim_items
|
||
- claims.claim_items.images
|
||
- claims.claim_items.item
|
||
- claims.fulfillments
|
||
- claims.fulfillments.tracking_links
|
||
- claims.return_order
|
||
- claims.return_order.shipping_method
|
||
- claims.return_order.shipping_method.tax_lines
|
||
- claims.shipping_address
|
||
- claims.shipping_methods
|
||
- customer
|
||
- discounts
|
||
- discounts.rule
|
||
- fulfillments
|
||
- fulfillments.items
|
||
- fulfillments.tracking_links
|
||
- gift_card_transactions
|
||
- gift_cards
|
||
- items
|
||
- payments
|
||
- refunds
|
||
- region
|
||
- returns
|
||
- returns.items
|
||
- returns.items.reason
|
||
- returns.shipping_method
|
||
- returns.shipping_method.tax_lines
|
||
- shipping_address
|
||
- shipping_methods
|
||
eager:
|
||
- fulfillments.items
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
- returns.items
|
||
- shipping_methods.shipping_option
|
||
implicit:
|
||
- claims
|
||
- claims.additional_items
|
||
- claims.additional_items.adjustments
|
||
- claims.additional_items.refundable
|
||
- claims.additional_items.tax_lines
|
||
- discounts
|
||
- discounts.rule
|
||
- gift_card_transactions
|
||
- gift_card_transactions.gift_card
|
||
- gift_cards
|
||
- items
|
||
- items.adjustments
|
||
- items.refundable
|
||
- items.tax_lines
|
||
- items.variant
|
||
- items.variant.product
|
||
- items.variant.product.profiles
|
||
- refunds
|
||
- region
|
||
- shipping_methods
|
||
- shipping_methods.tax_lines
|
||
- swaps
|
||
- swaps.additional_items
|
||
- swaps.additional_items.adjustments
|
||
- swaps.additional_items.refundable
|
||
- swaps.additional_items.tax_lines
|
||
totals:
|
||
- discount_total
|
||
- gift_card_tax_total
|
||
- gift_card_total
|
||
- paid_total
|
||
- refundable_amount
|
||
- refunded_total
|
||
- shipping_total
|
||
- subtotal
|
||
- tax_total
|
||
- total
|
||
- claims.additional_items.discount_total
|
||
- claims.additional_items.gift_card_total
|
||
- claims.additional_items.original_tax_total
|
||
- claims.additional_items.original_total
|
||
- claims.additional_items.refundable
|
||
- claims.additional_items.subtotal
|
||
- claims.additional_items.tax_total
|
||
- claims.additional_items.total
|
||
- items.discount_total
|
||
- items.gift_card_total
|
||
- items.original_tax_total
|
||
- items.original_total
|
||
- items.refundable
|
||
- items.subtotal
|
||
- items.tax_total
|
||
- items.total
|
||
- swaps.additional_items.discount_total
|
||
- swaps.additional_items.gift_card_total
|
||
- swaps.additional_items.original_tax_total
|
||
- swaps.additional_items.original_total
|
||
- swaps.additional_items.refundable
|
||
- swaps.additional_items.subtotal
|
||
- swaps.additional_items.tax_total
|
||
- swaps.additional_items.total
|
||
required:
|
||
- order
|
||
properties:
|
||
order:
|
||
description: Order details.
|
||
$ref: '#/components/schemas/Order'
|
||
AdminPaymentCollectionDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Payment Collection.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: payment_collection
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Payment Collection was deleted.
|
||
default: true
|
||
AdminPaymentCollectionsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: payment_collection
|
||
relations:
|
||
- payment_sessions
|
||
- payments
|
||
- region
|
||
eager:
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
required:
|
||
- payment_collection
|
||
properties:
|
||
payment_collection:
|
||
description: Payment Collection details.
|
||
$ref: '#/components/schemas/PaymentCollection'
|
||
AdminPaymentProvidersList:
|
||
type: object
|
||
required:
|
||
- payment_providers
|
||
properties:
|
||
payment_providers:
|
||
type: array
|
||
description: An array of payment providers details.
|
||
items:
|
||
$ref: '#/components/schemas/PaymentProvider'
|
||
AdminPaymentRes:
|
||
type: object
|
||
required:
|
||
- payment
|
||
properties:
|
||
payment:
|
||
description: Payment details
|
||
$ref: '#/components/schemas/Payment'
|
||
AdminPostAppsReq:
|
||
type: object
|
||
required:
|
||
- application_name
|
||
- state
|
||
- code
|
||
properties:
|
||
application_name:
|
||
type: string
|
||
description: Name of the application for to generate the token for.
|
||
state:
|
||
type: string
|
||
description: State of the application.
|
||
code:
|
||
type: string
|
||
description: The code for the generated token.
|
||
AdminPostAuthReq:
|
||
type: object
|
||
required:
|
||
- email
|
||
- password
|
||
properties:
|
||
email:
|
||
type: string
|
||
description: The user's email.
|
||
format: email
|
||
password:
|
||
type: string
|
||
description: The user's password.
|
||
format: password
|
||
AdminPostBatchesReq:
|
||
type: object
|
||
required:
|
||
- type
|
||
- context
|
||
properties:
|
||
type:
|
||
type: string
|
||
description: >-
|
||
The type of batch job to start, which is defined by the `batchType`
|
||
property of the associated batch job strategy.
|
||
example: product-export
|
||
context:
|
||
type: object
|
||
description: >-
|
||
Additional infomration regarding the batch to be used for
|
||
processing.
|
||
example:
|
||
shape:
|
||
prices:
|
||
- region: null
|
||
currency_code: eur
|
||
dynamicImageColumnCount: 4
|
||
dynamicOptionColumnCount: 2
|
||
list_config:
|
||
skip: 0
|
||
take: 50
|
||
order:
|
||
created_at: DESC
|
||
relations:
|
||
- variants
|
||
- variant.prices
|
||
- images
|
||
dry_run:
|
||
type: boolean
|
||
description: >-
|
||
Set a batch job in dry_run mode, which would delay executing the
|
||
batch job until it's confirmed.
|
||
default: false
|
||
AdminPostCollectionsCollectionReq:
|
||
type: object
|
||
properties:
|
||
title:
|
||
type: string
|
||
description: The title of the collection.
|
||
handle:
|
||
type: string
|
||
description: >-
|
||
An optional handle to be used in slugs. If none is provided, the
|
||
kebab-case version of the title will be used.
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostCollectionsReq:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
type: string
|
||
description: The title of the collection.
|
||
handle:
|
||
type: string
|
||
description: >-
|
||
An optional handle to be used in slugs. If none is provided, the
|
||
kebab-case version of the title will be used.
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostCurrenciesCurrencyReq:
|
||
type: object
|
||
properties:
|
||
includes_tax:
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
description: Tax included in prices of currency.
|
||
AdminPostCustomerGroupsGroupCustomersBatchReq:
|
||
type: object
|
||
required:
|
||
- customer_ids
|
||
properties:
|
||
customer_ids:
|
||
description: The ids of the customers to add
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: ID of the customer
|
||
type: string
|
||
AdminPostCustomerGroupsGroupReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: Name of the customer group
|
||
type: string
|
||
metadata:
|
||
description: Metadata of the customer group.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostCustomerGroupsReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: Name of the customer group
|
||
metadata:
|
||
type: object
|
||
description: Metadata of the customer group.
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostCustomersCustomerReq:
|
||
type: object
|
||
properties:
|
||
email:
|
||
type: string
|
||
description: >-
|
||
The Customer's email. You can't update the email of a registered
|
||
customer.
|
||
format: email
|
||
first_name:
|
||
type: string
|
||
description: The Customer's first name.
|
||
last_name:
|
||
type: string
|
||
description: The Customer's last name.
|
||
phone:
|
||
type: string
|
||
description: The Customer's phone number.
|
||
password:
|
||
type: string
|
||
description: The Customer's password.
|
||
format: password
|
||
groups:
|
||
type: array
|
||
description: A list of customer groups to which the customer belongs.
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a customer group
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostCustomersReq:
|
||
type: object
|
||
required:
|
||
- email
|
||
- first_name
|
||
- last_name
|
||
- password
|
||
properties:
|
||
email:
|
||
type: string
|
||
description: The customer's email.
|
||
format: email
|
||
first_name:
|
||
type: string
|
||
description: The customer's first name.
|
||
last_name:
|
||
type: string
|
||
description: The customer's last name.
|
||
password:
|
||
type: string
|
||
description: The customer's password.
|
||
format: password
|
||
phone:
|
||
type: string
|
||
description: The customer's phone number.
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDiscountsDiscountConditions:
|
||
type: object
|
||
required:
|
||
- operator
|
||
properties:
|
||
operator:
|
||
description: >-
|
||
Operator of the condition. `in` indicates that discountable
|
||
resources are within the specified resources. `not_in` indicates
|
||
that discountable resources are everything but the specified
|
||
resources.
|
||
type: string
|
||
enum:
|
||
- in
|
||
- not_in
|
||
products:
|
||
type: array
|
||
description: list of product IDs if the condition's type is `products`.
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: list of product type IDs if the condition's type is `product_types`.
|
||
items:
|
||
type: string
|
||
product_collections:
|
||
type: array
|
||
description: >-
|
||
list of product collection IDs if the condition's type is
|
||
`product_collections`.
|
||
items:
|
||
type: string
|
||
product_tags:
|
||
type: array
|
||
description: list of product tag IDs if the condition's type is `product_tags`.
|
||
items:
|
||
type: string
|
||
customer_groups:
|
||
type: array
|
||
description: >-
|
||
list of customer group IDs if the condition's type is
|
||
`customer_groups`.
|
||
items:
|
||
type: string
|
||
AdminPostDiscountsDiscountConditionsCondition:
|
||
type: object
|
||
properties:
|
||
products:
|
||
type: array
|
||
description: list of product IDs if the condition's type is `products`.
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: list of product type IDs if the condition's type is `product_types`.
|
||
items:
|
||
type: string
|
||
product_collections:
|
||
type: array
|
||
description: >-
|
||
list of product collection IDs if the condition's type is
|
||
`product_collections`.
|
||
items:
|
||
type: string
|
||
product_tags:
|
||
type: array
|
||
description: list of product tag IDs if the condition's type is `product_tags`
|
||
items:
|
||
type: string
|
||
customer_groups:
|
||
type: array
|
||
description: >-
|
||
list of customer group IDs if the condition's type is
|
||
`customer_groups`.
|
||
items:
|
||
type: string
|
||
AdminPostDiscountsDiscountConditionsConditionBatchReq:
|
||
type: object
|
||
required:
|
||
- resources
|
||
properties:
|
||
resources:
|
||
description: The resources to be added to the discount condition
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The id of the item
|
||
type: string
|
||
AdminPostDiscountsDiscountDynamicCodesReq:
|
||
type: object
|
||
required:
|
||
- code
|
||
properties:
|
||
code:
|
||
type: string
|
||
description: A unique code that will be used to redeem the Discount
|
||
usage_limit:
|
||
type: number
|
||
description: Maximum number of times the discount code can be used
|
||
default: 1
|
||
metadata:
|
||
type: object
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDiscountsDiscountReq:
|
||
type: object
|
||
properties:
|
||
code:
|
||
type: string
|
||
description: A unique code that will be used to redeem the discount
|
||
rule:
|
||
description: The discount rule that defines how discounts are calculated
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the Rule
|
||
description:
|
||
type: string
|
||
description: A short description of the discount
|
||
value:
|
||
type: number
|
||
description: >-
|
||
The value that the discount represents. This will depend on the
|
||
type of the discount.
|
||
allocation:
|
||
type: string
|
||
description: >-
|
||
The scope that the discount should apply to. `total` indicates
|
||
that the discount should be applied on the cart total, and
|
||
`item` indicates that the discount should be applied to each
|
||
discountable item in the cart.
|
||
enum:
|
||
- total
|
||
- item
|
||
conditions:
|
||
type: array
|
||
description: >-
|
||
A set of conditions that can be used to limit when the discount
|
||
can be used. Only one of `products`, `product_types`,
|
||
`product_collections`, `product_tags`, and `customer_groups`
|
||
should be provided based on the discount condition's type.
|
||
items:
|
||
type: object
|
||
required:
|
||
- operator
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the condition
|
||
operator:
|
||
type: string
|
||
description: >-
|
||
Operator of the condition. `in` indicates that
|
||
discountable resources are within the specified resources.
|
||
`not_in` indicates that discountable resources are
|
||
everything but the specified resources.
|
||
enum:
|
||
- in
|
||
- not_in
|
||
products:
|
||
type: array
|
||
description: list of product IDs if the condition's type is `products`.
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: >-
|
||
list of product type IDs if the condition's type is
|
||
`product_types`.
|
||
items:
|
||
type: string
|
||
product_collections:
|
||
type: array
|
||
description: >-
|
||
list of product collection IDs if the condition's type is
|
||
`product_collections`.
|
||
items:
|
||
type: string
|
||
product_tags:
|
||
type: array
|
||
description: >-
|
||
list of product tag IDs if the condition's type is
|
||
`product_tags`.
|
||
items:
|
||
type: string
|
||
customer_groups:
|
||
type: array
|
||
description: >-
|
||
list of customer group IDs if the condition's type is
|
||
`customer_groups`.
|
||
items:
|
||
type: string
|
||
is_disabled:
|
||
type: boolean
|
||
description: >-
|
||
Whether the discount code is disabled on creation. If set to `true`,
|
||
it will not be available for customers.
|
||
starts_at:
|
||
type: string
|
||
format: date-time
|
||
description: The date and time at which the discount should be available.
|
||
ends_at:
|
||
type: string
|
||
format: date-time
|
||
description: >-
|
||
The date and time at which the discount should no longer be
|
||
available.
|
||
valid_duration:
|
||
type: string
|
||
description: The duration the discount runs between
|
||
example: P3Y6M4DT12H30M5S
|
||
usage_limit:
|
||
type: number
|
||
description: Maximum number of times the discount can be used
|
||
regions:
|
||
description: >-
|
||
A list of region IDs representing the Regions in which the Discount
|
||
can be used.
|
||
type: array
|
||
items:
|
||
type: string
|
||
metadata:
|
||
description: An object containing metadata of the discount
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDiscountsReq:
|
||
type: object
|
||
required:
|
||
- code
|
||
- rule
|
||
- regions
|
||
properties:
|
||
code:
|
||
type: string
|
||
description: A unique code that will be used to redeem the discount
|
||
is_dynamic:
|
||
type: boolean
|
||
description: >-
|
||
Whether the discount should have multiple instances of itself, each
|
||
with a different code. This can be useful for automatically
|
||
generated discount codes that all have to follow a common set of
|
||
rules.
|
||
default: false
|
||
rule:
|
||
description: The discount rule that defines how discounts are calculated
|
||
type: object
|
||
required:
|
||
- type
|
||
- value
|
||
- allocation
|
||
properties:
|
||
description:
|
||
type: string
|
||
description: A short description of the discount
|
||
type:
|
||
type: string
|
||
description: >-
|
||
The type of the discount, can be `fixed` for discounts that
|
||
reduce the price by a fixed amount, `percentage` for percentage
|
||
reductions or `free_shipping` for shipping vouchers.
|
||
enum:
|
||
- fixed
|
||
- percentage
|
||
- free_shipping
|
||
value:
|
||
type: number
|
||
description: >-
|
||
The value that the discount represents. This will depend on the
|
||
type of the discount.
|
||
allocation:
|
||
type: string
|
||
description: >-
|
||
The scope that the discount should apply to. `total` indicates
|
||
that the discount should be applied on the cart total, and
|
||
`item` indicates that the discount should be applied to each
|
||
discountable item in the cart.
|
||
enum:
|
||
- total
|
||
- item
|
||
conditions:
|
||
type: array
|
||
description: >-
|
||
A set of conditions that can be used to limit when the discount
|
||
can be used. Only one of `products`, `product_types`,
|
||
`product_collections`, `product_tags`, and `customer_groups`
|
||
should be provided based on the discount condition's type.
|
||
items:
|
||
type: object
|
||
required:
|
||
- operator
|
||
properties:
|
||
operator:
|
||
type: string
|
||
description: >-
|
||
Operator of the condition. `in` indicates that
|
||
discountable resources are within the specified resources.
|
||
`not_in` indicates that discountable resources are
|
||
everything but the specified resources.
|
||
enum:
|
||
- in
|
||
- not_in
|
||
products:
|
||
type: array
|
||
description: list of product IDs if the condition's type is `products`.
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: >-
|
||
list of product type IDs if the condition's type is
|
||
`product_types`.
|
||
items:
|
||
type: string
|
||
product_collections:
|
||
type: array
|
||
description: >-
|
||
list of product collection IDs if the condition's type is
|
||
`product_collections`.
|
||
items:
|
||
type: string
|
||
product_tags:
|
||
type: array
|
||
description: >-
|
||
list of product tag IDs if the condition's type is
|
||
`product_tags`.
|
||
items:
|
||
type: string
|
||
customer_groups:
|
||
type: array
|
||
description: >-
|
||
list of customer group IDs if the condition's type is
|
||
`customer_groups`.
|
||
items:
|
||
type: string
|
||
is_disabled:
|
||
type: boolean
|
||
description: >-
|
||
Whether the discount code is disabled on creation. If set to `true`,
|
||
it will not be available for customers.
|
||
default: false
|
||
starts_at:
|
||
type: string
|
||
format: date-time
|
||
description: The date and time at which the discount should be available.
|
||
ends_at:
|
||
type: string
|
||
format: date-time
|
||
description: >-
|
||
The date and time at which the discount should no longer be
|
||
available.
|
||
valid_duration:
|
||
type: string
|
||
description: The duration the discount runs between
|
||
example: P3Y6M4DT12H30M5S
|
||
regions:
|
||
description: >-
|
||
A list of region IDs representing the Regions in which the Discount
|
||
can be used.
|
||
type: array
|
||
items:
|
||
type: string
|
||
usage_limit:
|
||
type: number
|
||
description: Maximum number of times the discount can be used
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDraftOrdersDraftOrderLineItemsItemReq:
|
||
type: object
|
||
properties:
|
||
unit_price:
|
||
description: >-
|
||
The custom price of the line item. If a `variant_id` is supplied,
|
||
the price provided here will override the variant's price.
|
||
type: integer
|
||
title:
|
||
description: The title of the line item if `variant_id` is not provided.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the line item.
|
||
type: integer
|
||
metadata:
|
||
description: >-
|
||
The optional key-value map with additional details about the Line
|
||
Item.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDraftOrdersDraftOrderLineItemsReq:
|
||
type: object
|
||
required:
|
||
- quantity
|
||
properties:
|
||
variant_id:
|
||
description: >-
|
||
The ID of the Product Variant associated with the line item. If the
|
||
line item is custom, the `variant_id` should be omitted.
|
||
type: string
|
||
unit_price:
|
||
description: >-
|
||
The custom price of the line item. If a `variant_id` is supplied,
|
||
the price provided here will override the variant's price.
|
||
type: integer
|
||
title:
|
||
description: The title of the line item if `variant_id` is not provided.
|
||
type: string
|
||
default: Custom item
|
||
quantity:
|
||
description: The quantity of the line item.
|
||
type: integer
|
||
metadata:
|
||
description: >-
|
||
The optional key-value map with additional details about the Line
|
||
Item.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostDraftOrdersDraftOrderRegisterPaymentRes:
|
||
type: object
|
||
required:
|
||
- order
|
||
properties:
|
||
order:
|
||
description: Order's details.
|
||
$ref: '#/components/schemas/Order'
|
||
AdminPostDraftOrdersDraftOrderReq:
|
||
type: object
|
||
properties:
|
||
region_id:
|
||
type: string
|
||
description: The ID of the Region to create the Draft Order in.
|
||
country_code:
|
||
type: string
|
||
description: The 2 character ISO code for the Country.
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
email:
|
||
type: string
|
||
description: An email to be used in the Draft Order.
|
||
format: email
|
||
billing_address:
|
||
description: The Address to be used for billing purposes.
|
||
anyOf:
|
||
- $ref: '#/components/schemas/AddressPayload'
|
||
- type: string
|
||
shipping_address:
|
||
description: The Address to be used for shipping purposes.
|
||
anyOf:
|
||
- $ref: '#/components/schemas/AddressPayload'
|
||
- type: string
|
||
discounts:
|
||
description: An array of Discount codes to add to the Draft Order.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- code
|
||
properties:
|
||
code:
|
||
description: The code that a Discount is identifed by.
|
||
type: string
|
||
no_notification_order:
|
||
description: >-
|
||
An optional flag passed to the resulting order that indicates
|
||
whether the customer should receive notifications about order
|
||
updates.
|
||
type: boolean
|
||
customer_id:
|
||
description: The ID of the customer this draft order is associated with.
|
||
type: string
|
||
AdminPostDraftOrdersReq:
|
||
type: object
|
||
required:
|
||
- email
|
||
- region_id
|
||
- shipping_methods
|
||
properties:
|
||
status:
|
||
description: >-
|
||
The status of the draft order. The draft order's default status is
|
||
`open`. It's changed to `completed` when its payment is marked as
|
||
paid.
|
||
type: string
|
||
enum:
|
||
- open
|
||
- completed
|
||
email:
|
||
description: The email of the customer of the draft order
|
||
type: string
|
||
format: email
|
||
billing_address:
|
||
description: The Address to be used for billing purposes.
|
||
anyOf:
|
||
- $ref: '#/components/schemas/AddressPayload'
|
||
- type: string
|
||
shipping_address:
|
||
description: The Address to be used for shipping purposes.
|
||
anyOf:
|
||
- $ref: '#/components/schemas/AddressPayload'
|
||
- type: string
|
||
items:
|
||
description: The draft order's line items.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- quantity
|
||
properties:
|
||
variant_id:
|
||
description: >-
|
||
The ID of the Product Variant associated with the line item.
|
||
If the line item is custom, the `variant_id` should be
|
||
omitted.
|
||
type: string
|
||
unit_price:
|
||
description: >-
|
||
The custom price of the line item. If a `variant_id` is
|
||
supplied, the price provided here will override the variant's
|
||
price.
|
||
type: integer
|
||
title:
|
||
description: The title of the line item if `variant_id` is not provided.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the line item.
|
||
type: integer
|
||
metadata:
|
||
description: >-
|
||
The optional key-value map with additional details about the
|
||
line item.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and
|
||
update it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
region_id:
|
||
description: The ID of the region for the draft order
|
||
type: string
|
||
discounts:
|
||
description: The discounts to add to the draft order
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- code
|
||
properties:
|
||
code:
|
||
description: The code of the discount to apply
|
||
type: string
|
||
customer_id:
|
||
description: The ID of the customer this draft order is associated with.
|
||
type: string
|
||
no_notification_order:
|
||
description: >-
|
||
An optional flag passed to the resulting order that indicates
|
||
whether the customer should receive notifications about order
|
||
updates.
|
||
type: boolean
|
||
shipping_methods:
|
||
description: The shipping methods for the draft order
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- option_id
|
||
properties:
|
||
option_id:
|
||
description: The ID of the shipping option in use
|
||
type: string
|
||
data:
|
||
description: The optional additional data needed for the shipping method
|
||
type: object
|
||
price:
|
||
description: The price of the shipping method.
|
||
type: integer
|
||
metadata:
|
||
description: >-
|
||
The optional key-value map with additional details about the Draft
|
||
Order.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostGiftCardsGiftCardReq:
|
||
type: object
|
||
properties:
|
||
balance:
|
||
type: integer
|
||
description: The value (excluding VAT) that the Gift Card should represent.
|
||
is_disabled:
|
||
type: boolean
|
||
description: >-
|
||
Whether the Gift Card is disabled on creation. If set to `true`, the
|
||
gift card will not be available for customers.
|
||
ends_at:
|
||
type: string
|
||
format: date-time
|
||
description: >-
|
||
The date and time at which the Gift Card should no longer be
|
||
available.
|
||
region_id:
|
||
description: The ID of the Region in which the Gift Card can be used.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostGiftCardsReq:
|
||
type: object
|
||
required:
|
||
- region_id
|
||
properties:
|
||
value:
|
||
type: integer
|
||
description: The value (excluding VAT) that the Gift Card should represent.
|
||
is_disabled:
|
||
type: boolean
|
||
description: >-
|
||
Whether the Gift Card is disabled on creation. If set to `true`, the
|
||
gift card will not be available for customers.
|
||
ends_at:
|
||
type: string
|
||
format: date-time
|
||
description: >-
|
||
The date and time at which the Gift Card should no longer be
|
||
available.
|
||
region_id:
|
||
description: The ID of the Region in which the Gift Card can be used.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostInventoryItemsInventoryItemReq:
|
||
type: object
|
||
properties:
|
||
hs_code:
|
||
description: >-
|
||
The Harmonized System code of the Inventory Item. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
origin_country:
|
||
description: >-
|
||
The country in which the Inventory Item was produced. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
mid_code:
|
||
description: >-
|
||
The Manufacturers Identification code that identifies the
|
||
manufacturer of the Inventory Item. May be used by Fulfillment
|
||
Providers to pass customs information to shipping carriers.
|
||
type: string
|
||
material:
|
||
description: >-
|
||
The material and composition that the Inventory Item is made of, May
|
||
be used by Fulfillment Providers to pass customs information to
|
||
shipping carriers.
|
||
type: string
|
||
weight:
|
||
description: >-
|
||
The weight of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
height:
|
||
description: >-
|
||
The height of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
width:
|
||
description: >-
|
||
The width of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
length:
|
||
description: >-
|
||
The length of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
requires_shipping:
|
||
description: Whether the item requires shipping.
|
||
type: boolean
|
||
AdminPostInventoryItemsItemLocationLevelsLevelReq:
|
||
type: object
|
||
properties:
|
||
stocked_quantity:
|
||
description: >-
|
||
the total stock quantity of an inventory item at the given location
|
||
ID
|
||
type: number
|
||
incoming_quantity:
|
||
description: >-
|
||
the incoming stock quantity of an inventory item at the given
|
||
location ID
|
||
type: number
|
||
AdminPostInventoryItemsItemLocationLevelsReq:
|
||
type: object
|
||
required:
|
||
- location_id
|
||
- stocked_quantity
|
||
properties:
|
||
location_id:
|
||
description: the ID of the stock location
|
||
type: string
|
||
stocked_quantity:
|
||
description: the stock quantity of the inventory item at this location
|
||
type: number
|
||
incoming_quantity:
|
||
description: the incoming stock quantity of the inventory item at this location
|
||
type: number
|
||
AdminPostInventoryItemsReq:
|
||
type: object
|
||
required:
|
||
- variant_id
|
||
properties:
|
||
variant_id:
|
||
description: The ID of the variant to create the inventory item for.
|
||
type: string
|
||
sku:
|
||
description: The unique SKU of the associated Product Variant.
|
||
type: string
|
||
ean:
|
||
description: The EAN number of the item.
|
||
type: string
|
||
upc:
|
||
description: The UPC number of the item.
|
||
type: string
|
||
barcode:
|
||
description: A generic GTIN field for the Product Variant.
|
||
type: string
|
||
hs_code:
|
||
description: >-
|
||
The Harmonized System code of the Inventory Item. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
inventory_quantity:
|
||
description: The amount of stock kept of the associated Product Variant.
|
||
type: integer
|
||
default: 0
|
||
allow_backorder:
|
||
description: >-
|
||
Whether the associated Product Variant can be purchased when out of
|
||
stock.
|
||
type: boolean
|
||
manage_inventory:
|
||
description: >-
|
||
Whether Medusa should keep track of the inventory for the associated
|
||
Product Variant.
|
||
type: boolean
|
||
default: true
|
||
weight:
|
||
description: >-
|
||
The weight of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
length:
|
||
description: >-
|
||
The length of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
height:
|
||
description: >-
|
||
The height of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
width:
|
||
description: >-
|
||
The width of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
origin_country:
|
||
description: >-
|
||
The country in which the Inventory Item was produced. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
mid_code:
|
||
description: >-
|
||
The Manufacturers Identification code that identifies the
|
||
manufacturer of the Inventory Item. May be used by Fulfillment
|
||
Providers to pass customs information to shipping carriers.
|
||
type: string
|
||
material:
|
||
description: >-
|
||
The material and composition that the Inventory Item is made of, May
|
||
be used by Fulfillment Providers to pass customs information to
|
||
shipping carriers.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostInvitesInviteAcceptReq:
|
||
type: object
|
||
required:
|
||
- token
|
||
- user
|
||
properties:
|
||
token:
|
||
description: >-
|
||
The token of the invite to accept. This is a unique token generated
|
||
when the invite was created or resent.
|
||
type: string
|
||
user:
|
||
description: The details of the user to create.
|
||
type: object
|
||
required:
|
||
- first_name
|
||
- last_name
|
||
- password
|
||
properties:
|
||
first_name:
|
||
type: string
|
||
description: the first name of the User
|
||
last_name:
|
||
type: string
|
||
description: the last name of the User
|
||
password:
|
||
description: The password for the User
|
||
type: string
|
||
format: password
|
||
AdminPostInvitesReq:
|
||
type: object
|
||
required:
|
||
- user
|
||
- role
|
||
properties:
|
||
user:
|
||
description: >-
|
||
The email associated with the invite. Once the invite is accepted,
|
||
the email will be associated with the created user.
|
||
type: string
|
||
format: email
|
||
role:
|
||
description: >-
|
||
The role of the user to be created. This does not actually change
|
||
the privileges of the user that is eventually created.
|
||
type: string
|
||
enum:
|
||
- admin
|
||
- member
|
||
- developer
|
||
AdminPostNotesNoteReq:
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
value:
|
||
type: string
|
||
description: The description of the Note.
|
||
AdminPostNotesReq:
|
||
type: object
|
||
required:
|
||
- resource_id
|
||
- resource_type
|
||
- value
|
||
properties:
|
||
resource_id:
|
||
type: string
|
||
description: >-
|
||
The ID of the resource which the Note relates to. For example, an
|
||
order ID.
|
||
resource_type:
|
||
type: string
|
||
description: >-
|
||
The type of resource which the Note relates to. For example,
|
||
`order`.
|
||
value:
|
||
type: string
|
||
description: The content of the Note to create.
|
||
AdminPostNotificationsNotificationResendReq:
|
||
type: object
|
||
properties:
|
||
to:
|
||
description: >-
|
||
A new address or user identifier that the Notification should be
|
||
sent to. If not provided, the previous `to` field of the
|
||
notification will be used.
|
||
type: string
|
||
AdminPostOrderEditsEditLineItemsLineItemReq:
|
||
type: object
|
||
required:
|
||
- quantity
|
||
properties:
|
||
quantity:
|
||
description: The quantity to update
|
||
type: number
|
||
AdminPostOrderEditsEditLineItemsReq:
|
||
type: object
|
||
required:
|
||
- variant_id
|
||
- quantity
|
||
properties:
|
||
variant_id:
|
||
description: The ID of the product variant associated with the item.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the item.
|
||
type: number
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostOrderEditsOrderEditReq:
|
||
type: object
|
||
properties:
|
||
internal_note:
|
||
description: An optional note to create or update in the order edit.
|
||
type: string
|
||
AdminPostOrderEditsReq:
|
||
type: object
|
||
required:
|
||
- order_id
|
||
properties:
|
||
order_id:
|
||
description: The ID of the order to create the edit for.
|
||
type: string
|
||
internal_note:
|
||
description: An optional note to associate with the order edit.
|
||
type: string
|
||
AdminPostOrdersOrderClaimsClaimFulfillmentsReq:
|
||
type: object
|
||
properties:
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this Claim.
|
||
type: boolean
|
||
AdminPostOrdersOrderClaimsClaimReq:
|
||
type: object
|
||
properties:
|
||
claim_items:
|
||
description: The Claim Items that the Claim will consist of.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
- images
|
||
- tags
|
||
properties:
|
||
id:
|
||
description: The ID of the Claim Item.
|
||
type: string
|
||
item_id:
|
||
description: The ID of the Line Item that will be claimed.
|
||
type: string
|
||
quantity:
|
||
description: The number of items that will be returned
|
||
type: integer
|
||
note:
|
||
description: Short text describing the Claim Item in further detail.
|
||
type: string
|
||
reason:
|
||
description: The reason for the Claim
|
||
type: string
|
||
enum:
|
||
- missing_item
|
||
- wrong_item
|
||
- production_failure
|
||
- other
|
||
tags:
|
||
description: A list o tags to add to the Claim Item
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: Tag ID
|
||
value:
|
||
type: string
|
||
description: Tag value
|
||
images:
|
||
description: A list of image URL's that will be associated with the Claim
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: Image ID
|
||
url:
|
||
type: string
|
||
description: Image URL
|
||
metadata:
|
||
description: >-
|
||
An optional set of key-value pairs to hold additional
|
||
information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and
|
||
update it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
shipping_methods:
|
||
description: The Shipping Methods to send the additional Line Items with.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: The ID of an existing Shipping Method
|
||
type: string
|
||
option_id:
|
||
description: The ID of the Shipping Option to create a Shipping Method from
|
||
type: string
|
||
price:
|
||
description: The price to charge for the Shipping Method
|
||
type: integer
|
||
data:
|
||
description: >-
|
||
An optional set of key-value pairs to hold additional
|
||
information.
|
||
type: object
|
||
no_notification:
|
||
description: If set to true no notification will be send related to this Swap.
|
||
type: boolean
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostOrdersOrderClaimsClaimShipmentsReq:
|
||
type: object
|
||
required:
|
||
- fulfillment_id
|
||
properties:
|
||
fulfillment_id:
|
||
description: The ID of the Fulfillment.
|
||
type: string
|
||
tracking_numbers:
|
||
description: An array of tracking numbers for the shipment.
|
||
type: array
|
||
items:
|
||
type: string
|
||
AdminPostOrdersOrderClaimsReq:
|
||
type: object
|
||
required:
|
||
- type
|
||
- claim_items
|
||
properties:
|
||
type:
|
||
description: >-
|
||
The type of the Claim. This will determine how the Claim is treated:
|
||
`replace` Claims will result in a Fulfillment with new items being
|
||
created, while a `refund` Claim will refund the amount paid for the
|
||
claimed items.
|
||
type: string
|
||
enum:
|
||
- replace
|
||
- refund
|
||
claim_items:
|
||
description: The Claim Items that the Claim will consist of.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
item_id:
|
||
description: The ID of the Line Item that will be claimed.
|
||
type: string
|
||
quantity:
|
||
description: The number of items that will be returned
|
||
type: integer
|
||
note:
|
||
description: Short text describing the Claim Item in further detail.
|
||
type: string
|
||
reason:
|
||
description: The reason for the Claim
|
||
type: string
|
||
enum:
|
||
- missing_item
|
||
- wrong_item
|
||
- production_failure
|
||
- other
|
||
tags:
|
||
description: A list of tags to add to the Claim Item
|
||
type: array
|
||
items:
|
||
type: string
|
||
images:
|
||
description: A list of image URL's that will be associated with the Claim
|
||
items:
|
||
type: string
|
||
return_shipping:
|
||
description: >-
|
||
Optional details for the Return Shipping Method, if the items are to
|
||
be sent back. Providing this field will result in a return being
|
||
created and associated with the claim.
|
||
type: object
|
||
properties:
|
||
option_id:
|
||
type: string
|
||
description: >-
|
||
The ID of the Shipping Option to create the Shipping Method
|
||
from.
|
||
price:
|
||
type: integer
|
||
description: The price to charge for the Shipping Method.
|
||
additional_items:
|
||
description: >-
|
||
The new items to send to the Customer. This is only used if the
|
||
claim's type is `replace`.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- variant_id
|
||
- quantity
|
||
properties:
|
||
variant_id:
|
||
description: The ID of the Product Variant.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the Product Variant.
|
||
type: integer
|
||
shipping_methods:
|
||
description: >-
|
||
The Shipping Methods to send the additional Line Items with. This is
|
||
only used if the claim's type is `replace`.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: The ID of an existing Shipping Method
|
||
type: string
|
||
option_id:
|
||
description: The ID of the Shipping Option to create a Shipping Method from
|
||
type: string
|
||
price:
|
||
description: The price to charge for the Shipping Method
|
||
type: integer
|
||
data:
|
||
description: >-
|
||
An optional set of key-value pairs to hold additional
|
||
information.
|
||
type: object
|
||
shipping_address:
|
||
description: >-
|
||
An optional shipping address to send the claimed items to. If not
|
||
provided, the parent order's shipping address will be used.
|
||
$ref: '#/components/schemas/AddressPayload'
|
||
refund_amount:
|
||
description: >-
|
||
The amount to refund the customer. This is used when the claim's
|
||
type is `refund`.
|
||
type: integer
|
||
no_notification:
|
||
description: If set to true no notification will be send related to this Claim.
|
||
type: boolean
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostOrdersOrderFulfillmentsReq:
|
||
type: object
|
||
required:
|
||
- items
|
||
properties:
|
||
items:
|
||
description: The Line Items to include in the Fulfillment.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
item_id:
|
||
description: The ID of the Line Item to fulfill.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the Line Item to fulfill.
|
||
type: integer
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this fulfillment.
|
||
type: boolean
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostOrdersOrderRefundsReq:
|
||
type: object
|
||
required:
|
||
- amount
|
||
- reason
|
||
properties:
|
||
amount:
|
||
description: >-
|
||
The amount to refund. It should be less than or equal the
|
||
`refundable_amount` of the order.
|
||
type: integer
|
||
reason:
|
||
description: The reason for the Refund.
|
||
type: string
|
||
note:
|
||
description: A note with additional details about the Refund.
|
||
type: string
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this Refund.
|
||
type: boolean
|
||
AdminPostOrdersOrderReq:
|
||
type: object
|
||
properties:
|
||
email:
|
||
description: the email associated with the order
|
||
type: string
|
||
billing_address:
|
||
description: The order's billing address
|
||
$ref: '#/components/schemas/AddressPayload'
|
||
shipping_address:
|
||
description: The order's shipping address
|
||
$ref: '#/components/schemas/AddressPayload'
|
||
items:
|
||
description: The line items of the order
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
region:
|
||
description: ID of the region that the order is associated with.
|
||
type: string
|
||
discounts:
|
||
description: The discounts applied to the order
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Discount'
|
||
customer_id:
|
||
description: The ID of the customer associated with the order.
|
||
type: string
|
||
payment_method:
|
||
description: The payment method chosen for the order.
|
||
type: object
|
||
properties:
|
||
provider_id:
|
||
type: string
|
||
description: The ID of the payment provider.
|
||
data:
|
||
description: Any data relevant for the given payment method.
|
||
type: object
|
||
shipping_method:
|
||
description: The Shipping Method used for shipping the order.
|
||
type: object
|
||
properties:
|
||
provider_id:
|
||
type: string
|
||
description: The ID of the shipping provider.
|
||
profile_id:
|
||
type: string
|
||
description: The ID of the shipping profile.
|
||
price:
|
||
type: integer
|
||
description: The price of the shipping.
|
||
data:
|
||
type: object
|
||
description: Any data relevant to the specific shipping method.
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
description: Items to ship
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this order.
|
||
type: boolean
|
||
AdminPostOrdersOrderReturnsReq:
|
||
type: object
|
||
required:
|
||
- items
|
||
properties:
|
||
items:
|
||
description: The line items that will be returned.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
item_id:
|
||
description: The ID of the Line Item.
|
||
type: string
|
||
reason_id:
|
||
description: The ID of the Return Reason to use.
|
||
type: string
|
||
note:
|
||
description: An optional note with information about the Return.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the Line Item.
|
||
type: integer
|
||
return_shipping:
|
||
description: The Shipping Method to be used to handle the return shipment.
|
||
type: object
|
||
properties:
|
||
option_id:
|
||
type: string
|
||
description: >-
|
||
The ID of the Shipping Option to create the Shipping Method
|
||
from.
|
||
price:
|
||
type: integer
|
||
description: The price to charge for the Shipping Method.
|
||
note:
|
||
description: An optional note with information about the Return.
|
||
type: string
|
||
receive_now:
|
||
description: >-
|
||
A flag to indicate if the Return should be registerd as received
|
||
immediately.
|
||
type: boolean
|
||
default: false
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this Return.
|
||
type: boolean
|
||
refund:
|
||
description: The amount to refund.
|
||
type: integer
|
||
AdminPostOrdersOrderShipmentReq:
|
||
type: object
|
||
required:
|
||
- fulfillment_id
|
||
properties:
|
||
fulfillment_id:
|
||
description: The ID of the Fulfillment.
|
||
type: string
|
||
tracking_numbers:
|
||
description: The tracking numbers for the shipment.
|
||
type: array
|
||
items:
|
||
type: string
|
||
no_notification:
|
||
description: >-
|
||
If set to true no notification will be send related to this
|
||
Shipment.
|
||
type: boolean
|
||
AdminPostOrdersOrderShippingMethodsReq:
|
||
type: object
|
||
required:
|
||
- price
|
||
- option_id
|
||
properties:
|
||
price:
|
||
type: number
|
||
description: >-
|
||
The price (excluding VAT) that should be charged for the Shipping
|
||
Method
|
||
option_id:
|
||
type: string
|
||
description: The ID of the Shipping Option to create the Shipping Method from.
|
||
date:
|
||
type: object
|
||
description: >-
|
||
The data required for the Shipping Option to create a Shipping
|
||
Method. This depends on the Fulfillment Provider.
|
||
AdminPostOrdersOrderSwapsReq:
|
||
type: object
|
||
required:
|
||
- return_items
|
||
properties:
|
||
return_items:
|
||
description: The Line Items to associate with the swap's return.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
item_id:
|
||
description: The ID of the Line Item that will be returned.
|
||
type: string
|
||
quantity:
|
||
description: The number of items that will be returned
|
||
type: integer
|
||
reason_id:
|
||
description: The ID of the Return Reason to use.
|
||
type: string
|
||
note:
|
||
description: An optional note with information about the Return.
|
||
type: string
|
||
return_shipping:
|
||
description: The shipping method associated with the swap's return.
|
||
type: object
|
||
required:
|
||
- option_id
|
||
properties:
|
||
option_id:
|
||
type: string
|
||
description: >-
|
||
The ID of the Shipping Option to create the Shipping Method
|
||
from.
|
||
price:
|
||
type: integer
|
||
description: The price to charge for the Shipping Method.
|
||
additional_items:
|
||
description: The new items to send to the Customer.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- variant_id
|
||
- quantity
|
||
properties:
|
||
variant_id:
|
||
description: The ID of the Product Variant.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the Product Variant.
|
||
type: integer
|
||
custom_shipping_options:
|
||
description: >-
|
||
An array of custom shipping options to potentially create a Shipping
|
||
Method from to send the additional items.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- option_id
|
||
- price
|
||
properties:
|
||
option_id:
|
||
description: The ID of the Shipping Option.
|
||
type: string
|
||
price:
|
||
description: The custom price of the Shipping Option.
|
||
type: integer
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this Swap.
|
||
type: boolean
|
||
allow_backorder:
|
||
description: If set to `true`, swaps can be completed with items out of stock
|
||
type: boolean
|
||
default: true
|
||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq:
|
||
type: object
|
||
properties:
|
||
metadata:
|
||
description: An optional set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
no_notification:
|
||
description: >-
|
||
If set to `true`, no notification will be sent to the customer
|
||
related to this swap.
|
||
type: boolean
|
||
AdminPostOrdersOrderSwapsSwapShipmentsReq:
|
||
type: object
|
||
required:
|
||
- fulfillment_id
|
||
properties:
|
||
fulfillment_id:
|
||
description: The ID of the Fulfillment.
|
||
type: string
|
||
tracking_numbers:
|
||
description: The tracking numbers for the shipment.
|
||
type: array
|
||
items:
|
||
type: string
|
||
no_notification:
|
||
description: If set to true no notification will be sent related to this Claim.
|
||
type: boolean
|
||
AdminPostPaymentRefundsReq:
|
||
type: object
|
||
required:
|
||
- amount
|
||
- reason
|
||
properties:
|
||
amount:
|
||
description: The amount to refund.
|
||
type: integer
|
||
reason:
|
||
description: The reason for the Refund.
|
||
type: string
|
||
note:
|
||
description: A note with additional details about the Refund.
|
||
type: string
|
||
AdminPostPriceListPricesPricesReq:
|
||
type: object
|
||
properties:
|
||
prices:
|
||
description: The prices to update or add.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The ID of the price.
|
||
type: string
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region for which the price is used. This is only
|
||
required if `currecny_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code for which the price will be
|
||
used. This is only required if `region_id` is not provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
variant_id:
|
||
description: The ID of the Variant for which the price is used.
|
||
type: string
|
||
amount:
|
||
description: The amount to charge for the Product Variant.
|
||
type: integer
|
||
min_quantity:
|
||
description: The minimum quantity for which the price will be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: The maximum quantity for which the price will be used.
|
||
type: integer
|
||
override:
|
||
description: >-
|
||
If set to `true`, the prices will replace all existing prices
|
||
associated with the Price List.
|
||
type: boolean
|
||
AdminPostPriceListsPriceListPriceListReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: The name of the Price List
|
||
type: string
|
||
description:
|
||
description: The description of the Price List.
|
||
type: string
|
||
starts_at:
|
||
description: The date with timezone that the Price List starts being valid.
|
||
type: string
|
||
format: date
|
||
ends_at:
|
||
description: The date with timezone that the Price List ends being valid.
|
||
type: string
|
||
format: date
|
||
type:
|
||
description: The type of the Price List.
|
||
type: string
|
||
enum:
|
||
- sale
|
||
- override
|
||
status:
|
||
description: >-
|
||
The status of the Price List. If the status is set to `draft`, the
|
||
prices created in the price list will not be available of the
|
||
customer.
|
||
type: string
|
||
enum:
|
||
- active
|
||
- draft
|
||
prices:
|
||
description: The prices of the Price List.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The ID of the price.
|
||
type: string
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region for which the price is used. This is only
|
||
required if `currecny_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code for which the price will be
|
||
used. This is only required if `region_id` is not provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
variant_id:
|
||
description: The ID of the Variant for which the price is used.
|
||
type: string
|
||
amount:
|
||
description: The amount to charge for the Product Variant.
|
||
type: integer
|
||
min_quantity:
|
||
description: The minimum quantity for which the price will be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: The maximum quantity for which the price will be used.
|
||
type: integer
|
||
customer_groups:
|
||
type: array
|
||
description: An array of customer groups that the Price List applies to.
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a customer group
|
||
type: string
|
||
includes_tax:
|
||
description: Tax included in prices of price list
|
||
x-featureFlag: tax_inclusive_pricing
|
||
type: boolean
|
||
AdminPostPriceListsPriceListReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
- description
|
||
- type
|
||
- prices
|
||
properties:
|
||
name:
|
||
description: The name of the Price List.
|
||
type: string
|
||
description:
|
||
description: The description of the Price List.
|
||
type: string
|
||
starts_at:
|
||
description: The date with timezone that the Price List starts being valid.
|
||
type: string
|
||
format: date
|
||
ends_at:
|
||
description: The date with timezone that the Price List ends being valid.
|
||
type: string
|
||
format: date
|
||
type:
|
||
description: The type of the Price List.
|
||
type: string
|
||
enum:
|
||
- sale
|
||
- override
|
||
status:
|
||
description: >-
|
||
The status of the Price List. If the status is set to `draft`, the
|
||
prices created in the price list will not be available of the
|
||
customer.
|
||
type: string
|
||
enum:
|
||
- active
|
||
- draft
|
||
prices:
|
||
description: The prices of the Price List.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
- variant_id
|
||
properties:
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region for which the price is used. This is only
|
||
required if `currecny_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code for which the price will be
|
||
used. This is only required if `region_id` is not provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
amount:
|
||
description: The amount to charge for the Product Variant.
|
||
type: integer
|
||
variant_id:
|
||
description: The ID of the Variant for which the price is used.
|
||
type: string
|
||
min_quantity:
|
||
description: The minimum quantity for which the price will be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: The maximum quantity for which the price will be used.
|
||
type: integer
|
||
customer_groups:
|
||
type: array
|
||
description: An array of customer groups that the Price List applies to.
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a customer group
|
||
type: string
|
||
includes_tax:
|
||
description: Tax included in prices of price list
|
||
x-featureFlag: tax_inclusive_pricing
|
||
type: boolean
|
||
AdminPostProductCategoriesCategoryProductsBatchReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: The IDs of the products to add to the Product Category
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the product
|
||
AdminPostProductCategoriesCategoryReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: The name to identify the Product Category by.
|
||
description:
|
||
type: string
|
||
description: An optional text field to describe the Product Category by.
|
||
handle:
|
||
type: string
|
||
description: A handle to be used in slugs.
|
||
is_internal:
|
||
type: boolean
|
||
description: A flag to make product category an internal category for admins
|
||
is_active:
|
||
type: boolean
|
||
description: A flag to make product category visible/hidden in the store front
|
||
parent_category_id:
|
||
type: string
|
||
description: The ID of the parent product category
|
||
rank:
|
||
type: number
|
||
description: The rank of the category in the tree node (starting from 0)
|
||
AdminPostProductCategoriesReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: The name of the product category
|
||
description:
|
||
type: string
|
||
description: The description of the product category.
|
||
handle:
|
||
type: string
|
||
description: >-
|
||
The handle of the product category. If none is provided, the
|
||
kebab-case version of the name will be used. This field can be used
|
||
as a slug in URLs.
|
||
is_internal:
|
||
type: boolean
|
||
description: >-
|
||
If set to `true`, the product category will only be available to
|
||
admins.
|
||
is_active:
|
||
type: boolean
|
||
description: >-
|
||
If set to `false`, the product category will not be available in the
|
||
storefront.
|
||
parent_category_id:
|
||
type: string
|
||
description: The ID of the parent product category
|
||
AdminPostProductsProductMetadataReq:
|
||
type: object
|
||
required:
|
||
- key
|
||
- value
|
||
properties:
|
||
key:
|
||
description: The metadata key
|
||
type: string
|
||
value:
|
||
description: The metadata value
|
||
type: string
|
||
AdminPostProductsProductOptionsOption:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title of the Product Option
|
||
type: string
|
||
AdminPostProductsProductOptionsReq:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title the Product Option.
|
||
type: string
|
||
example: Size
|
||
AdminPostProductsProductReq:
|
||
type: object
|
||
properties:
|
||
title:
|
||
description: The title of the Product
|
||
type: string
|
||
subtitle:
|
||
description: The subtitle of the Product
|
||
type: string
|
||
description:
|
||
description: The description of the Product.
|
||
type: string
|
||
discountable:
|
||
description: >-
|
||
A flag to indicate if discounts can be applied to the Line Items
|
||
generated from this Product
|
||
type: boolean
|
||
images:
|
||
description: >-
|
||
An array of images of the Product. Each value in the array is a URL
|
||
to the image. You can use the upload API Routes to upload the image
|
||
and obtain a URL.
|
||
type: array
|
||
items:
|
||
type: string
|
||
thumbnail:
|
||
description: >-
|
||
The thumbnail to use for the Product. The value is a URL to the
|
||
thumbnail. You can use the upload API Routes to upload the thumbnail
|
||
and obtain a URL.
|
||
type: string
|
||
handle:
|
||
description: >-
|
||
A unique handle to identify the Product by. If not provided, the
|
||
kebab-case version of the product title will be used. This can be
|
||
used as a slug in URLs.
|
||
type: string
|
||
status:
|
||
description: >-
|
||
The status of the product. The product is shown to the customer only
|
||
if its status is `published`.
|
||
type: string
|
||
enum:
|
||
- draft
|
||
- proposed
|
||
- published
|
||
- rejected
|
||
type:
|
||
description: The Product Type to associate the Product with.
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of an existing Product Type. If not provided, a new
|
||
product type will be created.
|
||
type: string
|
||
value:
|
||
description: The value of the Product Type.
|
||
type: string
|
||
collection_id:
|
||
description: The ID of the Product Collection the Product belongs to.
|
||
type: string
|
||
tags:
|
||
description: Product Tags to associate the Product with.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of an existing Product Tag. If not provided, a new
|
||
product tag will be created.
|
||
type: string
|
||
value:
|
||
description: >-
|
||
The value of the Tag. If the `id` is provided, the value of
|
||
the existing tag will be updated.
|
||
type: string
|
||
sales_channels:
|
||
description: Sales channels to associate the Product with.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of an existing Sales channel.
|
||
type: string
|
||
categories:
|
||
description: Product categories to add the Product to.
|
||
x-featureFlag: product_categories
|
||
type: array
|
||
items:
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a Product Category.
|
||
type: string
|
||
variants:
|
||
description: >-
|
||
An array of Product Variants to create with the Product. Each
|
||
product variant must have a unique combination of Product Option
|
||
values.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The id of an existing product variant. If provided, the
|
||
details of the product variant will be updated. If not, a new
|
||
product variant will be created.
|
||
type: string
|
||
title:
|
||
description: The title of the product variant.
|
||
type: string
|
||
sku:
|
||
description: The unique SKU of the product variant.
|
||
type: string
|
||
ean:
|
||
description: The EAN number of the product variant.
|
||
type: string
|
||
upc:
|
||
description: The UPC number of the product variant.
|
||
type: string
|
||
barcode:
|
||
description: A generic GTIN field of the product variant.
|
||
type: string
|
||
hs_code:
|
||
description: The Harmonized System code of the product variant.
|
||
type: string
|
||
inventory_quantity:
|
||
description: The amount of stock kept of the product variant.
|
||
type: integer
|
||
allow_backorder:
|
||
description: >-
|
||
Whether the product variant can be purchased when out of
|
||
stock.
|
||
type: boolean
|
||
manage_inventory:
|
||
description: >-
|
||
Whether Medusa should keep track of the inventory of this
|
||
product variant.
|
||
type: boolean
|
||
weight:
|
||
description: The weight of the product variant.
|
||
type: number
|
||
length:
|
||
description: The length of the product variant.
|
||
type: number
|
||
height:
|
||
description: The height of the product variant.
|
||
type: number
|
||
width:
|
||
description: The width of the product variant.
|
||
type: number
|
||
origin_country:
|
||
description: The country of origin of the product variant.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the product variant.
|
||
type: string
|
||
material:
|
||
description: The material composition of the product variant.
|
||
type: string
|
||
metadata:
|
||
description: >-
|
||
An optional set of key-value pairs with additional
|
||
information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and
|
||
update it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
prices:
|
||
type: array
|
||
description: >-
|
||
An array of product variant prices. A product variant can have
|
||
different prices for each region or currency code.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#product-variant-prices
|
||
description: Product variant pricing.
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of the Price. If provided, the existing price
|
||
will be updated. Otherwise, a new price will be created.
|
||
type: string
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region the price will be used in. This is
|
||
only required if `currency_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code the price will be used
|
||
in. This is only required if `region_id` is not
|
||
provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
amount:
|
||
description: The price amount.
|
||
type: integer
|
||
min_quantity:
|
||
description: >-
|
||
The minimum quantity required to be added to the cart
|
||
for the price to be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: >-
|
||
The maximum quantity required to be added to the cart
|
||
for the price to be used.
|
||
type: integer
|
||
options:
|
||
type: array
|
||
description: >-
|
||
An array of Product Option values that the variant corresponds
|
||
to.
|
||
items:
|
||
type: object
|
||
required:
|
||
- option_id
|
||
- value
|
||
properties:
|
||
option_id:
|
||
description: The ID of the Option.
|
||
type: string
|
||
value:
|
||
description: The value of the Product Option.
|
||
type: string
|
||
weight:
|
||
description: The weight of the Product.
|
||
type: number
|
||
length:
|
||
description: The length of the Product.
|
||
type: number
|
||
height:
|
||
description: The height of the Product.
|
||
type: number
|
||
width:
|
||
description: The width of the Product.
|
||
type: number
|
||
origin_country:
|
||
description: The country of origin of the Product.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the Product.
|
||
type: string
|
||
material:
|
||
description: The material composition of the Product.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostProductsProductVariantsReq:
|
||
type: object
|
||
required:
|
||
- title
|
||
- prices
|
||
- options
|
||
properties:
|
||
title:
|
||
description: The title of the product variant.
|
||
type: string
|
||
sku:
|
||
description: The unique SKU of the product variant.
|
||
type: string
|
||
ean:
|
||
description: The EAN number of the product variant.
|
||
type: string
|
||
upc:
|
||
description: The UPC number of the product variant.
|
||
type: string
|
||
barcode:
|
||
description: A generic GTIN field of the product variant.
|
||
type: string
|
||
hs_code:
|
||
description: The Harmonized System code of the product variant.
|
||
type: string
|
||
inventory_quantity:
|
||
description: The amount of stock kept of the product variant.
|
||
type: integer
|
||
default: 0
|
||
allow_backorder:
|
||
description: Whether the product variant can be purchased when out of stock.
|
||
type: boolean
|
||
manage_inventory:
|
||
description: >-
|
||
Whether Medusa should keep track of the inventory of this product
|
||
variant.
|
||
type: boolean
|
||
default: true
|
||
weight:
|
||
description: The wieght of the product variant.
|
||
type: number
|
||
length:
|
||
description: The length of the product variant.
|
||
type: number
|
||
height:
|
||
description: The height of the product variant.
|
||
type: number
|
||
width:
|
||
description: The width of the product variant.
|
||
type: number
|
||
origin_country:
|
||
description: The country of origin of the product variant.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the product variant.
|
||
type: string
|
||
material:
|
||
description: The material composition of the product variant.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
prices:
|
||
type: array
|
||
description: >-
|
||
An array of product variant prices. A product variant can have
|
||
different prices for each region or currency code.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#product-variant-prices
|
||
description: Product variant pricing.
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
properties:
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region the price will be used in. This is only
|
||
required if `currency_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code the price will be used in.
|
||
This is only required if `region_id` is not provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
amount:
|
||
description: The price amount.
|
||
type: integer
|
||
min_quantity:
|
||
description: >-
|
||
The minimum quantity required to be added to the cart for the
|
||
price to be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: >-
|
||
The maximum quantity required to be added to the cart for the
|
||
price to be used.
|
||
type: integer
|
||
options:
|
||
type: array
|
||
description: An array of Product Option values that the variant corresponds to.
|
||
items:
|
||
type: object
|
||
required:
|
||
- option_id
|
||
- value
|
||
properties:
|
||
option_id:
|
||
description: The ID of the Product Option.
|
||
type: string
|
||
value:
|
||
description: A value to give to the Product Option.
|
||
type: string
|
||
AdminPostProductsProductVariantsVariantReq:
|
||
type: object
|
||
properties:
|
||
title:
|
||
description: The title of the product variant.
|
||
type: string
|
||
sku:
|
||
description: The unique SKU of the product variant.
|
||
type: string
|
||
ean:
|
||
description: The EAN number of the item.
|
||
type: string
|
||
upc:
|
||
description: The UPC number of the item.
|
||
type: string
|
||
barcode:
|
||
description: A generic GTIN field of the product variant.
|
||
type: string
|
||
hs_code:
|
||
description: The Harmonized System code of the product variant.
|
||
type: string
|
||
inventory_quantity:
|
||
description: The amount of stock kept of the product variant.
|
||
type: integer
|
||
allow_backorder:
|
||
description: Whether the product variant can be purchased when out of stock.
|
||
type: boolean
|
||
manage_inventory:
|
||
description: >-
|
||
Whether Medusa should keep track of the inventory of this product
|
||
variant.
|
||
type: boolean
|
||
weight:
|
||
description: The weight of the product variant.
|
||
type: number
|
||
length:
|
||
description: The length of the product variant.
|
||
type: number
|
||
height:
|
||
description: The height of the product variant.
|
||
type: number
|
||
width:
|
||
description: The width of the product variant.
|
||
type: number
|
||
origin_country:
|
||
description: The country of origin of the product variant.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the product variant.
|
||
type: string
|
||
material:
|
||
description: The material composition of the product variant.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
prices:
|
||
type: array
|
||
description: >-
|
||
An array of product variant prices. A product variant can have
|
||
different prices for each region or currency code.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#product-variant-prices
|
||
description: Product variant pricing.
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of the price. If provided, the existing price will be
|
||
updated. Otherwise, a new price will be created.
|
||
type: string
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region the price will be used in. This is only
|
||
required if `currency_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code the price will be used in.
|
||
This is only required if `region_id` is not provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
amount:
|
||
description: The price amount.
|
||
type: integer
|
||
min_quantity:
|
||
description: >-
|
||
The minimum quantity required to be added to the cart for the
|
||
price to be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: >-
|
||
The maximum quantity required to be added to the cart for the
|
||
price to be used.
|
||
type: integer
|
||
options:
|
||
type: array
|
||
description: An array of Product Option values that the variant corresponds to.
|
||
items:
|
||
type: object
|
||
required:
|
||
- option_id
|
||
- value
|
||
properties:
|
||
option_id:
|
||
description: The ID of the Product Option.
|
||
type: string
|
||
value:
|
||
description: The value of the Product Option.
|
||
type: string
|
||
AdminPostProductsReq:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title of the Product
|
||
type: string
|
||
subtitle:
|
||
description: The subtitle of the Product
|
||
type: string
|
||
description:
|
||
description: The description of the Product.
|
||
type: string
|
||
is_giftcard:
|
||
description: >-
|
||
A flag to indicate if the Product represents a Gift Card. Purchasing
|
||
Products with this flag set to `true` will result in a Gift Card
|
||
being created.
|
||
type: boolean
|
||
default: false
|
||
discountable:
|
||
description: >-
|
||
A flag to indicate if discounts can be applied to the Line Items
|
||
generated from this Product
|
||
type: boolean
|
||
default: true
|
||
images:
|
||
description: >-
|
||
An array of images of the Product. Each value in the array is a URL
|
||
to the image. You can use the upload API Routes to upload the image
|
||
and obtain a URL.
|
||
type: array
|
||
items:
|
||
type: string
|
||
thumbnail:
|
||
description: >-
|
||
The thumbnail to use for the Product. The value is a URL to the
|
||
thumbnail. You can use the upload API Routes to upload the thumbnail
|
||
and obtain a URL.
|
||
type: string
|
||
handle:
|
||
description: >-
|
||
A unique handle to identify the Product by. If not provided, the
|
||
kebab-case version of the product title will be used. This can be
|
||
used as a slug in URLs.
|
||
type: string
|
||
status:
|
||
description: >-
|
||
The status of the product. The product is shown to the customer only
|
||
if its status is `published`.
|
||
type: string
|
||
enum:
|
||
- draft
|
||
- proposed
|
||
- published
|
||
- rejected
|
||
default: draft
|
||
type:
|
||
description: The Product Type to associate the Product with.
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of an existing Product Type. If not provided, a new
|
||
product type will be created.
|
||
type: string
|
||
value:
|
||
description: The value of the Product Type.
|
||
type: string
|
||
collection_id:
|
||
description: The ID of the Product Collection the Product belongs to.
|
||
type: string
|
||
tags:
|
||
description: Product Tags to associate the Product with.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of an existing Product Tag. If not provided, a new
|
||
product tag will be created.
|
||
type: string
|
||
value:
|
||
description: >-
|
||
The value of the Tag. If the `id` is provided, the value of
|
||
the existing tag will be updated.
|
||
type: string
|
||
sales_channels:
|
||
description: Sales channels to associate the Product with.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of an existing Sales channel.
|
||
type: string
|
||
categories:
|
||
description: Product categories to add the Product to.
|
||
x-featureFlag: product_categories
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
description: The ID of a Product Category.
|
||
type: string
|
||
options:
|
||
description: >-
|
||
The Options that the Product should have. A new product option will
|
||
be created for every item in the array.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title of the Product Option.
|
||
type: string
|
||
variants:
|
||
description: >-
|
||
An array of Product Variants to create with the Product. Each
|
||
product variant must have a unique combination of Product Option
|
||
values.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title of the Product Variant.
|
||
type: string
|
||
sku:
|
||
description: The unique SKU of the Product Variant.
|
||
type: string
|
||
ean:
|
||
description: The EAN number of the item.
|
||
type: string
|
||
upc:
|
||
description: The UPC number of the item.
|
||
type: string
|
||
barcode:
|
||
description: A generic GTIN field of the Product Variant.
|
||
type: string
|
||
hs_code:
|
||
description: The Harmonized System code of the Product Variant.
|
||
type: string
|
||
inventory_quantity:
|
||
description: The amount of stock kept of the Product Variant.
|
||
type: integer
|
||
default: 0
|
||
allow_backorder:
|
||
description: >-
|
||
Whether the Product Variant can be purchased when out of
|
||
stock.
|
||
type: boolean
|
||
manage_inventory:
|
||
description: >-
|
||
Whether Medusa should keep track of the inventory of this
|
||
Product Variant.
|
||
type: boolean
|
||
weight:
|
||
description: The wieght of the Product Variant.
|
||
type: number
|
||
length:
|
||
description: The length of the Product Variant.
|
||
type: number
|
||
height:
|
||
description: The height of the Product Variant.
|
||
type: number
|
||
width:
|
||
description: The width of the Product Variant.
|
||
type: number
|
||
origin_country:
|
||
description: The country of origin of the Product Variant.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the Product Variant.
|
||
type: string
|
||
material:
|
||
description: The material composition of the Product Variant.
|
||
type: string
|
||
metadata:
|
||
description: >-
|
||
An optional set of key-value pairs with additional
|
||
information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and
|
||
update it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
prices:
|
||
type: array
|
||
description: >-
|
||
An array of product variant prices. A product variant can have
|
||
different prices for each region or currency code.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#product-variant-prices
|
||
description: Product variant pricing.
|
||
items:
|
||
type: object
|
||
required:
|
||
- amount
|
||
properties:
|
||
region_id:
|
||
description: >-
|
||
The ID of the Region the price will be used in. This is
|
||
only required if `currency_code` is not provided.
|
||
type: string
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO currency code the price will be used
|
||
in. This is only required if `region_id` is not
|
||
provided.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
amount:
|
||
description: The price amount.
|
||
type: integer
|
||
min_quantity:
|
||
description: >-
|
||
The minimum quantity required to be added to the cart
|
||
for the price to be used.
|
||
type: integer
|
||
max_quantity:
|
||
description: >-
|
||
The maximum quantity required to be added to the cart
|
||
for the price to be used.
|
||
type: integer
|
||
options:
|
||
type: array
|
||
description: >-
|
||
An array of Product Option values that the variant corresponds
|
||
to. The option values should be added into the array in the
|
||
same index as in the `options` field of the product.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/products/admin/manage-products#create-a-product
|
||
description: Example of how to create a product with options and variants
|
||
items:
|
||
type: object
|
||
required:
|
||
- value
|
||
properties:
|
||
value:
|
||
description: >-
|
||
The value to give for the Product Option at the same
|
||
index in the Product's `options` field.
|
||
type: string
|
||
weight:
|
||
description: The weight of the Product.
|
||
type: number
|
||
length:
|
||
description: The length of the Product.
|
||
type: number
|
||
height:
|
||
description: The height of the Product.
|
||
type: number
|
||
width:
|
||
description: The width of the Product.
|
||
type: number
|
||
hs_code:
|
||
description: The Harmonized System code of the Product.
|
||
type: string
|
||
origin_country:
|
||
description: The country of origin of the Product.
|
||
type: string
|
||
mid_code:
|
||
description: The Manufacturer Identification code of the Product.
|
||
type: string
|
||
material:
|
||
description: The material composition of the Product.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostProductsToCollectionReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: An array of Product IDs to add to the Product Collection.
|
||
type: array
|
||
items:
|
||
description: The ID of a Product to add to the Product Collection.
|
||
type: string
|
||
AdminPostPublishableApiKeySalesChannelsBatchReq:
|
||
type: object
|
||
required:
|
||
- sales_channel_ids
|
||
properties:
|
||
sales_channel_ids:
|
||
description: The IDs of the sales channels to add to the publishable API key
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the sales channel
|
||
AdminPostPublishableApiKeysPublishableApiKeyReq:
|
||
type: object
|
||
properties:
|
||
title:
|
||
description: The title of the Publishable API Key.
|
||
type: string
|
||
AdminPostPublishableApiKeysReq:
|
||
type: object
|
||
required:
|
||
- title
|
||
properties:
|
||
title:
|
||
description: The title of the publishable API key
|
||
type: string
|
||
AdminPostRegionsRegionCountriesReq:
|
||
type: object
|
||
required:
|
||
- country_code
|
||
properties:
|
||
country_code:
|
||
description: The 2 character ISO code for the Country.
|
||
type: string
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
AdminPostRegionsRegionFulfillmentProvidersReq:
|
||
type: object
|
||
required:
|
||
- provider_id
|
||
properties:
|
||
provider_id:
|
||
description: The ID of the Fulfillment Provider.
|
||
type: string
|
||
AdminPostRegionsRegionPaymentProvidersReq:
|
||
type: object
|
||
required:
|
||
- provider_id
|
||
properties:
|
||
provider_id:
|
||
description: The ID of the Payment Provider.
|
||
type: string
|
||
AdminPostRegionsRegionReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: The name of the Region
|
||
type: string
|
||
currency_code:
|
||
description: The 3 character ISO currency code to use in the Region.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
automatic_taxes:
|
||
description: >-
|
||
If set to `true`, the Medusa backend will automatically calculate
|
||
taxes for carts in this region. If set to `false`, the taxes must be
|
||
calculated manually.
|
||
externalDocs:
|
||
url: >-
|
||
https://docs.medusajs.com/modules/taxes/storefront/manual-calculation
|
||
description: How to calculate taxes in a storefront.
|
||
type: boolean
|
||
gift_cards_taxable:
|
||
description: If set to `true`, taxes will be applied on gift cards.
|
||
type: boolean
|
||
tax_provider_id:
|
||
description: >-
|
||
The ID of the tax provider to use. If none provided, the system tax
|
||
provider is used.
|
||
type: string
|
||
tax_code:
|
||
description: The tax code of the Region.
|
||
type: string
|
||
tax_rate:
|
||
description: The tax rate to use in the Region.
|
||
type: number
|
||
includes_tax:
|
||
x-featureFlag: tax_inclusive_pricing
|
||
description: Whether taxes are included in the prices of the region.
|
||
type: boolean
|
||
payment_providers:
|
||
description: A list of Payment Provider IDs that can be used in the Region
|
||
type: array
|
||
items:
|
||
type: string
|
||
fulfillment_providers:
|
||
description: A list of Fulfillment Provider IDs that can be used in the Region
|
||
type: array
|
||
items:
|
||
type: string
|
||
countries:
|
||
description: >-
|
||
A list of countries' 2 ISO characters that should be included in the
|
||
Region.
|
||
type: array
|
||
items:
|
||
type: string
|
||
AdminPostRegionsReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
- currency_code
|
||
- tax_rate
|
||
- payment_providers
|
||
- fulfillment_providers
|
||
- countries
|
||
properties:
|
||
name:
|
||
description: The name of the Region
|
||
type: string
|
||
currency_code:
|
||
description: The 3 character ISO currency code to use in the Region.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
tax_code:
|
||
description: The tax code of the Region.
|
||
type: string
|
||
tax_rate:
|
||
description: The tax rate to use in the Region.
|
||
type: number
|
||
payment_providers:
|
||
description: A list of Payment Provider IDs that can be used in the Region
|
||
type: array
|
||
items:
|
||
type: string
|
||
fulfillment_providers:
|
||
description: A list of Fulfillment Provider IDs that can be used in the Region
|
||
type: array
|
||
items:
|
||
type: string
|
||
countries:
|
||
description: >-
|
||
A list of countries' 2 ISO characters that should be included in the
|
||
Region.
|
||
example:
|
||
- US
|
||
type: array
|
||
items:
|
||
type: string
|
||
includes_tax:
|
||
x-featureFlag: tax_inclusive_pricing
|
||
description: Whether taxes are included in the prices of the region.
|
||
type: boolean
|
||
AdminPostReservationsReq:
|
||
type: object
|
||
required:
|
||
- location_id
|
||
- inventory_item_id
|
||
- quantity
|
||
properties:
|
||
line_item_id:
|
||
description: The ID of the line item of the reservation.
|
||
type: string
|
||
location_id:
|
||
description: The ID of the location of the reservation.
|
||
type: string
|
||
inventory_item_id:
|
||
description: The ID of the inventory item the reservation is associated with.
|
||
type: string
|
||
quantity:
|
||
description: The quantity to reserve.
|
||
type: number
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostReservationsReservationReq:
|
||
type: object
|
||
properties:
|
||
location_id:
|
||
description: The ID of the location associated with the reservation.
|
||
type: string
|
||
quantity:
|
||
description: The quantity to reserve.
|
||
type: number
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostReturnReasonsReasonReq:
|
||
type: object
|
||
properties:
|
||
label:
|
||
description: The label to display to the Customer.
|
||
type: string
|
||
value:
|
||
description: A unique value of the return reason.
|
||
type: string
|
||
description:
|
||
description: The description of the Reason.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostReturnReasonsReq:
|
||
type: object
|
||
required:
|
||
- label
|
||
- value
|
||
properties:
|
||
label:
|
||
description: The label to display to the Customer.
|
||
type: string
|
||
value:
|
||
description: A unique value of the return reason.
|
||
type: string
|
||
parent_return_reason_id:
|
||
description: The ID of the parent return reason.
|
||
type: string
|
||
description:
|
||
description: The description of the Reason.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostReturnsReturnReceiveReq:
|
||
type: object
|
||
required:
|
||
- items
|
||
properties:
|
||
items:
|
||
description: The Line Items that have been received.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
item_id:
|
||
description: The ID of the Line Item.
|
||
type: string
|
||
quantity:
|
||
description: The quantity of the Line Item.
|
||
type: integer
|
||
refund:
|
||
description: The amount to refund.
|
||
type: number
|
||
AdminPostSalesChannelsChannelProductsBatchReq:
|
||
type: object
|
||
required:
|
||
- product_ids
|
||
properties:
|
||
product_ids:
|
||
description: The IDs of the products to add to the Sales Channel
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the product
|
||
AdminPostSalesChannelsChannelStockLocationsReq:
|
||
type: object
|
||
required:
|
||
- location_id
|
||
properties:
|
||
location_id:
|
||
description: The ID of the stock location
|
||
type: string
|
||
AdminPostSalesChannelsReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
properties:
|
||
name:
|
||
description: The name of the Sales Channel
|
||
type: string
|
||
description:
|
||
description: The description of the Sales Channel
|
||
type: string
|
||
is_disabled:
|
||
description: Whether the Sales Channel is disabled.
|
||
type: boolean
|
||
AdminPostSalesChannelsSalesChannelReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: The name of the sales channel
|
||
description:
|
||
type: string
|
||
description: The description of the sales channel.
|
||
is_disabled:
|
||
type: boolean
|
||
description: Whether the Sales Channel is disabled.
|
||
AdminPostShippingOptionsOptionReq:
|
||
type: object
|
||
required:
|
||
- requirements
|
||
properties:
|
||
name:
|
||
description: The name of the Shipping Option
|
||
type: string
|
||
amount:
|
||
description: >-
|
||
The amount to charge for the Shipping Option. If the `price_type` of
|
||
the shipping option is `calculated`, this amount will not actually
|
||
be used.
|
||
type: integer
|
||
admin_only:
|
||
description: >-
|
||
If set to `true`, the shipping option can only be used when creating
|
||
draft orders.
|
||
type: boolean
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
requirements:
|
||
description: >-
|
||
The requirements that must be satisfied for the Shipping Option to
|
||
be available.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- type
|
||
- amount
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of an existing requirement. If an ID is passed, the
|
||
existing requirement's details are updated. Otherwise, a new
|
||
requirement is created.
|
||
type: string
|
||
type:
|
||
description: The type of the requirement
|
||
type: string
|
||
enum:
|
||
- max_subtotal
|
||
- min_subtotal
|
||
amount:
|
||
description: The amount to compare with.
|
||
type: integer
|
||
includes_tax:
|
||
description: Tax included in prices of shipping option
|
||
x-featureFlag: tax_inclusive_pricing
|
||
type: boolean
|
||
AdminPostShippingOptionsReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
- region_id
|
||
- provider_id
|
||
- data
|
||
- price_type
|
||
properties:
|
||
name:
|
||
description: The name of the Shipping Option
|
||
type: string
|
||
region_id:
|
||
description: The ID of the Region in which the Shipping Option will be available.
|
||
type: string
|
||
provider_id:
|
||
description: The ID of the Fulfillment Provider that handles the Shipping Option.
|
||
type: string
|
||
profile_id:
|
||
description: The ID of the Shipping Profile to add the Shipping Option to.
|
||
type: number
|
||
data:
|
||
description: >-
|
||
The data needed for the Fulfillment Provider to handle shipping with
|
||
this Shipping Option.
|
||
type: object
|
||
price_type:
|
||
description: >-
|
||
The type of the Shipping Option price. `flat_rate` indicates fixed
|
||
pricing, whereas `calculated` indicates that the price will be
|
||
calculated each time by the fulfillment provider.
|
||
type: string
|
||
enum:
|
||
- flat_rate
|
||
- calculated
|
||
amount:
|
||
description: >-
|
||
The amount to charge for the Shipping Option. If the `price_type` is
|
||
set to `calculated`, this amount will not actually be used.
|
||
type: integer
|
||
requirements:
|
||
description: >-
|
||
The requirements that must be satisfied for the Shipping Option to
|
||
be available.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- type
|
||
- amount
|
||
properties:
|
||
type:
|
||
description: The type of the requirement
|
||
type: string
|
||
enum:
|
||
- max_subtotal
|
||
- min_subtotal
|
||
amount:
|
||
description: The amount to compare with.
|
||
type: integer
|
||
is_return:
|
||
description: >-
|
||
Whether the Shipping Option can be used for returns or during
|
||
checkout.
|
||
type: boolean
|
||
default: false
|
||
admin_only:
|
||
description: >-
|
||
If set to `true`, the shipping option can only be used when creating
|
||
draft orders.
|
||
type: boolean
|
||
default: false
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
includes_tax:
|
||
description: Tax included in prices of shipping option
|
||
x-featureFlag: tax_inclusive_pricing
|
||
type: boolean
|
||
AdminPostShippingProfilesProfileReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: The name of the Shipping Profile
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
type:
|
||
description: The type of the Shipping Profile
|
||
type: string
|
||
enum:
|
||
- default
|
||
- gift_card
|
||
- custom
|
||
products:
|
||
description: product IDs to associate with the Shipping Profile
|
||
type: array
|
||
shipping_options:
|
||
description: Shipping option IDs to associate with the Shipping Profile
|
||
type: array
|
||
AdminPostShippingProfilesReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
- type
|
||
properties:
|
||
name:
|
||
description: The name of the Shipping Profile
|
||
type: string
|
||
type:
|
||
description: The type of the Shipping Profile
|
||
type: string
|
||
enum:
|
||
- default
|
||
- gift_card
|
||
- custom
|
||
AdminPostStockLocationsLocationReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: the name of the stock location
|
||
type: string
|
||
address_id:
|
||
description: the stock location address ID
|
||
type: string
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
address:
|
||
$ref: '#/components/schemas/StockLocationAddressInput'
|
||
AdminPostStockLocationsReq:
|
||
type: object
|
||
required:
|
||
- name
|
||
properties:
|
||
name:
|
||
description: the name of the stock location
|
||
type: string
|
||
address_id:
|
||
description: >-
|
||
the ID of an existing stock location address to associate with the
|
||
stock location. Only required if `address` is not provided.
|
||
type: string
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
address:
|
||
description: >-
|
||
A new stock location address to create and associate with the stock
|
||
location. Only required if `address_id` is not provided.
|
||
$ref: '#/components/schemas/StockLocationAddressInput'
|
||
AdminPostStockLocationsReqAddress:
|
||
type: object
|
||
required:
|
||
- address_1
|
||
- country_code
|
||
properties:
|
||
address_1:
|
||
type: string
|
||
description: Stock location address
|
||
example: 35, Jhon Doe Ave
|
||
address_2:
|
||
type: string
|
||
description: Stock location address' complement
|
||
example: apartment 4432
|
||
company:
|
||
type: string
|
||
description: Stock location address' company
|
||
city:
|
||
type: string
|
||
description: Stock location address' city
|
||
example: Mexico city
|
||
country_code:
|
||
description: The 2 character ISO code for the country.
|
||
type: string
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
phone:
|
||
type: string
|
||
description: Stock location address' phone number
|
||
example: +1 555 61646
|
||
postal_code:
|
||
type: string
|
||
description: Stock location address' postal code
|
||
example: HD3-1G8
|
||
province:
|
||
type: string
|
||
description: Stock location address' province
|
||
example: Sinaloa
|
||
AdminPostStoreReq:
|
||
type: object
|
||
properties:
|
||
name:
|
||
description: The name of the Store
|
||
type: string
|
||
swap_link_template:
|
||
description: >-
|
||
A template for Swap links - use `{{cart_id}}` to insert the Swap
|
||
Cart ID
|
||
type: string
|
||
example: http://example.com/swaps/{{cart_id}}
|
||
payment_link_template:
|
||
description: >-
|
||
A template for payment links - use `{{cart_id}}` to insert the Cart
|
||
ID
|
||
example: http://example.com/payments/{{cart_id}}
|
||
type: string
|
||
invite_link_template:
|
||
description: >-
|
||
A template for invite links - use `{{invite_token}}` to insert the
|
||
invite token
|
||
example: http://example.com/invite?token={{invite_token}}
|
||
type: string
|
||
default_currency_code:
|
||
description: The default currency code of the Store.
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currencies:
|
||
description: >-
|
||
Array of available currencies in the store. Each currency is in 3
|
||
character ISO code format.
|
||
type: array
|
||
items:
|
||
type: string
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminPostTaxRatesReq:
|
||
type: object
|
||
required:
|
||
- code
|
||
- name
|
||
- region_id
|
||
properties:
|
||
code:
|
||
type: string
|
||
description: The code of the tax rate.
|
||
name:
|
||
type: string
|
||
description: The name of the tax rate.
|
||
region_id:
|
||
type: string
|
||
description: The ID of the Region that the tax rate belongs to.
|
||
rate:
|
||
type: number
|
||
description: The numeric rate to charge.
|
||
products:
|
||
type: array
|
||
description: The IDs of the products associated with this tax rate.
|
||
items:
|
||
type: string
|
||
shipping_options:
|
||
type: array
|
||
description: The IDs of the shipping options associated with this tax rate
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: The IDs of the types of products associated with this tax rate
|
||
items:
|
||
type: string
|
||
AdminPostTaxRatesTaxRateProductTypesReq:
|
||
type: object
|
||
required:
|
||
- product_types
|
||
properties:
|
||
product_types:
|
||
type: array
|
||
description: The IDs of the types of products to associate with this tax rate
|
||
items:
|
||
type: string
|
||
AdminPostTaxRatesTaxRateProductsReq:
|
||
type: object
|
||
required:
|
||
- products
|
||
properties:
|
||
products:
|
||
type: array
|
||
description: The IDs of the products to associate with this tax rate
|
||
items:
|
||
type: string
|
||
AdminPostTaxRatesTaxRateReq:
|
||
type: object
|
||
properties:
|
||
code:
|
||
type: string
|
||
description: The code of the tax rate.
|
||
name:
|
||
type: string
|
||
description: The name of the tax rate.
|
||
region_id:
|
||
type: string
|
||
description: The ID of the Region that the tax rate belongs to.
|
||
rate:
|
||
type: number
|
||
description: The numeric rate to charge.
|
||
products:
|
||
type: array
|
||
description: The IDs of the products associated with this tax rate
|
||
items:
|
||
type: string
|
||
shipping_options:
|
||
type: array
|
||
description: The IDs of the shipping options associated with this tax rate
|
||
items:
|
||
type: string
|
||
product_types:
|
||
type: array
|
||
description: The IDs of the types of product types associated with this tax rate
|
||
items:
|
||
type: string
|
||
AdminPostTaxRatesTaxRateShippingOptionsReq:
|
||
type: object
|
||
required:
|
||
- shipping_options
|
||
properties:
|
||
shipping_options:
|
||
type: array
|
||
description: The IDs of the shipping options to associate with this tax rate
|
||
items:
|
||
type: string
|
||
AdminPostUploadsDownloadUrlReq:
|
||
type: object
|
||
required:
|
||
- file_key
|
||
properties:
|
||
file_key:
|
||
description: >-
|
||
key of the file to obtain the download link for. This is obtained
|
||
when you first uploaded the file, or by the file service if you used
|
||
it directly.
|
||
type: string
|
||
AdminPriceListDeleteBatchRes:
|
||
type: object
|
||
required:
|
||
- ids
|
||
- object
|
||
- deleted
|
||
properties:
|
||
ids:
|
||
type: array
|
||
items:
|
||
type: string
|
||
description: The IDs of the deleted prices.
|
||
object:
|
||
type: string
|
||
description: >-
|
||
The type of the object that was deleted. A price is also named
|
||
`money-amount`.
|
||
default: money-amount
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminPriceListDeleteProductPricesRes:
|
||
type: object
|
||
required:
|
||
- ids
|
||
- object
|
||
- deleted
|
||
properties:
|
||
ids:
|
||
type: array
|
||
description: The IDs of the deleted prices.
|
||
items:
|
||
type: string
|
||
object:
|
||
type: string
|
||
description: >-
|
||
The type of the object that was deleted. A price is also named
|
||
`money-amount`.
|
||
default: money-amount
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminPriceListDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Price List.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: price-list
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminPriceListDeleteVariantPricesRes:
|
||
type: object
|
||
required:
|
||
- ids
|
||
- object
|
||
- deleted
|
||
properties:
|
||
ids:
|
||
type: array
|
||
description: The IDs of the deleted prices.
|
||
items:
|
||
type: string
|
||
object:
|
||
type: string
|
||
description: >-
|
||
The type of the object that was deleted. A price is also named
|
||
`money-amount`.
|
||
default: money-amount
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminPriceListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: price_list
|
||
relations:
|
||
- customer_groups
|
||
- prices
|
||
required:
|
||
- price_list
|
||
properties:
|
||
price_list:
|
||
description: Price List details.
|
||
$ref: '#/components/schemas/PriceList'
|
||
AdminPriceListsListRes:
|
||
type: object
|
||
required:
|
||
- price_lists
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
price_lists:
|
||
type: array
|
||
description: An array of price lists details.
|
||
items:
|
||
$ref: '#/components/schemas/PriceList'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of price lists skipped when retrieving the price lists.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminPriceListsProductsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: products
|
||
relations:
|
||
- categories
|
||
- collection
|
||
- images
|
||
- options
|
||
- tags
|
||
- type
|
||
- variants
|
||
- variants.options
|
||
required:
|
||
- products
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
products:
|
||
type: array
|
||
description: An array of products details.
|
||
items:
|
||
$ref: '#/components/schemas/Product'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of price lists skipped when retrieving the price lists.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductCategoriesCategoryDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted product category
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: product-category
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminProductCategoriesCategoryRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: product_category
|
||
relations:
|
||
- category_children
|
||
- parent_category
|
||
required:
|
||
- product_category
|
||
properties:
|
||
product_category:
|
||
description: Product category details.
|
||
$ref: '#/components/schemas/ProductCategory'
|
||
AdminProductCategoriesListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: product_categories
|
||
relations:
|
||
- category_children
|
||
- parent_category
|
||
required:
|
||
- product_categories
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
product_categories:
|
||
type: array
|
||
description: An array of product category details.
|
||
items:
|
||
$ref: '#/components/schemas/ProductCategory'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of product categories skipped when retrieving the product
|
||
categories.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductTagsListRes:
|
||
type: object
|
||
required:
|
||
- product_tags
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
product_tags:
|
||
type: array
|
||
description: An array of product tag details.
|
||
items:
|
||
$ref: '#/components/schemas/ProductTag'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of product tags skipped when retrieving the product tags.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductTypesListRes:
|
||
type: object
|
||
required:
|
||
- product_types
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
product_types:
|
||
type: array
|
||
description: An array of product types details.
|
||
items:
|
||
$ref: '#/components/schemas/ProductType'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of product types skipped when retrieving the product
|
||
types.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductsDeleteOptionRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: product
|
||
relations:
|
||
- collection
|
||
- images
|
||
- options
|
||
- tags
|
||
- type
|
||
- variants
|
||
- variants.options
|
||
- variants.prices
|
||
required:
|
||
- option_id
|
||
- object
|
||
- deleted
|
||
- product
|
||
properties:
|
||
option_id:
|
||
type: string
|
||
description: The ID of the deleted Product Option
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: option
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
product:
|
||
description: Product details.
|
||
$ref: '#/components/schemas/PricedProduct'
|
||
AdminProductsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Product.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: product
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminProductsDeleteVariantRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: product
|
||
relations:
|
||
- collection
|
||
- images
|
||
- options
|
||
- tags
|
||
- type
|
||
- variants
|
||
- variants.options
|
||
- variants.prices
|
||
required:
|
||
- variant_id
|
||
- object
|
||
- deleted
|
||
- product
|
||
properties:
|
||
variant_id:
|
||
type: string
|
||
description: The ID of the deleted Product Variant.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: product-variant
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
product:
|
||
description: Product details.
|
||
$ref: '#/components/schemas/PricedProduct'
|
||
AdminProductsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: products
|
||
relations:
|
||
- collection
|
||
- images
|
||
- options
|
||
- tags
|
||
- type
|
||
- variants
|
||
- variants.options
|
||
- variants.prices
|
||
totals:
|
||
- variants.purchasable
|
||
required:
|
||
- products
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
products:
|
||
type: array
|
||
description: An array of products details.
|
||
items:
|
||
$ref: '#/components/schemas/PricedProduct'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of products skipped when retrieving the products.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductsListTagsRes:
|
||
type: object
|
||
required:
|
||
- tags
|
||
properties:
|
||
tags:
|
||
description: An array of product tags details.
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- id
|
||
- usage_count
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The ID of the tag.
|
||
type: string
|
||
usage_count:
|
||
description: The number of products that use this tag.
|
||
type: string
|
||
value:
|
||
description: The value of the tag.
|
||
type: string
|
||
AdminProductsListTypesRes:
|
||
type: object
|
||
required:
|
||
- types
|
||
properties:
|
||
types:
|
||
type: array
|
||
description: An array of product types details.
|
||
items:
|
||
$ref: '#/components/schemas/ProductType'
|
||
AdminProductsListVariantsRes:
|
||
type: object
|
||
required:
|
||
- variants
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
variants:
|
||
type: array
|
||
description: An array of product variants details.
|
||
items:
|
||
$ref: '#/components/schemas/ProductVariant'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of product variants skipped when retrieving the product
|
||
variants.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminProductsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: product
|
||
relations:
|
||
- collection
|
||
- images
|
||
- options
|
||
- tags
|
||
- type
|
||
- variants
|
||
- variants.options
|
||
- variants.prices
|
||
required:
|
||
- product
|
||
properties:
|
||
product:
|
||
description: Product details.
|
||
$ref: '#/components/schemas/PricedProduct'
|
||
AdminPublishableApiKeyDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted publishable API key.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: publishable_api_key
|
||
deleted:
|
||
type: boolean
|
||
description: Whether the publishable API key was deleted.
|
||
default: true
|
||
AdminPublishableApiKeysListRes:
|
||
type: object
|
||
required:
|
||
- publishable_api_keys
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
publishable_api_keys:
|
||
type: array
|
||
description: An array of publishable API keys details.
|
||
items:
|
||
$ref: '#/components/schemas/PublishableApiKey'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of publishable API keys skipped when retrieving the
|
||
publishable API keys.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminPublishableApiKeysListSalesChannelsRes:
|
||
type: object
|
||
required:
|
||
- sales_channels
|
||
properties:
|
||
sales_channels:
|
||
description: An array of sales channels details.
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
AdminPublishableApiKeysRes:
|
||
type: object
|
||
required:
|
||
- publishable_api_key
|
||
properties:
|
||
publishable_api_key:
|
||
description: Publishable API key details.
|
||
$ref: '#/components/schemas/PublishableApiKey'
|
||
AdminRefundRes:
|
||
type: object
|
||
required:
|
||
- refund
|
||
properties:
|
||
refund:
|
||
description: Refund details
|
||
$ref: '#/components/schemas/Refund'
|
||
AdminRegionsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Region.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: region
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminRegionsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: regions
|
||
relations:
|
||
- countries
|
||
- fulfillment_providers
|
||
- payment_providers
|
||
eager:
|
||
- fulfillment_providers
|
||
- payment_providers
|
||
required:
|
||
- regions
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
regions:
|
||
type: array
|
||
description: An array of regions details.
|
||
items:
|
||
$ref: '#/components/schemas/Region'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of regions skipped when retrieving the regions.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminRegionsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: region
|
||
relations:
|
||
- countries
|
||
- fulfillment_providers
|
||
- payment_providers
|
||
eager:
|
||
- fulfillment_providers
|
||
- payment_providers
|
||
required:
|
||
- region
|
||
properties:
|
||
region:
|
||
description: Region details.
|
||
$ref: '#/components/schemas/Region'
|
||
AdminReservationsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Reservation.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: reservation
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the Reservation was deleted.
|
||
default: true
|
||
AdminReservationsListRes:
|
||
type: object
|
||
required:
|
||
- reservations
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
reservations:
|
||
type: array
|
||
description: An array of reservations details.
|
||
items:
|
||
$ref: '#/components/schemas/ExtendedReservationItem'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of reservations skipped when retrieving the reservations.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminReservationsRes:
|
||
type: object
|
||
required:
|
||
- reservation
|
||
properties:
|
||
reservation:
|
||
description: Reservation details.
|
||
$ref: '#/components/schemas/ReservationItemDTO'
|
||
AdminResetPasswordRequest:
|
||
type: object
|
||
required:
|
||
- token
|
||
- password
|
||
properties:
|
||
email:
|
||
description: The User's email.
|
||
type: string
|
||
format: email
|
||
token:
|
||
description: >-
|
||
The password-reset token generated when the password reset was
|
||
requested.
|
||
type: string
|
||
password:
|
||
description: The User's new password.
|
||
type: string
|
||
format: password
|
||
AdminResetPasswordTokenRequest:
|
||
type: object
|
||
required:
|
||
- email
|
||
properties:
|
||
email:
|
||
description: The User's email.
|
||
type: string
|
||
format: email
|
||
AdminReturnReasonsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted return reason
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: return_reason
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminReturnReasonsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: return_reasons
|
||
relations:
|
||
- parent_return_reason
|
||
- return_reason_children
|
||
required:
|
||
- return_reasons
|
||
properties:
|
||
return_reasons:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/ReturnReason'
|
||
AdminReturnReasonsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: return_reason
|
||
relations:
|
||
- parent_return_reason
|
||
- return_reason_children
|
||
required:
|
||
- return_reason
|
||
properties:
|
||
return_reason:
|
||
$ref: '#/components/schemas/ReturnReason'
|
||
AdminReturnsCancelRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: order
|
||
relations:
|
||
- billing_address
|
||
- claims
|
||
- claims.additional_items
|
||
- claims.additional_items.variant
|
||
- claims.claim_items
|
||
- claims.claim_items.images
|
||
- claims.claim_items.item
|
||
- claims.fulfillments
|
||
- claims.fulfillments.tracking_links
|
||
- claims.return_order
|
||
- claims.return_order.shipping_method
|
||
- claims.return_order.shipping_method.tax_lines
|
||
- claims.shipping_address
|
||
- claims.shipping_methods
|
||
- customer
|
||
- discounts
|
||
- discounts.rule
|
||
- fulfillments
|
||
- fulfillments.items
|
||
- fulfillments.tracking_links
|
||
- gift_card_transactions
|
||
- gift_cards
|
||
- items
|
||
- payments
|
||
- refunds
|
||
- region
|
||
- returns
|
||
- returns.items
|
||
- returns.items.reason
|
||
- returns.shipping_method
|
||
- returns.shipping_method.tax_lines
|
||
- shipping_address
|
||
- shipping_methods
|
||
- swaps
|
||
- swaps.additional_items
|
||
- swaps.additional_items.variant
|
||
- swaps.fulfillments
|
||
- swaps.fulfillments.tracking_links
|
||
- swaps.payment
|
||
- swaps.return_order
|
||
- swaps.return_order.shipping_method
|
||
- swaps.return_order.shipping_method.tax_lines
|
||
- swaps.shipping_address
|
||
- swaps.shipping_methods
|
||
- swaps.shipping_methods.tax_lines
|
||
required:
|
||
- order
|
||
properties:
|
||
order:
|
||
description: Order details.
|
||
$ref: '#/components/schemas/Order'
|
||
AdminReturnsListRes:
|
||
type: object
|
||
x-expanded-relation:
|
||
field: returns
|
||
relations:
|
||
- order
|
||
- swap
|
||
required:
|
||
- returns
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
returns:
|
||
type: array
|
||
description: An array of returns details.
|
||
items:
|
||
$ref: '#/components/schemas/Return'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of returns skipped when retrieving the returns.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminReturnsRes:
|
||
type: object
|
||
x-expanded-relation:
|
||
field: return
|
||
relations:
|
||
- swap
|
||
required:
|
||
- return
|
||
properties:
|
||
return:
|
||
description: Return details.
|
||
$ref: '#/components/schemas/Return'
|
||
AdminSalesChannelsDeleteLocationRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the removed stock location from a sales channel
|
||
object:
|
||
type: string
|
||
description: The type of the object that was removed.
|
||
default: stock-location
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminSalesChannelsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted sales channel
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: sales-channel
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminSalesChannelsListRes:
|
||
type: object
|
||
required:
|
||
- sales_channels
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
sales_channels:
|
||
type: array
|
||
description: An array of sales channels details.
|
||
items:
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of items skipped before the returned results
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminSalesChannelsRes:
|
||
type: object
|
||
required:
|
||
- sales_channel
|
||
properties:
|
||
sales_channel:
|
||
description: Sales Channel's details.
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
AdminShippingOptionsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Shipping Option.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: shipping-option
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminShippingOptionsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: shipping_options
|
||
relations:
|
||
- profile
|
||
- region
|
||
- requirements
|
||
eager:
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
required:
|
||
- shipping_options
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
shipping_options:
|
||
type: array
|
||
description: An array of shipping options details.
|
||
items:
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of shipping options skipped when retrieving the shipping
|
||
options.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminShippingOptionsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: shipping_option
|
||
relations:
|
||
- profile
|
||
- region
|
||
- requirements
|
||
eager:
|
||
- region.fulfillment_providers
|
||
- region.payment_providers
|
||
required:
|
||
- shipping_option
|
||
properties:
|
||
shipping_option:
|
||
description: Shipping option details.
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
AdminShippingProfilesListRes:
|
||
type: object
|
||
required:
|
||
- shipping_profiles
|
||
properties:
|
||
shipping_profiles:
|
||
type: array
|
||
description: An array of shipping profiles details.
|
||
items:
|
||
$ref: '#/components/schemas/ShippingProfile'
|
||
AdminShippingProfilesRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: shipping_profile
|
||
relations:
|
||
- products
|
||
- shipping_options
|
||
required:
|
||
- shipping_profile
|
||
properties:
|
||
shipping_profile:
|
||
description: Shipping profile details.
|
||
$ref: '#/components/schemas/ShippingProfile'
|
||
AdminStockLocationsDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Stock Location.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: stock_location
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminStockLocationsListRes:
|
||
type: object
|
||
required:
|
||
- stock_locations
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
stock_locations:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/StockLocationExpandedDTO'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of stock locations skipped when retrieving the stock
|
||
locations.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminStockLocationsRes:
|
||
type: object
|
||
required:
|
||
- stock_location
|
||
properties:
|
||
stock_location:
|
||
description: Stock location details.
|
||
$ref: '#/components/schemas/StockLocationExpandedDTO'
|
||
AdminStoresRes:
|
||
type: object
|
||
required:
|
||
- store
|
||
properties:
|
||
store:
|
||
description: Store details.
|
||
$ref: '#/components/schemas/Store'
|
||
AdminSwapsListRes:
|
||
type: object
|
||
required:
|
||
- swaps
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
swaps:
|
||
type: array
|
||
description: An array of swaps details.
|
||
items:
|
||
$ref: '#/components/schemas/Swap'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of swaps skipped when retrieving the swaps.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminSwapsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: swap
|
||
relations:
|
||
- additional_items
|
||
- additional_items.adjustments
|
||
- cart
|
||
- cart.items
|
||
- cart.items.adjustments
|
||
- cart.items.variant
|
||
- fulfillments
|
||
- order
|
||
- payment
|
||
- return_order
|
||
- shipping_address
|
||
- shipping_methods
|
||
eager:
|
||
- fulfillments.items
|
||
- shipping_methods.shipping_option
|
||
required:
|
||
- swap
|
||
properties:
|
||
swap:
|
||
description: Swap details.
|
||
$ref: '#/components/schemas/Swap'
|
||
AdminTaxProvidersList:
|
||
type: object
|
||
required:
|
||
- tax_providers
|
||
properties:
|
||
tax_providers:
|
||
type: array
|
||
description: An array of tax providers details.
|
||
items:
|
||
$ref: '#/components/schemas/TaxProvider'
|
||
AdminTaxRatesDeleteRes:
|
||
type: object
|
||
required:
|
||
- id
|
||
- object
|
||
- deleted
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The ID of the deleted Shipping Option.
|
||
object:
|
||
type: string
|
||
description: The type of the object that was deleted.
|
||
default: tax-rate
|
||
deleted:
|
||
type: boolean
|
||
description: Whether or not the items were deleted.
|
||
default: true
|
||
AdminTaxRatesListRes:
|
||
type: object
|
||
required:
|
||
- tax_rates
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
tax_rates:
|
||
type: array
|
||
description: An array of tax rate details.
|
||
items:
|
||
$ref: '#/components/schemas/TaxRate'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: The number of tax rates to skip when retrieving the tax rates.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminTaxRatesRes:
|
||
type: object
|
||
required:
|
||
- tax_rate
|
||
properties:
|
||
tax_rate:
|
||
description: Tax rate details.
|
||
$ref: '#/components/schemas/TaxRate'
|
||
AdminUpdatePaymentCollectionsReq:
|
||
type: object
|
||
properties:
|
||
description:
|
||
description: A description to create or update the payment collection.
|
||
type: string
|
||
metadata:
|
||
description: A set of key-value pairs to hold additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminUpdateUserRequest:
|
||
type: object
|
||
properties:
|
||
first_name:
|
||
description: The first name of the User.
|
||
type: string
|
||
last_name:
|
||
description: The last name of the User.
|
||
type: string
|
||
role:
|
||
description: >-
|
||
The role assigned to the user. These roles don't provide any
|
||
different privileges.
|
||
type: string
|
||
enum:
|
||
- admin
|
||
- member
|
||
- developer
|
||
api_token:
|
||
description: The API token of the User.
|
||
type: string
|
||
metadata:
|
||
description: An optional set of key-value pairs with additional information.
|
||
type: object
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
AdminUploadsDownloadUrlRes:
|
||
type: object
|
||
required:
|
||
- download_url
|
||
properties:
|
||
download_url:
|
||
description: The Download URL of the file
|
||
type: string
|
||
AdminUploadsRes:
|
||
type: object
|
||
required:
|
||
- uploads
|
||
properties:
|
||
uploads:
|
||
type: array
|
||
description: Uploaded files details.
|
||
items:
|
||
type: object
|
||
required:
|
||
- url
|
||
- key
|
||
properties:
|
||
url:
|
||
description: The URL of the uploaded file.
|
||
type: string
|
||
format: uri
|
||
key:
|
||
description: >-
|
||
The key of the file that is identifiable by the file service.
|
||
It can be used later to retrieve or manipulate the file.
|
||
type: string
|
||
AdminUserRes:
|
||
type: object
|
||
required:
|
||
- user
|
||
properties:
|
||
user:
|
||
description: User details.
|
||
$ref: '#/components/schemas/User'
|
||
AdminUsersListRes:
|
||
type: object
|
||
required:
|
||
- users
|
||
properties:
|
||
users:
|
||
type: array
|
||
description: An array of users details.
|
||
items:
|
||
$ref: '#/components/schemas/User'
|
||
AdminVariantsListRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: variants
|
||
relations:
|
||
- options
|
||
- prices
|
||
- product
|
||
totals:
|
||
- purchasable
|
||
required:
|
||
- variants
|
||
- count
|
||
- offset
|
||
- limit
|
||
properties:
|
||
variants:
|
||
type: array
|
||
description: An array of product variant details.
|
||
items:
|
||
$ref: '#/components/schemas/PricedVariant'
|
||
count:
|
||
type: integer
|
||
description: The total number of items available
|
||
offset:
|
||
type: integer
|
||
description: >-
|
||
The number of product variants skipped when retrieving the product
|
||
variants.
|
||
limit:
|
||
type: integer
|
||
description: The number of items per page
|
||
AdminVariantsRes:
|
||
type: object
|
||
x-expanded-relations:
|
||
field: variant
|
||
relations:
|
||
- options
|
||
- prices
|
||
- product
|
||
required:
|
||
- variant
|
||
properties:
|
||
variant:
|
||
description: Product variant's details.
|
||
$ref: '#/components/schemas/PricedVariant'
|
||
BatchJob:
|
||
title: Batch Job
|
||
description: >-
|
||
A Batch Job indicates an asynchronus task stored in the Medusa backend.
|
||
Its status determines whether it has been executed or not.
|
||
type: object
|
||
required:
|
||
- canceled_at
|
||
- completed_at
|
||
- confirmed_at
|
||
- context
|
||
- created_at
|
||
- created_by
|
||
- deleted_at
|
||
- dry_run
|
||
- failed_at
|
||
- id
|
||
- pre_processed_at
|
||
- processing_at
|
||
- result
|
||
- status
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The unique identifier for the batch job.
|
||
type: string
|
||
example: batch_01G8T782965PYFG0751G0Z38B4
|
||
type:
|
||
description: The type of batch job.
|
||
type: string
|
||
enum:
|
||
- product-import
|
||
- product-export
|
||
status:
|
||
description: The status of the batch job.
|
||
type: string
|
||
enum:
|
||
- created
|
||
- pre_processed
|
||
- confirmed
|
||
- processing
|
||
- completed
|
||
- canceled
|
||
- failed
|
||
default: created
|
||
created_by:
|
||
description: The unique identifier of the user that created the batch job.
|
||
nullable: true
|
||
type: string
|
||
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
||
created_by_user:
|
||
description: The details of the user that created the batch job.
|
||
x-expandable: created_by_user
|
||
nullable: true
|
||
$ref: '#/components/schemas/User'
|
||
context:
|
||
description: >-
|
||
The context of the batch job, the type of the batch job determines
|
||
what the context should contain.
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
shape:
|
||
prices:
|
||
- region: null
|
||
currency_code: eur
|
||
dynamicImageColumnCount: 4
|
||
dynamicOptionColumnCount: 2
|
||
list_config:
|
||
skip: 0
|
||
take: 50
|
||
order:
|
||
created_at: DESC
|
||
relations:
|
||
- variants
|
||
- variant.prices
|
||
- images
|
||
dry_run:
|
||
description: Specify if the job must apply the modifications or not.
|
||
type: boolean
|
||
default: false
|
||
result:
|
||
description: The result of the batch job.
|
||
nullable: true
|
||
allOf:
|
||
- type: object
|
||
example: {}
|
||
- type: object
|
||
properties:
|
||
count:
|
||
type: number
|
||
advancement_count:
|
||
type: number
|
||
progress:
|
||
type: number
|
||
errors:
|
||
type: object
|
||
properties:
|
||
message:
|
||
type: string
|
||
code:
|
||
oneOf:
|
||
- type: string
|
||
- type: number
|
||
err:
|
||
type: array
|
||
stat_descriptors:
|
||
type: object
|
||
properties:
|
||
key:
|
||
type: string
|
||
name:
|
||
type: string
|
||
message:
|
||
type: string
|
||
file_key:
|
||
type: string
|
||
file_size:
|
||
type: number
|
||
example:
|
||
errors:
|
||
- err: []
|
||
code: unknown
|
||
message: Method not implemented.
|
||
stat_descriptors:
|
||
- key: product-export-count
|
||
name: Product count to export
|
||
message: There will be 8 products exported by this action
|
||
pre_processed_at:
|
||
description: The date from which the job has been pre-processed.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
processing_at:
|
||
description: The date the job is processing at.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
confirmed_at:
|
||
description: The date when the confirmation has been done.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
completed_at:
|
||
description: The date of the completion.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
canceled_at:
|
||
description: The date of the concellation.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
failed_at:
|
||
description: The date when the job failed.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was last updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
Cart:
|
||
title: Cart
|
||
description: >-
|
||
A cart represents a virtual shopping bag. It can be used to complete an
|
||
order, a swap, or a claim.
|
||
type: object
|
||
required:
|
||
- billing_address_id
|
||
- completed_at
|
||
- context
|
||
- created_at
|
||
- customer_id
|
||
- deleted_at
|
||
- email
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- payment_authorized_at
|
||
- payment_id
|
||
- payment_session
|
||
- region_id
|
||
- shipping_address_id
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The cart's ID
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
email:
|
||
description: The email associated with the cart
|
||
nullable: true
|
||
type: string
|
||
format: email
|
||
billing_address_id:
|
||
description: The billing address's ID
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
billing_address:
|
||
description: The details of the billing address associated with the cart.
|
||
x-expandable: billing_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
shipping_address_id:
|
||
description: The shipping address's ID
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
shipping_address:
|
||
description: The details of the shipping address associated with the cart.
|
||
x-expandable: shipping_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
items:
|
||
description: The line items added to the cart.
|
||
type: array
|
||
x-expandable: items
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
region_id:
|
||
description: The region's ID
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region associated with the cart.
|
||
x-expandable: region
|
||
nullable: true
|
||
$ref: '#/components/schemas/Region'
|
||
discounts:
|
||
description: An array of details of all discounts applied to the cart.
|
||
type: array
|
||
x-expandable: discounts
|
||
items:
|
||
$ref: '#/components/schemas/Discount'
|
||
gift_cards:
|
||
description: An array of details of all gift cards applied to the cart.
|
||
type: array
|
||
x-expandable: gift_cards
|
||
items:
|
||
$ref: '#/components/schemas/GiftCard'
|
||
customer_id:
|
||
description: The customer's ID
|
||
nullable: true
|
||
type: string
|
||
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
||
customer:
|
||
description: The details of the customer the cart belongs to.
|
||
x-expandable: customer
|
||
nullable: true
|
||
type: object
|
||
payment_session:
|
||
description: The details of the selected payment session in the cart.
|
||
x-expandable: payment_session
|
||
nullable: true
|
||
type: object
|
||
payment_sessions:
|
||
description: The details of all payment sessions created on the cart.
|
||
type: array
|
||
x-expandable: payment_sessions
|
||
items:
|
||
type: object
|
||
payment_id:
|
||
description: The payment's ID if available
|
||
nullable: true
|
||
type: string
|
||
example: pay_01G8ZCC5W42ZNY842124G7P5R9
|
||
payment:
|
||
description: The details of the payment associated with the cart.
|
||
nullable: true
|
||
x-expandable: payment
|
||
type: object
|
||
shipping_methods:
|
||
description: The details of the shipping methods added to the cart.
|
||
type: array
|
||
x-expandable: shipping_methods
|
||
items:
|
||
$ref: '#/components/schemas/ShippingMethod'
|
||
type:
|
||
description: The cart's type.
|
||
type: string
|
||
enum:
|
||
- default
|
||
- swap
|
||
- draft_order
|
||
- payment_link
|
||
- claim
|
||
default: default
|
||
completed_at:
|
||
description: The date with timezone at which the cart was completed.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
payment_authorized_at:
|
||
description: The date with timezone at which the payment was authorized.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of a cart in
|
||
case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
context:
|
||
description: >-
|
||
The context of the cart which can include info like IP or user
|
||
agent.
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
ip: '::1'
|
||
user_agent: PostmanRuntime/7.29.2
|
||
sales_channel_id:
|
||
description: The sales channel ID the cart is associated with.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
sales_channel:
|
||
description: The details of the sales channel associated with the cart.
|
||
nullable: true
|
||
x-expandable: sales_channel
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
shipping_total:
|
||
description: The total of shipping
|
||
type: integer
|
||
example: 1000
|
||
discount_total:
|
||
description: The total of discount rounded
|
||
type: integer
|
||
example: 800
|
||
raw_discount_total:
|
||
description: The total of discount
|
||
type: integer
|
||
example: 800
|
||
item_tax_total:
|
||
description: The total of items with taxes
|
||
type: integer
|
||
example: 8000
|
||
shipping_tax_total:
|
||
description: The total of shipping with taxes
|
||
type: integer
|
||
example: 1000
|
||
tax_total:
|
||
description: The total of tax
|
||
type: integer
|
||
example: 0
|
||
refunded_total:
|
||
description: >-
|
||
The total amount refunded if the order associated with this cart is
|
||
returned.
|
||
type: integer
|
||
example: 0
|
||
total:
|
||
description: The total amount of the cart
|
||
type: integer
|
||
example: 8200
|
||
subtotal:
|
||
description: The subtotal of the cart
|
||
type: integer
|
||
example: 8000
|
||
refundable_amount:
|
||
description: The amount that can be refunded
|
||
type: integer
|
||
example: 8200
|
||
gift_card_total:
|
||
description: The total of gift cards
|
||
type: integer
|
||
example: 0
|
||
gift_card_tax_total:
|
||
description: The total of gift cards with taxes
|
||
type: integer
|
||
example: 0
|
||
ClaimImage:
|
||
title: Claim Image
|
||
description: The details of an image attached to a claim.
|
||
type: object
|
||
required:
|
||
- claim_item_id
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- updated_at
|
||
- url
|
||
properties:
|
||
id:
|
||
description: The claim image's ID
|
||
type: string
|
||
example: cimg_01G8ZH853Y6TFXWPG5EYE81X63
|
||
claim_item_id:
|
||
description: The ID of the claim item associated with the image
|
||
type: string
|
||
claim_item:
|
||
description: The details of the claim item this image is associated with.
|
||
nullable: true
|
||
x-expandable: claim_item
|
||
type: object
|
||
url:
|
||
description: The URL of the image
|
||
type: string
|
||
format: uri
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ClaimItem:
|
||
title: Claim Item
|
||
description: >-
|
||
A claim item is an item created as part of a claim. It references an
|
||
item in the order that should be exchanged or refunded.
|
||
type: object
|
||
required:
|
||
- claim_order_id
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- item_id
|
||
- metadata
|
||
- note
|
||
- quantity
|
||
- reason
|
||
- updated_at
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The claim item's ID
|
||
type: string
|
||
example: citm_01G8ZH853Y6TFXWPG5EYE81X63
|
||
images:
|
||
description: The claim images that are attached to the claim item.
|
||
type: array
|
||
x-expandable: images
|
||
items:
|
||
$ref: '#/components/schemas/ClaimImage'
|
||
claim_order_id:
|
||
description: The ID of the claim this item is associated with.
|
||
type: string
|
||
claim_order:
|
||
description: The details of the claim this item belongs to.
|
||
x-expandable: claim_order
|
||
nullable: true
|
||
type: object
|
||
item_id:
|
||
description: The ID of the line item that the claim item refers to.
|
||
type: string
|
||
example: item_01G8ZM25TN49YV9EQBE2NC27KC
|
||
item:
|
||
description: >-
|
||
The details of the line item in the original order that this claim
|
||
item refers to.
|
||
x-expandable: item
|
||
nullable: true
|
||
$ref: '#/components/schemas/LineItem'
|
||
variant_id:
|
||
description: The ID of the product variant that is claimed.
|
||
type: string
|
||
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
||
variant:
|
||
description: >-
|
||
The details of the product variant to potentially replace the item
|
||
in the original order.
|
||
x-expandable: variant
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductVariant'
|
||
reason:
|
||
description: The reason for the claim
|
||
type: string
|
||
enum:
|
||
- missing_item
|
||
- wrong_item
|
||
- production_failure
|
||
- other
|
||
note:
|
||
description: An optional note about the claim, for additional information
|
||
nullable: true
|
||
type: string
|
||
example: I don't like it.
|
||
quantity:
|
||
description: >-
|
||
The quantity of the item that is being claimed; must be less than or
|
||
equal to the amount purchased in the original order.
|
||
type: integer
|
||
example: 1
|
||
tags:
|
||
description: User defined tags for easy filtering and grouping.
|
||
type: array
|
||
x-expandable: tags
|
||
items:
|
||
$ref: '#/components/schemas/ClaimTag'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ClaimOrder:
|
||
title: Claim
|
||
description: >-
|
||
A Claim represents a group of faulty or missing items. It consists of
|
||
claim items that refer to items in the original order that should be
|
||
replaced or refunded. It also includes details related to shipping and
|
||
fulfillment.
|
||
type: object
|
||
required:
|
||
- canceled_at
|
||
- created_at
|
||
- deleted_at
|
||
- fulfillment_status
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- no_notification
|
||
- order_id
|
||
- payment_status
|
||
- refund_amount
|
||
- shipping_address_id
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The claim's ID
|
||
type: string
|
||
example: claim_01G8ZH853Y6TFXWPG5EYE81X63
|
||
type:
|
||
description: The claim's type
|
||
type: string
|
||
enum:
|
||
- refund
|
||
- replace
|
||
payment_status:
|
||
description: The status of the claim's payment
|
||
type: string
|
||
enum:
|
||
- na
|
||
- not_refunded
|
||
- refunded
|
||
default: na
|
||
fulfillment_status:
|
||
description: The claim's fulfillment status
|
||
type: string
|
||
enum:
|
||
- not_fulfilled
|
||
- partially_fulfilled
|
||
- fulfilled
|
||
- partially_shipped
|
||
- shipped
|
||
- partially_returned
|
||
- returned
|
||
- canceled
|
||
- requires_action
|
||
default: not_fulfilled
|
||
claim_items:
|
||
description: The details of the items that should be replaced or refunded.
|
||
type: array
|
||
x-expandable: claim_items
|
||
items:
|
||
$ref: '#/components/schemas/ClaimItem'
|
||
additional_items:
|
||
description: >-
|
||
The details of the new items to be shipped when the claim's type is
|
||
`replace`
|
||
type: array
|
||
x-expandable: additional_items
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
order_id:
|
||
description: The ID of the order that the claim comes from.
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that this claim was created for.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
return_order:
|
||
description: >-
|
||
The details of the return associated with the claim if the claim's
|
||
type is `replace`.
|
||
x-expandable: return_order
|
||
nullable: true
|
||
type: object
|
||
shipping_address_id:
|
||
description: The ID of the address that the new items should be shipped to
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
shipping_address:
|
||
description: The details of the address that new items should be shipped to.
|
||
x-expandable: shipping_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
shipping_methods:
|
||
description: >-
|
||
The details of the shipping methods that the claim order will be
|
||
shipped with.
|
||
type: array
|
||
x-expandable: shipping_methods
|
||
items:
|
||
$ref: '#/components/schemas/ShippingMethod'
|
||
fulfillments:
|
||
description: The fulfillments of the new items to be shipped
|
||
type: array
|
||
x-expandable: fulfillments
|
||
items:
|
||
type: object
|
||
refund_amount:
|
||
description: The amount that will be refunded in conjunction with the claim
|
||
nullable: true
|
||
type: integer
|
||
example: 1000
|
||
canceled_at:
|
||
description: The date with timezone at which the claim was canceled.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
no_notification:
|
||
description: >-
|
||
Flag for describing whether or not notifications related to this
|
||
should be send.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the cart
|
||
associated with the claim in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
ClaimTag:
|
||
title: Claim Tag
|
||
description: >-
|
||
Claim Tags are user defined tags that can be assigned to claim items for
|
||
easy filtering and grouping.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The claim tag's ID
|
||
type: string
|
||
example: ctag_01G8ZCC5Y63B95V6B5SHBZ91S4
|
||
value:
|
||
description: The value that the claim tag holds
|
||
type: string
|
||
example: Damaged
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
Country:
|
||
title: Country
|
||
description: Country details
|
||
type: object
|
||
required:
|
||
- display_name
|
||
- id
|
||
- iso_2
|
||
- iso_3
|
||
- name
|
||
- num_code
|
||
- region_id
|
||
properties:
|
||
id:
|
||
description: The country's ID
|
||
type: string
|
||
example: 109
|
||
iso_2:
|
||
description: The 2 character ISO code of the country in lower case
|
||
type: string
|
||
example: it
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
iso_3:
|
||
description: The 2 character ISO code of the country in lower case
|
||
type: string
|
||
example: ita
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
num_code:
|
||
description: The numerical ISO code for the country.
|
||
type: string
|
||
example: 380
|
||
externalDocs:
|
||
url: >-
|
||
https://en.wikipedia.org/wiki/ISO_3166-1_numeric#Officially_assigned_code_elements
|
||
description: See a list of codes.
|
||
name:
|
||
description: The normalized country name in upper case.
|
||
type: string
|
||
example: ITALY
|
||
display_name:
|
||
description: The country name appropriate for display.
|
||
type: string
|
||
example: Italy
|
||
region_id:
|
||
description: The region ID this country is associated with.
|
||
nullable: true
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region the country is associated with.
|
||
x-expandable: region
|
||
nullable: true
|
||
type: object
|
||
CreateStockLocationInput:
|
||
title: Create Stock Location Input
|
||
description: Represents the Input to create a Stock Location
|
||
type: object
|
||
required:
|
||
- name
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: The stock location name
|
||
address_id:
|
||
type: string
|
||
description: The Stock location address ID
|
||
address:
|
||
description: Stock location address object
|
||
allOf:
|
||
- $ref: '#/components/schemas/StockLocationAddressInput'
|
||
- type: object
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
Currency:
|
||
title: Currency
|
||
description: Currency
|
||
type: object
|
||
required:
|
||
- code
|
||
- name
|
||
- symbol
|
||
- symbol_native
|
||
properties:
|
||
code:
|
||
description: The 3 character ISO code for the currency.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
symbol:
|
||
description: The symbol used to indicate the currency.
|
||
type: string
|
||
example: $
|
||
symbol_native:
|
||
description: The native symbol used to indicate the currency.
|
||
type: string
|
||
example: $
|
||
name:
|
||
description: The written name of the currency
|
||
type: string
|
||
example: US Dollar
|
||
includes_tax:
|
||
description: Whether the currency prices include tax
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
default: false
|
||
CustomShippingOption:
|
||
title: Custom Shipping Option
|
||
description: >-
|
||
Custom Shipping Options are overridden Shipping Options. Admins can
|
||
attach a Custom Shipping Option to a cart in order to set a custom price
|
||
for a particular Shipping Option.
|
||
type: object
|
||
required:
|
||
- cart_id
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- price
|
||
- shipping_option_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The custom shipping option's ID
|
||
type: string
|
||
example: cso_01G8X99XNB77DMFBJFWX6DN9V9
|
||
price:
|
||
description: >-
|
||
The custom price set that will override the shipping option's
|
||
original price
|
||
type: integer
|
||
example: 1000
|
||
shipping_option_id:
|
||
description: >-
|
||
The ID of the Shipping Option that the custom shipping option
|
||
overrides
|
||
type: string
|
||
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
||
shipping_option:
|
||
description: The details of the overridden shipping options.
|
||
x-expandable: shipping_option
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
cart_id:
|
||
description: The ID of the Cart that the custom shipping option is attached to
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart this shipping option belongs to.
|
||
x-expandable: cart
|
||
nullable: true
|
||
$ref: '#/components/schemas/Cart'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
Customer:
|
||
title: Customer
|
||
description: A customer can make purchases in your store and manage their profile.
|
||
type: object
|
||
required:
|
||
- billing_address_id
|
||
- created_at
|
||
- deleted_at
|
||
- email
|
||
- first_name
|
||
- has_account
|
||
- id
|
||
- last_name
|
||
- metadata
|
||
- phone
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The customer's ID
|
||
type: string
|
||
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
||
email:
|
||
description: The customer's email
|
||
type: string
|
||
format: email
|
||
first_name:
|
||
description: The customer's first name
|
||
nullable: true
|
||
type: string
|
||
example: Arno
|
||
last_name:
|
||
description: The customer's last name
|
||
nullable: true
|
||
type: string
|
||
example: Willms
|
||
billing_address_id:
|
||
description: The customer's billing address ID
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
billing_address:
|
||
description: The details of the billing address associated with the customer.
|
||
x-expandable: billing_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
shipping_addresses:
|
||
description: The details of the shipping addresses associated with the customer.
|
||
type: array
|
||
x-expandable: shipping_addresses
|
||
items:
|
||
$ref: '#/components/schemas/Address'
|
||
phone:
|
||
description: The customer's phone number
|
||
nullable: true
|
||
type: string
|
||
example: 16128234334802
|
||
has_account:
|
||
description: Whether the customer has an account or not
|
||
type: boolean
|
||
default: false
|
||
orders:
|
||
description: The details of the orders this customer placed.
|
||
type: array
|
||
x-expandable: orders
|
||
items:
|
||
type: object
|
||
groups:
|
||
description: The customer groups the customer belongs to.
|
||
type: array
|
||
x-expandable: groups
|
||
items:
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
CustomerGroup:
|
||
title: Customer Group
|
||
description: >-
|
||
A customer group that can be used to organize customers into groups of
|
||
similar traits.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- name
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The customer group's ID
|
||
type: string
|
||
example: cgrp_01G8ZH853Y6TFXWPG5EYE81X63
|
||
name:
|
||
description: The name of the customer group
|
||
type: string
|
||
example: VIP
|
||
customers:
|
||
description: The details of the customers that belong to the customer group.
|
||
type: array
|
||
x-expandable: customers
|
||
items:
|
||
type: object
|
||
price_lists:
|
||
description: The price lists that are associated with the customer group.
|
||
type: array
|
||
x-expandable: price_lists
|
||
items:
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DecoratedInventoryItemDTO:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/InventoryItemDTO'
|
||
- type: object
|
||
required:
|
||
- stocked_quantity
|
||
- reserved_quantity
|
||
properties:
|
||
location_levels:
|
||
type: array
|
||
description: An array of location level details
|
||
items:
|
||
$ref: '#/components/schemas/InventoryLevelDTO'
|
||
variants:
|
||
type: array
|
||
description: An array of product variant details
|
||
items:
|
||
$ref: '#/components/schemas/ProductVariant'
|
||
stocked_quantity:
|
||
type: number
|
||
description: The total quantity of the item in stock across levels
|
||
reserved_quantity:
|
||
type: number
|
||
description: The total quantity of the item available across levels
|
||
Discount:
|
||
title: Discount
|
||
description: A discount can be applied to a cart for promotional purposes.
|
||
type: object
|
||
required:
|
||
- code
|
||
- created_at
|
||
- deleted_at
|
||
- ends_at
|
||
- id
|
||
- is_disabled
|
||
- is_dynamic
|
||
- metadata
|
||
- parent_discount_id
|
||
- rule_id
|
||
- starts_at
|
||
- updated_at
|
||
- usage_count
|
||
- usage_limit
|
||
- valid_duration
|
||
properties:
|
||
id:
|
||
description: The discount's ID
|
||
type: string
|
||
example: disc_01F0YESMW10MGHWJKZSDDMN0VN
|
||
code:
|
||
description: >-
|
||
A unique code for the discount - this will be used by the customer
|
||
to apply the discount
|
||
type: string
|
||
example: 10DISC
|
||
is_dynamic:
|
||
description: >-
|
||
A flag to indicate if multiple instances of the discount can be
|
||
generated. I.e. for newsletter discounts
|
||
type: boolean
|
||
example: false
|
||
rule_id:
|
||
description: >-
|
||
The ID of the discount rule that defines how the discount will be
|
||
applied to a cart.
|
||
nullable: true
|
||
type: string
|
||
example: dru_01F0YESMVK96HVX7N419E3CJ7C
|
||
rule:
|
||
description: >-
|
||
The details of the discount rule that defines how the discount will
|
||
be applied to a cart..
|
||
x-expandable: rule
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountRule'
|
||
is_disabled:
|
||
description: >-
|
||
Whether the Discount has been disabled. Disabled discounts cannot be
|
||
applied to carts
|
||
type: boolean
|
||
example: false
|
||
parent_discount_id:
|
||
description: >-
|
||
The Discount that the discount was created from. This will always be
|
||
a dynamic discount
|
||
nullable: true
|
||
type: string
|
||
example: disc_01G8ZH853YPY9B94857DY91YGW
|
||
parent_discount:
|
||
description: >-
|
||
The details of the parent discount that this discount was created
|
||
from.
|
||
x-expandable: parent_discount
|
||
nullable: true
|
||
type: object
|
||
starts_at:
|
||
description: The time at which the discount can be used.
|
||
type: string
|
||
format: date-time
|
||
ends_at:
|
||
description: The time at which the discount can no longer be used.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
valid_duration:
|
||
description: Duration the discount runs between
|
||
nullable: true
|
||
type: string
|
||
example: P3Y6M4DT12H30M5S
|
||
regions:
|
||
description: The details of the regions in which the Discount can be used.
|
||
type: array
|
||
x-expandable: regions
|
||
items:
|
||
$ref: '#/components/schemas/Region'
|
||
usage_limit:
|
||
description: The maximum number of times that a discount can be used.
|
||
nullable: true
|
||
type: integer
|
||
example: 100
|
||
usage_count:
|
||
description: The number of times a discount has been used.
|
||
type: integer
|
||
example: 50
|
||
default: 0
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountCondition:
|
||
title: Discount Condition
|
||
description: Holds rule conditions for when a discount is applicable
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- discount_rule_id
|
||
- id
|
||
- metadata
|
||
- operator
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The discount condition's ID
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
type:
|
||
description: >-
|
||
The type of the condition. The type affects the available resources
|
||
associated with the condition. For example, if the type is
|
||
`products`, that means the `products` relation will hold the
|
||
products associated with this condition and other relations will be
|
||
empty.
|
||
type: string
|
||
enum:
|
||
- products
|
||
- product_types
|
||
- product_collections
|
||
- product_tags
|
||
- customer_groups
|
||
operator:
|
||
description: >-
|
||
The operator of the condition. `in` indicates that discountable
|
||
resources are within the specified resources. `not_in` indicates
|
||
that discountable resources are everything but the specified
|
||
resources.
|
||
type: string
|
||
enum:
|
||
- in
|
||
- not_in
|
||
discount_rule_id:
|
||
description: The ID of the discount rule associated with the condition
|
||
type: string
|
||
example: dru_01F0YESMVK96HVX7N419E3CJ7C
|
||
discount_rule:
|
||
description: The details of the discount rule associated with the condition.
|
||
x-expandable: discount_rule
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountRule'
|
||
products:
|
||
description: products associated with this condition if `type` is `products`.
|
||
type: array
|
||
x-expandable: products
|
||
items:
|
||
$ref: '#/components/schemas/Product'
|
||
product_types:
|
||
description: >-
|
||
Product types associated with this condition if `type` is
|
||
`product_types`.
|
||
type: array
|
||
x-expandable: product_types
|
||
items:
|
||
$ref: '#/components/schemas/ProductType'
|
||
product_tags:
|
||
description: >-
|
||
Product tags associated with this condition if `type` is
|
||
`product_tags`.
|
||
type: array
|
||
x-expandable: product_tags
|
||
items:
|
||
$ref: '#/components/schemas/ProductTag'
|
||
product_collections:
|
||
description: >-
|
||
Product collections associated with this condition if `type` is
|
||
`product_collections`.
|
||
type: array
|
||
x-expandable: product_collections
|
||
items:
|
||
$ref: '#/components/schemas/ProductCollection'
|
||
customer_groups:
|
||
description: >-
|
||
Customer groups associated with this condition if `type` is
|
||
`customer_groups`.
|
||
type: array
|
||
x-expandable: customer_groups
|
||
items:
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountConditionCustomerGroup:
|
||
title: Product Tag Discount Condition
|
||
description: Associates a discount condition with a customer group
|
||
type: object
|
||
required:
|
||
- condition_id
|
||
- created_at
|
||
- customer_group_id
|
||
- metadata
|
||
- updated_at
|
||
properties:
|
||
customer_group_id:
|
||
description: The ID of the Product Tag
|
||
type: string
|
||
example: cgrp_01G8ZH853Y6TFXWPG5EYE81X63
|
||
condition_id:
|
||
description: The ID of the Discount Condition
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
customer_group:
|
||
description: Available if the relation `customer_group` is expanded.
|
||
nullable: true
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
discount_condition:
|
||
description: Available if the relation `discount_condition` is expanded.
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountConditionProduct:
|
||
title: Product Discount Condition
|
||
description: >-
|
||
This represents the association between a discount condition and a
|
||
product
|
||
type: object
|
||
required:
|
||
- condition_id
|
||
- created_at
|
||
- metadata
|
||
- product_id
|
||
- updated_at
|
||
properties:
|
||
product_id:
|
||
description: The ID of the Product Tag
|
||
type: string
|
||
example: prod_01G1G5V2MBA328390B5AXJ610F
|
||
condition_id:
|
||
description: The ID of the Discount Condition
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
product:
|
||
description: The details of the product.
|
||
x-expandable: product
|
||
nullable: true
|
||
$ref: '#/components/schemas/Product'
|
||
discount_condition:
|
||
description: The details of the discount condition.
|
||
x-expandable: discount_condition
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountConditionProductCollection:
|
||
title: Product Collection Discount Condition
|
||
description: >-
|
||
This represents the association between a discount condition and a
|
||
product collection
|
||
type: object
|
||
required:
|
||
- condition_id
|
||
- created_at
|
||
- metadata
|
||
- product_collection_id
|
||
- updated_at
|
||
properties:
|
||
product_collection_id:
|
||
description: The ID of the Product Collection
|
||
type: string
|
||
example: pcol_01F0YESBFAZ0DV6V831JXWH0BG
|
||
condition_id:
|
||
description: The ID of the Discount Condition
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
product_collection:
|
||
description: The details of the product collection.
|
||
x-expandable: product_collection
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductCollection'
|
||
discount_condition:
|
||
description: The details of the discount condition.
|
||
x-expandable: discount_condition
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountConditionProductTag:
|
||
title: Product Tag Discount Condition
|
||
description: >-
|
||
This represents the association between a discount condition and a
|
||
product tag
|
||
type: object
|
||
required:
|
||
- condition_id
|
||
- created_at
|
||
- metadata
|
||
- product_tag_id
|
||
- updated_at
|
||
properties:
|
||
product_tag_id:
|
||
description: The ID of the Product Tag
|
||
type: string
|
||
example: ptag_01F0YESHPZYY3H4SJ3A5918SBN
|
||
condition_id:
|
||
description: The ID of the Discount Condition
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
product_tag:
|
||
description: The details of the product tag.
|
||
x-expandable: product_tag
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductTag'
|
||
discount_condition:
|
||
description: The details of the discount condition.
|
||
x-expandable: discount_condition
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountConditionProductType:
|
||
title: Product Type Discount Condition
|
||
description: >-
|
||
This represents the association between a discount condition and a
|
||
product type
|
||
type: object
|
||
required:
|
||
- condition_id
|
||
- created_at
|
||
- metadata
|
||
- product_type_id
|
||
- updated_at
|
||
properties:
|
||
product_type_id:
|
||
description: The ID of the Product Tag
|
||
type: string
|
||
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
condition_id:
|
||
description: The ID of the Discount Condition
|
||
type: string
|
||
example: discon_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
product_type:
|
||
description: The details of the product type.
|
||
x-expandable: product_type
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductType'
|
||
discount_condition:
|
||
description: The details of the discount condition.
|
||
x-expandable: discount_condition
|
||
nullable: true
|
||
$ref: '#/components/schemas/DiscountCondition'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DiscountRule:
|
||
title: Discount Rule
|
||
description: >-
|
||
A discount rule defines how a Discount is calculated when applied to a
|
||
Cart.
|
||
type: object
|
||
required:
|
||
- allocation
|
||
- created_at
|
||
- deleted_at
|
||
- description
|
||
- id
|
||
- metadata
|
||
- type
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The discount rule's ID
|
||
type: string
|
||
example: dru_01F0YESMVK96HVX7N419E3CJ7C
|
||
type:
|
||
description: >-
|
||
The type of the Discount, can be `fixed` for discounts that reduce
|
||
the price by a fixed amount, `percentage` for percentage reductions
|
||
or `free_shipping` for shipping vouchers.
|
||
type: string
|
||
enum:
|
||
- fixed
|
||
- percentage
|
||
- free_shipping
|
||
example: percentage
|
||
description:
|
||
description: A short description of the discount
|
||
nullable: true
|
||
type: string
|
||
example: 10 Percent
|
||
value:
|
||
description: >-
|
||
The value that the discount represents; this will depend on the type
|
||
of the discount
|
||
type: integer
|
||
example: 10
|
||
allocation:
|
||
description: The scope that the discount should apply to.
|
||
nullable: true
|
||
type: string
|
||
enum:
|
||
- total
|
||
- item
|
||
example: total
|
||
conditions:
|
||
description: >-
|
||
The details of the discount conditions associated with the rule.
|
||
They can be used to limit when the discount can be used.
|
||
type: array
|
||
x-expandable: conditions
|
||
items:
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
DraftOrder:
|
||
title: DraftOrder
|
||
description: >-
|
||
A draft order is created by an admin without direct involvement of the
|
||
customer. Once its payment is marked as captured, it is transformed into
|
||
an order.
|
||
type: object
|
||
required:
|
||
- canceled_at
|
||
- cart_id
|
||
- completed_at
|
||
- created_at
|
||
- display_id
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- no_notification_order
|
||
- order_id
|
||
- status
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The draft order's ID
|
||
type: string
|
||
example: dorder_01G8TJFKBG38YYFQ035MSVG03C
|
||
status:
|
||
description: >-
|
||
The status of the draft order. It's changed to `completed` when it's
|
||
transformed to an order.
|
||
type: string
|
||
enum:
|
||
- open
|
||
- completed
|
||
default: open
|
||
display_id:
|
||
description: The draft order's display ID
|
||
type: string
|
||
example: 2
|
||
cart_id:
|
||
description: The ID of the cart associated with the draft order.
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart associated with the draft order.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: >-
|
||
The ID of the order created from the draft order when its payment is
|
||
captured.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: >-
|
||
The details of the order created from the draft order when its
|
||
payment is captured.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
canceled_at:
|
||
description: The date the draft order was canceled at.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
completed_at:
|
||
description: The date the draft order was completed at.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
no_notification_order:
|
||
description: Whether to send the customer notifications regarding order updates.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the cart
|
||
associated with the draft order in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
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
|
||
ExtendedReservationItem:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/ReservationItemDTO'
|
||
- type: object
|
||
properties:
|
||
line_item:
|
||
description: The line item associated with the reservation.
|
||
$ref: '#/components/schemas/LineItem'
|
||
inventory_item:
|
||
description: The inventory item associated with the reservation.
|
||
$ref: '#/components/schemas/InventoryItemDTO'
|
||
ExtendedStoreDTO:
|
||
allOf:
|
||
- $ref: '#/components/schemas/Store'
|
||
- type: object
|
||
required:
|
||
- payment_providers
|
||
- fulfillment_providers
|
||
- feature_flags
|
||
- modules
|
||
properties:
|
||
payment_providers:
|
||
$ref: '#/components/schemas/PaymentProvider'
|
||
fulfillment_providers:
|
||
$ref: '#/components/schemas/FulfillmentProvider'
|
||
feature_flags:
|
||
$ref: '#/components/schemas/FeatureFlagsResponse'
|
||
modules:
|
||
$ref: '#/components/schemas/ModulesResponse'
|
||
FeatureFlagsResponse:
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- key
|
||
- value
|
||
properties:
|
||
key:
|
||
description: The key of the feature flag.
|
||
type: string
|
||
value:
|
||
description: The value of the feature flag.
|
||
type: boolean
|
||
Fulfillment:
|
||
title: Fulfillment
|
||
description: >-
|
||
A Fulfillment is created once an admin can prepare the purchased goods.
|
||
Fulfillments will eventually be shipped and hold information about how
|
||
to track shipments. Fulfillments are created through a fulfillment
|
||
provider, which typically integrates a third-party shipping service.
|
||
Fulfillments can be associated with orders, claims, swaps, and returns.
|
||
type: object
|
||
required:
|
||
- canceled_at
|
||
- claim_order_id
|
||
- created_at
|
||
- data
|
||
- id
|
||
- idempotency_key
|
||
- location_id
|
||
- metadata
|
||
- no_notification
|
||
- order_id
|
||
- provider_id
|
||
- shipped_at
|
||
- swap_id
|
||
- tracking_numbers
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The fulfillment's ID
|
||
type: string
|
||
example: ful_01G8ZRTMQCA76TXNAT81KPJZRF
|
||
claim_order_id:
|
||
description: The ID of the Claim that the Fulfillment belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
claim_order:
|
||
description: The details of the claim that the fulfillment may belong to.
|
||
x-expandable: claim_order
|
||
nullable: true
|
||
type: object
|
||
swap_id:
|
||
description: The ID of the Swap that the Fulfillment belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
swap:
|
||
description: The details of the swap that the fulfillment may belong to.
|
||
x-expandable: swap
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: The ID of the Order that the Fulfillment belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the fulfillment may belong to.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
provider_id:
|
||
description: >-
|
||
The ID of the Fulfillment Provider responsible for handling the
|
||
fulfillment.
|
||
type: string
|
||
example: manual
|
||
provider:
|
||
description: >-
|
||
The details of the fulfillment provider responsible for handling the
|
||
fulfillment.
|
||
x-expandable: provider
|
||
nullable: true
|
||
$ref: '#/components/schemas/FulfillmentProvider'
|
||
location_id:
|
||
description: The ID of the stock location the fulfillment will be shipped from
|
||
nullable: true
|
||
type: string
|
||
example: sloc_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
items:
|
||
description: >-
|
||
The Fulfillment Items in the Fulfillment. These hold information
|
||
about how many of each Line Item has been fulfilled.
|
||
type: array
|
||
x-expandable: items
|
||
items:
|
||
$ref: '#/components/schemas/FulfillmentItem'
|
||
tracking_links:
|
||
description: >-
|
||
The Tracking Links that can be used to track the status of the
|
||
Fulfillment. These will usually be provided by the Fulfillment
|
||
Provider.
|
||
type: array
|
||
x-expandable: tracking_links
|
||
items:
|
||
$ref: '#/components/schemas/TrackingLink'
|
||
tracking_numbers:
|
||
description: >-
|
||
The tracking numbers that can be used to track the status of the
|
||
fulfillment.
|
||
deprecated: true
|
||
type: array
|
||
items:
|
||
type: string
|
||
data:
|
||
description: >-
|
||
This contains all the data necessary for the Fulfillment provider to
|
||
handle the fulfillment.
|
||
type: object
|
||
example: {}
|
||
shipped_at:
|
||
description: The date with timezone at which the Fulfillment was shipped.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
no_notification:
|
||
description: >-
|
||
Flag for describing whether or not notifications related to this
|
||
should be sent.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
canceled_at:
|
||
description: The date with timezone at which the Fulfillment was canceled.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the
|
||
fulfillment in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
FulfillmentItem:
|
||
title: Fulfillment Item
|
||
description: This represents the association between a Line Item and a Fulfillment.
|
||
type: object
|
||
required:
|
||
- fulfillment_id
|
||
- item_id
|
||
- quantity
|
||
properties:
|
||
fulfillment_id:
|
||
description: The ID of the Fulfillment that the Fulfillment Item belongs to.
|
||
type: string
|
||
example: ful_01G8ZRTMQCA76TXNAT81KPJZRF
|
||
item_id:
|
||
description: The ID of the Line Item that the Fulfillment Item references.
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
fulfillment:
|
||
description: The details of the fulfillment.
|
||
x-expandable: fulfillment
|
||
nullable: true
|
||
type: object
|
||
item:
|
||
description: The details of the line item.
|
||
x-expandable: item
|
||
nullable: true
|
||
$ref: '#/components/schemas/LineItem'
|
||
quantity:
|
||
description: The quantity of the Line Item that is included in the Fulfillment.
|
||
type: integer
|
||
example: 1
|
||
FulfillmentProvider:
|
||
title: Fulfillment Provider
|
||
description: >-
|
||
A fulfillment provider represents a fulfillment service installed in the
|
||
Medusa backend, either through a plugin or backend customizations. It
|
||
holds the fulfillment service's installation status.
|
||
type: object
|
||
required:
|
||
- id
|
||
- is_installed
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of the fulfillment provider as given by the fulfillment
|
||
service.
|
||
type: string
|
||
example: manual
|
||
is_installed:
|
||
description: >-
|
||
Whether the fulfillment service is installed in the current version.
|
||
If a fulfillment service is no longer installed, the `is_installed`
|
||
attribute is set to `false`.
|
||
type: boolean
|
||
default: true
|
||
GiftCard:
|
||
title: Gift Card
|
||
description: >-
|
||
Gift Cards are redeemable and represent a value that can be used towards
|
||
the payment of an Order.
|
||
type: object
|
||
required:
|
||
- balance
|
||
- code
|
||
- created_at
|
||
- deleted_at
|
||
- ends_at
|
||
- id
|
||
- is_disabled
|
||
- metadata
|
||
- order_id
|
||
- region_id
|
||
- tax_rate
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The gift card's ID
|
||
type: string
|
||
example: gift_01G8XKBPBQY2R7RBET4J7E0XQZ
|
||
code:
|
||
description: >-
|
||
The unique code that identifies the Gift Card. This is used by the
|
||
Customer to redeem the value of the Gift Card.
|
||
type: string
|
||
example: 3RFT-MH2C-Y4YZ-XMN4
|
||
value:
|
||
description: The value that the Gift Card represents.
|
||
type: integer
|
||
example: 10
|
||
balance:
|
||
description: The remaining value on the Gift Card.
|
||
type: integer
|
||
example: 10
|
||
region_id:
|
||
description: The ID of the region this gift card is available in.
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region this gift card is available in.
|
||
x-expandable: region
|
||
nullable: true
|
||
$ref: '#/components/schemas/Region'
|
||
order_id:
|
||
description: The ID of the order that the gift card was purchased in.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the gift card was purchased in.
|
||
x-expandable: region
|
||
nullable: true
|
||
type: object
|
||
is_disabled:
|
||
description: >-
|
||
Whether the Gift Card has been disabled. Disabled Gift Cards cannot
|
||
be applied to carts.
|
||
type: boolean
|
||
default: false
|
||
ends_at:
|
||
description: The time at which the Gift Card can no longer be used.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
tax_rate:
|
||
description: The gift card's tax rate that will be applied on calculating totals
|
||
nullable: true
|
||
type: number
|
||
example: 0
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
GiftCardTransaction:
|
||
title: Gift Card Transaction
|
||
description: >-
|
||
Gift Card Transactions are created once a Customer uses a Gift Card to
|
||
pay for their Order.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- created_at
|
||
- gift_card_id
|
||
- id
|
||
- is_taxable
|
||
- order_id
|
||
- tax_rate
|
||
properties:
|
||
id:
|
||
description: The gift card transaction's ID
|
||
type: string
|
||
example: gct_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
gift_card_id:
|
||
description: The ID of the Gift Card that was used in the transaction.
|
||
type: string
|
||
example: gift_01G8XKBPBQY2R7RBET4J7E0XQZ
|
||
gift_card:
|
||
description: The details of the gift card associated used in this transaction.
|
||
x-expandable: gift_card
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: The ID of the order that the gift card was used for payment.
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the gift card was used for payment.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
amount:
|
||
description: The amount that was used from the Gift Card.
|
||
type: integer
|
||
example: 10
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
is_taxable:
|
||
description: Whether the transaction is taxable or not.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
tax_rate:
|
||
description: The tax rate of the transaction
|
||
nullable: true
|
||
type: number
|
||
example: 0
|
||
IdempotencyKey:
|
||
title: Idempotency Key
|
||
description: >-
|
||
Idempotency Key is used to continue a process in case of any failure
|
||
that might occur.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- id
|
||
- idempotency_key
|
||
- locked_at
|
||
- recovery_point
|
||
- response_code
|
||
- response_body
|
||
- request_method
|
||
- request_params
|
||
- request_path
|
||
properties:
|
||
id:
|
||
description: The idempotency key's ID
|
||
type: string
|
||
example: ikey_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
idempotency_key:
|
||
description: >-
|
||
The unique randomly generated key used to determine the state of a
|
||
process.
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: Date which the idempotency key was locked.
|
||
type: string
|
||
format: date-time
|
||
locked_at:
|
||
description: Date which the idempotency key was locked.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
request_method:
|
||
description: The method of the request
|
||
nullable: true
|
||
type: string
|
||
example: POST
|
||
request_params:
|
||
description: The parameters passed to the request
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
id: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
request_path:
|
||
description: The request's path
|
||
nullable: true
|
||
type: string
|
||
example: /store/carts/cart_01G8ZH853Y6TFXWPG5EYE81X63/complete
|
||
response_code:
|
||
description: The response's code.
|
||
nullable: true
|
||
type: string
|
||
example: 200
|
||
response_body:
|
||
description: The response's body
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
id: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
recovery_point:
|
||
description: Where to continue from.
|
||
type: string
|
||
default: started
|
||
Image:
|
||
title: Image
|
||
description: >-
|
||
An Image is used to store details about uploaded images. Images are
|
||
uploaded by the File Service, and the URL is provided by the File
|
||
Service.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- updated_at
|
||
- url
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The image's ID
|
||
example: img_01G749BFYR6T8JTVW6SGW3K3E6
|
||
url:
|
||
description: The URL at which the image file can be found.
|
||
type: string
|
||
format: uri
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
InventoryItemDTO:
|
||
type: object
|
||
required:
|
||
- sku
|
||
properties:
|
||
sku:
|
||
description: The Stock Keeping Unit (SKU) code of the Inventory Item.
|
||
type: string
|
||
hs_code:
|
||
description: >-
|
||
The Harmonized System code of the Inventory Item. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
origin_country:
|
||
description: >-
|
||
The country in which the Inventory Item was produced. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
type: string
|
||
mid_code:
|
||
description: >-
|
||
The Manufacturers Identification code that identifies the
|
||
manufacturer of the Inventory Item. May be used by Fulfillment
|
||
Providers to pass customs information to shipping carriers.
|
||
type: string
|
||
title:
|
||
description: Title of the inventory item
|
||
type: string
|
||
description:
|
||
description: Description of the inventory item
|
||
type: string
|
||
thumbnail:
|
||
description: Thumbnail for the inventory item
|
||
type: string
|
||
material:
|
||
description: >-
|
||
The material and composition that the Inventory Item is made of, May
|
||
be used by Fulfillment Providers to pass customs information to
|
||
shipping carriers.
|
||
type: string
|
||
weight:
|
||
description: >-
|
||
The weight of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
height:
|
||
description: >-
|
||
The height of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
width:
|
||
description: >-
|
||
The width of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
length:
|
||
description: >-
|
||
The length of the Inventory Item. May be used in shipping rate
|
||
calculations.
|
||
type: number
|
||
requires_shipping:
|
||
description: Whether the item requires shipping.
|
||
type: boolean
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was deleted.
|
||
format: date-time
|
||
InventoryLevelDTO:
|
||
type: object
|
||
required:
|
||
- inventory_item_id
|
||
- location_id
|
||
- stocked_quantity
|
||
- reserved_quantity
|
||
- incoming_quantity
|
||
properties:
|
||
location_id:
|
||
description: the item location ID
|
||
type: string
|
||
stocked_quantity:
|
||
description: >-
|
||
the total stock quantity of an inventory item at the given location
|
||
ID
|
||
type: number
|
||
reserved_quantity:
|
||
description: >-
|
||
the reserved stock quantity of an inventory item at the given
|
||
location ID
|
||
type: number
|
||
incoming_quantity:
|
||
description: >-
|
||
the incoming stock quantity of an inventory item at the given
|
||
location ID
|
||
type: number
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was deleted.
|
||
format: date-time
|
||
Invite:
|
||
title: Invite
|
||
description: >-
|
||
An invite is created when an admin user invites a new user to join the
|
||
store's team. Once the invite is accepted, it's deleted.
|
||
type: object
|
||
required:
|
||
- accepted
|
||
- created_at
|
||
- deleted_at
|
||
- expires_at
|
||
- id
|
||
- metadata
|
||
- role
|
||
- token
|
||
- updated_at
|
||
- user_email
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The invite's ID
|
||
example: invite_01G8TKE4XYCTHSCK2GDEP47RE1
|
||
user_email:
|
||
description: The email of the user being invited.
|
||
type: string
|
||
format: email
|
||
role:
|
||
description: >-
|
||
The user's role. These roles don't change the privileges of the
|
||
user.
|
||
nullable: true
|
||
type: string
|
||
enum:
|
||
- admin
|
||
- member
|
||
- developer
|
||
default: member
|
||
accepted:
|
||
description: Whether the invite was accepted or not.
|
||
type: boolean
|
||
default: false
|
||
token:
|
||
description: The token used to accept the invite.
|
||
type: string
|
||
expires_at:
|
||
description: The date the invite expires at.
|
||
type: string
|
||
format: date-time
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
LineItem:
|
||
title: Line Item
|
||
description: >-
|
||
Line Items are created when a product is added to a Cart. When Line
|
||
Items are purchased they will get copied to the resulting order, swap,
|
||
or claim, and can eventually be referenced in Fulfillments and Returns.
|
||
Line items may also be used for order edits.
|
||
type: object
|
||
required:
|
||
- allow_discounts
|
||
- cart_id
|
||
- claim_order_id
|
||
- created_at
|
||
- description
|
||
- fulfilled_quantity
|
||
- has_shipping
|
||
- id
|
||
- is_giftcard
|
||
- is_return
|
||
- metadata
|
||
- order_edit_id
|
||
- order_id
|
||
- original_item_id
|
||
- quantity
|
||
- returned_quantity
|
||
- shipped_quantity
|
||
- should_merge
|
||
- swap_id
|
||
- thumbnail
|
||
- title
|
||
- unit_price
|
||
- updated_at
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The line item's ID
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
cart_id:
|
||
description: The ID of the cart that the line item may belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart that the line item may belongs to.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: The ID of the order that the line item may belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the line item may belongs to.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
swap_id:
|
||
description: The ID of the swap that the line item may belong to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
swap:
|
||
description: The details of the swap that the line item may belong to.
|
||
x-expandable: swap
|
||
nullable: true
|
||
type: object
|
||
claim_order_id:
|
||
description: The ID of the claim that the line item may belong to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
claim_order:
|
||
description: The details of the claim that the line item may belong to.
|
||
x-expandable: claim_order
|
||
nullable: true
|
||
type: object
|
||
tax_lines:
|
||
description: The details of the item's tax lines.
|
||
x-expandable: tax_lines
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/LineItemTaxLine'
|
||
adjustments:
|
||
description: >-
|
||
The details of the item's adjustments, which are available when a
|
||
discount is applied on the item.
|
||
x-expandable: adjustments
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/LineItemAdjustment'
|
||
original_item_id:
|
||
description: >-
|
||
The ID of the original line item. This is useful if the line item
|
||
belongs to a resource that references an order, such as a return or
|
||
an order edit.
|
||
nullable: true
|
||
type: string
|
||
order_edit_id:
|
||
description: The ID of the order edit that the item may belong to.
|
||
nullable: true
|
||
type: string
|
||
order_edit:
|
||
description: The details of the order edit.
|
||
x-expandable: order_edit
|
||
nullable: true
|
||
type: object
|
||
title:
|
||
description: The title of the Line Item.
|
||
type: string
|
||
example: Medusa Coffee Mug
|
||
description:
|
||
description: A more detailed description of the contents of the Line Item.
|
||
nullable: true
|
||
type: string
|
||
example: One Size
|
||
thumbnail:
|
||
description: A URL string to a small image of the contents of the Line Item.
|
||
nullable: true
|
||
type: string
|
||
format: uri
|
||
example: >-
|
||
https://medusa-public-images.s3.eu-west-1.amazonaws.com/coffee-mug.png
|
||
is_return:
|
||
description: Is the item being returned
|
||
type: boolean
|
||
default: false
|
||
is_giftcard:
|
||
description: Flag to indicate if the Line Item is a Gift Card.
|
||
type: boolean
|
||
default: false
|
||
should_merge:
|
||
description: >-
|
||
Flag to indicate if new Line Items with the same variant should be
|
||
merged or added as an additional Line Item.
|
||
type: boolean
|
||
default: true
|
||
allow_discounts:
|
||
description: >-
|
||
Flag to indicate if the Line Item should be included when doing
|
||
discount calculations.
|
||
type: boolean
|
||
default: true
|
||
has_shipping:
|
||
description: >-
|
||
Flag to indicate if the Line Item has fulfillment associated with
|
||
it.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
unit_price:
|
||
description: >-
|
||
The price of one unit of the content in the Line Item. This should
|
||
be in the currency defined by the Cart/Order/Swap/Claim that the
|
||
Line Item belongs to.
|
||
type: integer
|
||
example: 8000
|
||
variant_id:
|
||
description: The id of the Product Variant contained in the Line Item.
|
||
nullable: true
|
||
type: string
|
||
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
||
variant:
|
||
description: The details of the product variant that this item was created from.
|
||
x-expandable: variant
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductVariant'
|
||
quantity:
|
||
description: The quantity of the content in the Line Item.
|
||
type: integer
|
||
example: 1
|
||
fulfilled_quantity:
|
||
description: The quantity of the Line Item that has been fulfilled.
|
||
nullable: true
|
||
type: integer
|
||
example: 0
|
||
returned_quantity:
|
||
description: The quantity of the Line Item that has been returned.
|
||
nullable: true
|
||
type: integer
|
||
example: 0
|
||
shipped_quantity:
|
||
description: The quantity of the Line Item that has been shipped.
|
||
nullable: true
|
||
type: integer
|
||
example: 0
|
||
refundable:
|
||
description: >-
|
||
The amount that can be refunded from the given Line Item. Takes
|
||
taxes and discounts into consideration.
|
||
type: integer
|
||
example: 0
|
||
subtotal:
|
||
description: The subtotal of the line item
|
||
type: integer
|
||
example: 8000
|
||
tax_total:
|
||
description: The total of tax of the line item
|
||
type: integer
|
||
example: 0
|
||
total:
|
||
description: The total amount of the line item
|
||
type: integer
|
||
example: 8000
|
||
original_total:
|
||
description: The original total amount of the line item
|
||
type: integer
|
||
example: 8000
|
||
original_tax_total:
|
||
description: The original tax total amount of the line item
|
||
type: integer
|
||
example: 0
|
||
discount_total:
|
||
description: The total of discount of the line item rounded
|
||
type: integer
|
||
example: 0
|
||
raw_discount_total:
|
||
description: The total of discount of the line item
|
||
type: integer
|
||
example: 0
|
||
gift_card_total:
|
||
description: The total of the gift card of the line item
|
||
type: integer
|
||
example: 0
|
||
includes_tax:
|
||
description: Indicates if the line item unit_price include tax
|
||
x-featureFlag: tax_inclusive_pricing
|
||
type: boolean
|
||
default: false
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
LineItemAdjustment:
|
||
title: Line Item Adjustment
|
||
description: >-
|
||
A Line Item Adjustment includes details on discounts applied on a line
|
||
item.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- description
|
||
- discount_id
|
||
- id
|
||
- item_id
|
||
- metadata
|
||
properties:
|
||
id:
|
||
description: The Line Item Adjustment's ID
|
||
type: string
|
||
example: lia_01G8TKE4XYCTHSCK2GDEP47RE1
|
||
item_id:
|
||
description: The ID of the line item
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
item:
|
||
description: The details of the line item.
|
||
x-expandable: item
|
||
nullable: true
|
||
type: object
|
||
description:
|
||
description: The line item's adjustment description
|
||
type: string
|
||
example: Adjusted item's price.
|
||
discount_id:
|
||
description: The ID of the discount associated with the adjustment
|
||
nullable: true
|
||
type: string
|
||
example: disc_01F0YESMW10MGHWJKZSDDMN0VN
|
||
discount:
|
||
description: The details of the discount associated with the adjustment.
|
||
x-expandable: discount
|
||
nullable: true
|
||
$ref: '#/components/schemas/Discount'
|
||
amount:
|
||
description: The adjustment amount
|
||
type: number
|
||
example: 1000
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
LineItemTaxLine:
|
||
title: Line Item Tax Line
|
||
description: A Line Item Tax Line represents the taxes applied on a line item.
|
||
type: object
|
||
required:
|
||
- code
|
||
- created_at
|
||
- id
|
||
- item_id
|
||
- metadata
|
||
- name
|
||
- rate
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The line item tax line's ID
|
||
type: string
|
||
example: litl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
||
code:
|
||
description: A code to identify the tax type by
|
||
nullable: true
|
||
type: string
|
||
example: tax01
|
||
name:
|
||
description: A human friendly name for the tax
|
||
type: string
|
||
example: Tax Example
|
||
rate:
|
||
description: The numeric rate to charge tax by
|
||
type: number
|
||
example: 10
|
||
item_id:
|
||
description: The ID of the line item
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
item:
|
||
description: The details of the line item.
|
||
x-expandable: item
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ModulesResponse:
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- module
|
||
- resolution
|
||
properties:
|
||
module:
|
||
description: The key of the module.
|
||
type: string
|
||
resolution:
|
||
description: >-
|
||
The resolution path of the module or false if module is not
|
||
installed.
|
||
type: string
|
||
MoneyAmount:
|
||
title: Money Amount
|
||
description: >-
|
||
A Money Amount represent a price amount, for example, a product
|
||
variant's price or a price in a price list. Each Money Amount either has
|
||
a Currency or Region associated with it to indicate the pricing in a
|
||
given Currency or, for fully region-based pricing, the given price in a
|
||
specific Region. If region-based pricing is used, the amount will be in
|
||
the currency defined for the Region.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- created_at
|
||
- currency_code
|
||
- deleted_at
|
||
- id
|
||
- max_quantity
|
||
- min_quantity
|
||
- price_list_id
|
||
- region_id
|
||
- updated_at
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The money amount's ID
|
||
type: string
|
||
example: ma_01F0YESHRFQNH5S8Q0PK84YYZN
|
||
currency_code:
|
||
description: The 3 character currency code that the money amount may belong to.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currency:
|
||
description: The details of the currency that the money amount may belong to.
|
||
x-expandable: currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
amount:
|
||
description: >-
|
||
The amount in the smallest currecny unit (e.g. cents 100 cents to
|
||
charge $1) that the Product Variant will cost.
|
||
type: integer
|
||
example: 100
|
||
min_quantity:
|
||
description: >-
|
||
The minimum quantity that the Money Amount applies to. If this value
|
||
is not set, the Money Amount applies to all quantities.
|
||
nullable: true
|
||
type: integer
|
||
example: 1
|
||
max_quantity:
|
||
description: >-
|
||
The maximum quantity that the Money Amount applies to. If this value
|
||
is not set, the Money Amount applies to all quantities.
|
||
nullable: true
|
||
type: integer
|
||
example: 1
|
||
price_list_id:
|
||
description: The ID of the price list that the money amount may belong to.
|
||
nullable: true
|
||
type: string
|
||
example: pl_01G8X3CKJXCG5VXVZ87H9KC09W
|
||
price_list:
|
||
description: The details of the price list that the money amount may belong to.
|
||
x-expandable: price_list
|
||
nullable: true
|
||
type: object
|
||
variant_id:
|
||
description: The ID of the Product Variant contained in the Line Item.
|
||
nullable: true
|
||
type: string
|
||
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
||
variant:
|
||
description: >-
|
||
The details of the product variant that the money amount may belong
|
||
to.
|
||
x-expandable: variant
|
||
nullable: true
|
||
type: object
|
||
region_id:
|
||
description: The region's ID
|
||
nullable: true
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region that the money amount may belong to.
|
||
x-expandable: region
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
MultipleErrors:
|
||
title: Multiple Errors
|
||
type: object
|
||
properties:
|
||
errors:
|
||
type: array
|
||
description: Array of errors
|
||
items:
|
||
$ref: '#/components/schemas/Error'
|
||
message:
|
||
type: string
|
||
default: >-
|
||
Provided request body contains errors. Please check the data and
|
||
retry the request
|
||
Note:
|
||
title: Note
|
||
description: >-
|
||
A Note is an element that can be used in association with different
|
||
resources to allow admin users to describe additional information. For
|
||
example, they can be used to add additional information about orders.
|
||
type: object
|
||
required:
|
||
- author_id
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- resource_id
|
||
- resource_type
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The note's ID
|
||
type: string
|
||
example: note_01G8TM8ENBMC7R90XRR1G6H26Q
|
||
resource_type:
|
||
description: The type of resource that the Note refers to.
|
||
type: string
|
||
example: order
|
||
resource_id:
|
||
description: The ID of the resource that the Note refers to.
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
value:
|
||
description: The contents of the note.
|
||
type: string
|
||
example: This order must be fulfilled on Monday
|
||
author_id:
|
||
description: The ID of the user that created the note.
|
||
nullable: true
|
||
type: string
|
||
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
||
author:
|
||
description: The details of the user that created the note.
|
||
x-expandable: author
|
||
nullable: true
|
||
$ref: '#/components/schemas/User'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
Notification:
|
||
title: Notification
|
||
description: >-
|
||
A notification is an alert sent, typically to customers, using the
|
||
installed Notification Provider as a reaction to internal events such as
|
||
`order.placed`. Notifications can be resent.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- customer_id
|
||
- data
|
||
- event_name
|
||
- id
|
||
- parent_id
|
||
- provider_id
|
||
- resource_type
|
||
- resource_id
|
||
- to
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The notification's ID
|
||
type: string
|
||
example: noti_01G53V9Y6CKMCGBM1P0X7C28RX
|
||
event_name:
|
||
description: The name of the event that the notification was sent for.
|
||
nullable: true
|
||
type: string
|
||
example: order.placed
|
||
resource_type:
|
||
description: The type of resource that the Notification refers to.
|
||
type: string
|
||
example: order
|
||
resource_id:
|
||
description: The ID of the resource that the Notification refers to.
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
customer_id:
|
||
description: The ID of the customer that this notification was sent to.
|
||
nullable: true
|
||
type: string
|
||
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
||
customer:
|
||
description: The details of the customer that this notification was sent to.
|
||
x-expandable: customer
|
||
nullable: true
|
||
$ref: '#/components/schemas/Customer'
|
||
to:
|
||
description: >-
|
||
The address that the Notification was sent to. This will usually be
|
||
an email address, but can represent other addresses such as a chat
|
||
bot user ID.
|
||
type: string
|
||
example: user@example.com
|
||
data:
|
||
description: >-
|
||
The data that the Notification was sent with. This contains all the
|
||
data necessary for the Notification Provider to initiate a resend.
|
||
type: object
|
||
example: {}
|
||
parent_id:
|
||
description: The notification's parent ID
|
||
nullable: true
|
||
type: string
|
||
example: noti_01G53V9Y6CKMCGBM1P0X7C28RX
|
||
parent_notification:
|
||
description: The details of the parent notification.
|
||
x-expandable: parent_notification
|
||
nullable: true
|
||
type: object
|
||
resends:
|
||
description: The details of all resends of the notification.
|
||
type: array
|
||
x-expandable: resends
|
||
items:
|
||
type: object
|
||
provider_id:
|
||
description: The ID of the notification provider used to send the notification.
|
||
nullable: true
|
||
type: string
|
||
example: sengrid
|
||
provider:
|
||
description: The notification provider used to send the notification.
|
||
x-expandable: provider
|
||
nullable: true
|
||
$ref: '#/components/schemas/NotificationProvider'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
NotificationProvider:
|
||
title: Notification Provider
|
||
description: >-
|
||
A notification provider represents a notification service installed in
|
||
the Medusa backend, either through a plugin or backend customizations.
|
||
It holds the notification service's installation status.
|
||
type: object
|
||
required:
|
||
- id
|
||
- is_installed
|
||
properties:
|
||
id:
|
||
description: >-
|
||
The ID of the notification provider as given by the notification
|
||
service.
|
||
type: string
|
||
example: sendgrid
|
||
is_installed:
|
||
description: >-
|
||
Whether the notification service is installed in the current
|
||
version. If a notification service is no longer installed, the
|
||
`is_installed` attribute is set to `false`.
|
||
type: boolean
|
||
default: true
|
||
OAuth:
|
||
title: OAuth
|
||
description: >-
|
||
An Oauth app is typically created by a plugin to handle authentication
|
||
to third-party services.
|
||
type: object
|
||
required:
|
||
- application_name
|
||
- data
|
||
- display_name
|
||
- id
|
||
- install_url
|
||
- uninstall_url
|
||
properties:
|
||
id:
|
||
description: The app's ID
|
||
type: string
|
||
example: example_app
|
||
display_name:
|
||
description: The app's display name
|
||
type: string
|
||
example: Example app
|
||
application_name:
|
||
description: The app's name
|
||
type: string
|
||
example: example
|
||
install_url:
|
||
description: The URL to install the app
|
||
nullable: true
|
||
type: string
|
||
format: uri
|
||
uninstall_url:
|
||
description: The URL to uninstall the app
|
||
nullable: true
|
||
type: string
|
||
format: uri
|
||
data:
|
||
description: Any data necessary to the app.
|
||
nullable: true
|
||
type: object
|
||
example: {}
|
||
Order:
|
||
title: Order
|
||
description: >-
|
||
An order is a purchase made by a customer. It holds details about
|
||
payment and fulfillment of the order. An order may also be created from
|
||
a draft order, which is created by an admin user.
|
||
type: object
|
||
required:
|
||
- billing_address_id
|
||
- canceled_at
|
||
- cart_id
|
||
- created_at
|
||
- currency_code
|
||
- customer_id
|
||
- draft_order_id
|
||
- display_id
|
||
- email
|
||
- external_id
|
||
- fulfillment_status
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- no_notification
|
||
- object
|
||
- payment_status
|
||
- region_id
|
||
- shipping_address_id
|
||
- status
|
||
- tax_rate
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The order's ID
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
status:
|
||
description: The order's status
|
||
type: string
|
||
enum:
|
||
- pending
|
||
- completed
|
||
- archived
|
||
- canceled
|
||
- requires_action
|
||
default: pending
|
||
fulfillment_status:
|
||
description: The order's fulfillment status
|
||
type: string
|
||
enum:
|
||
- not_fulfilled
|
||
- partially_fulfilled
|
||
- fulfilled
|
||
- partially_shipped
|
||
- shipped
|
||
- partially_returned
|
||
- returned
|
||
- canceled
|
||
- requires_action
|
||
default: not_fulfilled
|
||
payment_status:
|
||
description: The order's payment status
|
||
type: string
|
||
enum:
|
||
- not_paid
|
||
- awaiting
|
||
- captured
|
||
- partially_refunded
|
||
- refunded
|
||
- canceled
|
||
- requires_action
|
||
default: not_paid
|
||
display_id:
|
||
description: The order's display ID
|
||
type: integer
|
||
example: 2
|
||
cart_id:
|
||
description: The ID of the cart associated with the order
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart associated with the order.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
customer_id:
|
||
description: The ID of the customer associated with the order
|
||
type: string
|
||
example: cus_01G2SG30J8C85S4A5CHM2S1NS2
|
||
customer:
|
||
description: The details of the customer associated with the order.
|
||
x-expandable: customer
|
||
nullable: true
|
||
type: object
|
||
email:
|
||
description: The email associated with the order
|
||
type: string
|
||
format: email
|
||
billing_address_id:
|
||
description: The ID of the billing address associated with the order
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
billing_address:
|
||
description: The details of the billing address associated with the order.
|
||
x-expandable: billing_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
shipping_address_id:
|
||
description: The ID of the shipping address associated with the order
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
shipping_address:
|
||
description: The details of the shipping address associated with the order.
|
||
x-expandable: shipping_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
region_id:
|
||
description: The ID of the region this order was created in.
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region this order was created in.
|
||
x-expandable: region
|
||
nullable: true
|
||
$ref: '#/components/schemas/Region'
|
||
currency_code:
|
||
description: The 3 character currency code that is used in the order
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currency:
|
||
description: The details of the currency used in the order.
|
||
x-expandable: currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
tax_rate:
|
||
description: The order's tax rate
|
||
nullable: true
|
||
type: number
|
||
example: 0
|
||
discounts:
|
||
description: The details of the discounts applied on the order.
|
||
type: array
|
||
x-expandable: discounts
|
||
items:
|
||
$ref: '#/components/schemas/Discount'
|
||
gift_cards:
|
||
description: The details of the gift card used in the order.
|
||
type: array
|
||
x-expandable: gift_cards
|
||
items:
|
||
$ref: '#/components/schemas/GiftCard'
|
||
shipping_methods:
|
||
description: The details of the shipping methods used in the order.
|
||
type: array
|
||
x-expandable: shipping_methods
|
||
items:
|
||
$ref: '#/components/schemas/ShippingMethod'
|
||
payments:
|
||
description: The details of the payments used in the order.
|
||
type: array
|
||
x-expandable: payments
|
||
items:
|
||
type: object
|
||
fulfillments:
|
||
description: The details of the fulfillments created for the order.
|
||
type: array
|
||
x-expandable: fulfillments
|
||
items:
|
||
type: object
|
||
returns:
|
||
description: The details of the returns created for the order.
|
||
type: array
|
||
x-expandable: returns
|
||
items:
|
||
type: object
|
||
claims:
|
||
description: The details of the claims created for the order.
|
||
type: array
|
||
x-expandable: claims
|
||
items:
|
||
type: object
|
||
refunds:
|
||
description: The details of the refunds created for the order.
|
||
type: array
|
||
x-expandable: refunds
|
||
items:
|
||
type: object
|
||
swaps:
|
||
description: The details of the swaps created for the order.
|
||
type: array
|
||
x-expandable: swaps
|
||
items:
|
||
type: object
|
||
draft_order_id:
|
||
description: The ID of the draft order this order was created from.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
draft_order:
|
||
description: The details of the draft order this order was created from.
|
||
x-expandable: draft_order
|
||
nullable: true
|
||
type: object
|
||
items:
|
||
description: The details of the line items that belong to the order.
|
||
x-expandable: items
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
edits:
|
||
description: The details of the order edits done on the order.
|
||
type: array
|
||
x-expandable: edits
|
||
items:
|
||
type: object
|
||
gift_card_transactions:
|
||
description: The gift card transactions made in the order.
|
||
type: array
|
||
x-expandable: gift_card_transactions
|
||
items:
|
||
$ref: '#/components/schemas/GiftCardTransaction'
|
||
canceled_at:
|
||
description: The date the order was canceled on.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
no_notification:
|
||
description: >-
|
||
Flag for describing whether or not notifications related to this
|
||
should be send.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the processing of the order
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
external_id:
|
||
description: The ID of an external order.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
sales_channel_id:
|
||
description: The ID of the sales channel this order belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
sales_channel:
|
||
description: The details of the sales channel this order belongs to.
|
||
x-expandable: sales_channel
|
||
nullable: true
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
shipping_total:
|
||
type: integer
|
||
description: The total of shipping
|
||
example: 1000
|
||
nullable: true
|
||
shipping_tax_total:
|
||
type: integer
|
||
description: The tax total applied on shipping
|
||
example: 1000
|
||
raw_discount_total:
|
||
description: The total of discount
|
||
type: integer
|
||
example: 800
|
||
discount_total:
|
||
description: The total of discount rounded
|
||
type: integer
|
||
example: 800
|
||
tax_total:
|
||
description: The total of tax
|
||
type: integer
|
||
example: 0
|
||
item_tax_total:
|
||
description: The tax total applied on items
|
||
type: integer
|
||
example: 0
|
||
nullable: true
|
||
refunded_total:
|
||
description: The total amount refunded if the order is returned.
|
||
type: integer
|
||
example: 0
|
||
total:
|
||
description: The total amount of the order
|
||
type: integer
|
||
example: 8200
|
||
subtotal:
|
||
description: The subtotal of the order
|
||
type: integer
|
||
example: 8000
|
||
paid_total:
|
||
description: The total amount paid
|
||
type: integer
|
||
example: 8000
|
||
refundable_amount:
|
||
description: The amount that can be refunded
|
||
type: integer
|
||
example: 8200
|
||
gift_card_total:
|
||
description: The total of gift cards
|
||
type: integer
|
||
example: 0
|
||
gift_card_tax_total:
|
||
description: The total of gift cards with taxes
|
||
type: integer
|
||
example: 0
|
||
returnable_items:
|
||
description: >-
|
||
The details of the line items that are returnable as part of the
|
||
order, swaps, or claims
|
||
type: array
|
||
x-expandable: returnable_items
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
OrderEdit:
|
||
title: Order Edit
|
||
description: >-
|
||
Order edit allows modifying items in an order, such as adding, updating,
|
||
or deleting items from the original order. Once the order edit is
|
||
confirmed, the changes are reflected on the original order.
|
||
type: object
|
||
required:
|
||
- canceled_at
|
||
- canceled_by
|
||
- confirmed_by
|
||
- confirmed_at
|
||
- created_at
|
||
- created_by
|
||
- declined_at
|
||
- declined_by
|
||
- declined_reason
|
||
- id
|
||
- internal_note
|
||
- order_id
|
||
- payment_collection_id
|
||
- requested_at
|
||
- requested_by
|
||
- status
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The order edit's ID
|
||
type: string
|
||
example: oe_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order_id:
|
||
description: The ID of the order that is edited
|
||
type: string
|
||
example: order_01G2SG30J8C85S4A5CHM2S1NS2
|
||
order:
|
||
description: The details of the order that this order edit was created for.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
changes:
|
||
description: The details of all the changes on the original order's line items.
|
||
x-expandable: changes
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/OrderItemChange'
|
||
internal_note:
|
||
description: An optional note with additional details about the order edit.
|
||
nullable: true
|
||
type: string
|
||
example: Included two more items B to the order.
|
||
created_by:
|
||
description: >-
|
||
The unique identifier of the user or customer who created the order
|
||
edit.
|
||
type: string
|
||
requested_by:
|
||
description: >-
|
||
The unique identifier of the user or customer who requested the
|
||
order edit.
|
||
nullable: true
|
||
type: string
|
||
requested_at:
|
||
description: The date with timezone at which the edit was requested.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
confirmed_by:
|
||
description: >-
|
||
The unique identifier of the user or customer who confirmed the
|
||
order edit.
|
||
nullable: true
|
||
type: string
|
||
confirmed_at:
|
||
description: The date with timezone at which the edit was confirmed.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
declined_by:
|
||
description: >-
|
||
The unique identifier of the user or customer who declined the order
|
||
edit.
|
||
nullable: true
|
||
type: string
|
||
declined_at:
|
||
description: The date with timezone at which the edit was declined.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
declined_reason:
|
||
description: An optional note why the order edit is declined.
|
||
nullable: true
|
||
type: string
|
||
canceled_by:
|
||
description: >-
|
||
The unique identifier of the user or customer who cancelled the
|
||
order edit.
|
||
nullable: true
|
||
type: string
|
||
canceled_at:
|
||
description: The date with timezone at which the edit was cancelled.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
subtotal:
|
||
description: The total of subtotal
|
||
type: integer
|
||
example: 8000
|
||
discount_total:
|
||
description: The total of discount
|
||
type: integer
|
||
example: 800
|
||
shipping_total:
|
||
description: The total of the shipping amount
|
||
type: integer
|
||
example: 800
|
||
gift_card_total:
|
||
description: The total of the gift card amount
|
||
type: integer
|
||
example: 800
|
||
gift_card_tax_total:
|
||
description: The total of the gift card tax amount
|
||
type: integer
|
||
example: 800
|
||
tax_total:
|
||
description: The total of tax
|
||
type: integer
|
||
example: 0
|
||
total:
|
||
description: The total amount of the edited order.
|
||
type: integer
|
||
example: 8200
|
||
difference_due:
|
||
description: >-
|
||
The difference between the total amount of the order and total
|
||
amount of edited order.
|
||
type: integer
|
||
example: 8200
|
||
status:
|
||
description: The status of the order edit.
|
||
type: string
|
||
enum:
|
||
- confirmed
|
||
- declined
|
||
- requested
|
||
- created
|
||
- canceled
|
||
items:
|
||
description: >-
|
||
The details of the cloned items from the original order with the new
|
||
changes. Once the order edit is confirmed, these line items are
|
||
associated with the original order.
|
||
type: array
|
||
x-expandable: items
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
payment_collection_id:
|
||
description: The ID of the payment collection
|
||
nullable: true
|
||
type: string
|
||
example: paycol_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
payment_collection:
|
||
description: >-
|
||
The details of the payment collection used to authorize additional
|
||
payment if necessary.
|
||
x-expandable: payment_collection
|
||
nullable: true
|
||
$ref: '#/components/schemas/PaymentCollection'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
OrderItemChange:
|
||
title: Order Item Change
|
||
description: >-
|
||
An order item change is a change made within an order edit to an order's
|
||
items. These changes are not reflected on the original order until the
|
||
order edit is confirmed.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- line_item_id
|
||
- order_edit_id
|
||
- original_line_item_id
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The order item change's ID
|
||
type: string
|
||
example: oic_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
type:
|
||
description: The order item change's status
|
||
type: string
|
||
enum:
|
||
- item_add
|
||
- item_remove
|
||
- item_update
|
||
order_edit_id:
|
||
description: The ID of the order edit
|
||
type: string
|
||
example: oe_01G2SG30J8C85S4A5CHM2S1NS2
|
||
order_edit:
|
||
description: The details of the order edit the item change is associated with.
|
||
x-expandable: order_edit
|
||
nullable: true
|
||
type: object
|
||
original_line_item_id:
|
||
description: The ID of the original line item in the order
|
||
nullable: true
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
original_line_item:
|
||
description: >-
|
||
The details of the original line item this item change references.
|
||
This is used if the item change updates or deletes the original
|
||
item.
|
||
x-expandable: original_line_item
|
||
nullable: true
|
||
$ref: '#/components/schemas/LineItem'
|
||
line_item_id:
|
||
description: The ID of the cloned line item.
|
||
nullable: true
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
line_item:
|
||
description: >-
|
||
The details of the resulting line item after the item change. This
|
||
line item is then used in the original order once the order edit is
|
||
confirmed.
|
||
x-expandable: line_item
|
||
nullable: true
|
||
$ref: '#/components/schemas/LineItem'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
Payment:
|
||
title: Payment
|
||
description: >-
|
||
A payment is originally created from a payment session. Once a payment
|
||
session is authorized, the payment is created to represent the
|
||
authorized amount with a given payment method. Payments can be captured,
|
||
canceled or refunded. Payments can be made towards orders, swaps, order
|
||
edits, or other resources.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- amount_refunded
|
||
- canceled_at
|
||
- captured_at
|
||
- cart_id
|
||
- created_at
|
||
- currency_code
|
||
- data
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- order_id
|
||
- provider_id
|
||
- swap_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The payment's ID
|
||
type: string
|
||
example: pay_01G2SJNT6DEEWDFNAJ4XWDTHKE
|
||
swap_id:
|
||
description: The ID of the swap that this payment was potentially created for.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
swap:
|
||
description: >-
|
||
The details of the swap that this payment was potentially created
|
||
for.
|
||
x-expandable: swap
|
||
nullable: true
|
||
type: object
|
||
cart_id:
|
||
description: >-
|
||
The ID of the cart that the payment session was potentially created
|
||
for.
|
||
nullable: true
|
||
type: string
|
||
cart:
|
||
description: >-
|
||
The details of the cart that the payment session was potentially
|
||
created for.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: >-
|
||
The ID of the order that the payment session was potentially created
|
||
for.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: >-
|
||
The details of the order that the payment session was potentially
|
||
created for.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
amount:
|
||
description: The amount that the Payment has been authorized for.
|
||
type: integer
|
||
example: 100
|
||
currency_code:
|
||
description: The 3 character ISO currency code of the payment.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currency:
|
||
description: The details of the currency of the payment.
|
||
x-expandable: currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
amount_refunded:
|
||
description: >-
|
||
The amount of the original Payment amount that has been refunded
|
||
back to the Customer.
|
||
type: integer
|
||
default: 0
|
||
example: 0
|
||
provider_id:
|
||
description: The id of the Payment Provider that is responsible for the Payment
|
||
type: string
|
||
example: manual
|
||
data:
|
||
description: >-
|
||
The data required for the Payment Provider to identify, modify and
|
||
process the Payment. Typically this will be an object that holds an
|
||
id to the external payment session, but can be an empty object if
|
||
the Payment Provider doesn't hold any state.
|
||
type: object
|
||
example: {}
|
||
captured_at:
|
||
description: The date with timezone at which the Payment was captured.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
canceled_at:
|
||
description: The date with timezone at which the Payment was canceled.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of a payment
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
PaymentCollection:
|
||
title: Payment Collection
|
||
description: >-
|
||
A payment collection allows grouping and managing a list of payments at
|
||
one. This can be helpful when making additional payment for order edits
|
||
or integrating installment payments.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- authorized_amount
|
||
- created_at
|
||
- created_by
|
||
- currency_code
|
||
- deleted_at
|
||
- description
|
||
- id
|
||
- metadata
|
||
- region_id
|
||
- status
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The payment collection's ID
|
||
type: string
|
||
example: paycol_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
type:
|
||
description: The type of the payment collection
|
||
type: string
|
||
enum:
|
||
- order_edit
|
||
status:
|
||
description: The type of the payment collection
|
||
type: string
|
||
enum:
|
||
- not_paid
|
||
- awaiting
|
||
- authorized
|
||
- partially_authorized
|
||
- canceled
|
||
description:
|
||
description: Description of the payment collection
|
||
nullable: true
|
||
type: string
|
||
amount:
|
||
description: Amount of the payment collection.
|
||
type: integer
|
||
authorized_amount:
|
||
description: Authorized amount of the payment collection.
|
||
nullable: true
|
||
type: integer
|
||
region_id:
|
||
description: The ID of the region this payment collection is associated with.
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: >-
|
||
The details of the region this payment collection is associated
|
||
with.
|
||
x-expandable: region
|
||
nullable: true
|
||
$ref: '#/components/schemas/Region'
|
||
currency_code:
|
||
description: >-
|
||
The 3 character ISO code for the currency this payment collection is
|
||
associated with.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currency:
|
||
description: >-
|
||
The details of the currency this payment collection is associated
|
||
with.
|
||
x-expandable: currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
payment_sessions:
|
||
description: >-
|
||
The details of the payment sessions created as part of the payment
|
||
collection.
|
||
type: array
|
||
x-expandable: payment_sessions
|
||
items:
|
||
$ref: '#/components/schemas/PaymentSession'
|
||
payments:
|
||
description: >-
|
||
The details of the payments created as part of the payment
|
||
collection.
|
||
type: array
|
||
x-expandable: payments
|
||
items:
|
||
$ref: '#/components/schemas/Payment'
|
||
created_by:
|
||
description: The ID of the user that created the payment collection.
|
||
type: string
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
PaymentProvider:
|
||
title: Payment Provider
|
||
description: >-
|
||
A payment provider represents a payment service installed in the Medusa
|
||
backend, either through a plugin or backend customizations. It holds the
|
||
payment service's installation status.
|
||
type: object
|
||
required:
|
||
- id
|
||
- is_installed
|
||
properties:
|
||
id:
|
||
description: The ID of the payment provider as given by the payment service.
|
||
type: string
|
||
example: manual
|
||
is_installed:
|
||
description: >-
|
||
Whether the payment service is installed in the current version. If
|
||
a payment service is no longer installed, the `is_installed`
|
||
attribute is set to `false`.
|
||
type: boolean
|
||
default: true
|
||
PaymentSession:
|
||
title: Payment Session
|
||
description: >-
|
||
A Payment Session is created when a Customer initilizes the checkout
|
||
flow, and can be used to hold the state of a payment flow. Each Payment
|
||
Session is controlled by a Payment Provider, which is responsible for
|
||
the communication with external payment services. Authorized Payment
|
||
Sessions will eventually get promoted to Payments to indicate that they
|
||
are authorized for payment processing such as capture or refund. Payment
|
||
sessions can also be used as part of payment collections.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- cart_id
|
||
- created_at
|
||
- data
|
||
- id
|
||
- is_initiated
|
||
- is_selected
|
||
- idempotency_key
|
||
- payment_authorized_at
|
||
- provider_id
|
||
- status
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The payment session's ID
|
||
type: string
|
||
example: ps_01G901XNSRM2YS3ASN9H5KG3FZ
|
||
cart_id:
|
||
description: The ID of the cart that the payment session was created for.
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart that the payment session was created for.
|
||
x-expandable: cart
|
||
nullable: true
|
||
$ref: '#/components/schemas/Cart'
|
||
provider_id:
|
||
description: >-
|
||
The ID of the Payment Provider that is responsible for the Payment
|
||
Session
|
||
type: string
|
||
example: manual
|
||
is_selected:
|
||
description: >-
|
||
A flag to indicate if the Payment Session has been selected as the
|
||
method that will be used to complete the purchase.
|
||
nullable: true
|
||
type: boolean
|
||
example: true
|
||
is_initiated:
|
||
description: >-
|
||
A flag to indicate if a communication with the third party provider
|
||
has been initiated.
|
||
type: boolean
|
||
default: false
|
||
example: true
|
||
status:
|
||
description: >-
|
||
Indicates the status of the Payment Session. Will default to
|
||
`pending`, and will eventually become `authorized`. Payment Sessions
|
||
may have the status of `requires_more` to indicate that further
|
||
actions are to be completed by the Customer.
|
||
type: string
|
||
enum:
|
||
- authorized
|
||
- pending
|
||
- requires_more
|
||
- error
|
||
- canceled
|
||
example: pending
|
||
data:
|
||
description: >-
|
||
The data required for the Payment Provider to identify, modify and
|
||
process the Payment Session. Typically this will be an object that
|
||
holds an id to the external payment session, but can be an empty
|
||
object if the Payment Provider doesn't hold any state.
|
||
type: object
|
||
example: {}
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of a cart in
|
||
case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
amount:
|
||
description: The amount that the Payment Session has been authorized for.
|
||
nullable: true
|
||
type: integer
|
||
example: 100
|
||
payment_authorized_at:
|
||
description: The date with timezone at which the Payment Session was authorized.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
PriceList:
|
||
title: Price List
|
||
description: >-
|
||
A Price List represents a set of prices that override the default price
|
||
for one or more product variants.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- description
|
||
- ends_at
|
||
- id
|
||
- name
|
||
- starts_at
|
||
- status
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The price list's ID
|
||
type: string
|
||
example: pl_01G8X3CKJXCG5VXVZ87H9KC09W
|
||
name:
|
||
description: The price list's name
|
||
type: string
|
||
example: VIP Prices
|
||
description:
|
||
description: The price list's description
|
||
type: string
|
||
example: Prices for VIP customers
|
||
type:
|
||
description: >-
|
||
The type of Price List. This can be one of either `sale` or
|
||
`override`.
|
||
type: string
|
||
enum:
|
||
- sale
|
||
- override
|
||
default: sale
|
||
status:
|
||
description: The status of the Price List
|
||
type: string
|
||
enum:
|
||
- active
|
||
- draft
|
||
default: draft
|
||
starts_at:
|
||
description: The date with timezone that the Price List starts being valid.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
ends_at:
|
||
description: The date with timezone that the Price List stops being valid.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
customer_groups:
|
||
description: The details of the customer groups that the Price List can apply to.
|
||
type: array
|
||
x-expandable: customer_groups
|
||
items:
|
||
$ref: '#/components/schemas/CustomerGroup'
|
||
prices:
|
||
description: >-
|
||
The prices that belong to the price list, represented as a Money
|
||
Amount.
|
||
type: array
|
||
x-expandable: prices
|
||
items:
|
||
$ref: '#/components/schemas/MoneyAmount'
|
||
includes_tax:
|
||
description: Whether the price list prices include tax
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
default: false
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
PricedProduct:
|
||
title: Priced Product
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/Product'
|
||
- type: object
|
||
properties:
|
||
variants:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/PricedVariant'
|
||
PricedShippingOption:
|
||
title: Priced Shipping Option
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/ShippingOption'
|
||
- type: object
|
||
properties:
|
||
price_incl_tax:
|
||
type: number
|
||
description: Price including taxes
|
||
tax_rates:
|
||
type: array
|
||
description: An array of applied tax rates
|
||
items:
|
||
type: object
|
||
properties:
|
||
rate:
|
||
type: number
|
||
description: The tax rate value
|
||
name:
|
||
type: string
|
||
description: The name of the tax rate
|
||
code:
|
||
type: string
|
||
description: The code of the tax rate
|
||
tax_amount:
|
||
type: number
|
||
description: The taxes applied.
|
||
PricedVariant:
|
||
title: Priced Product Variant
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/ProductVariant'
|
||
- type: object
|
||
properties:
|
||
original_price:
|
||
type: number
|
||
description: >-
|
||
The original price of the variant without any discounted prices
|
||
applied.
|
||
calculated_price:
|
||
type: number
|
||
description: The calculated price of the variant. Can be a discounted price.
|
||
original_price_incl_tax:
|
||
type: number
|
||
description: The original price of the variant including taxes.
|
||
calculated_price_incl_tax:
|
||
type: number
|
||
description: The calculated price of the variant including taxes.
|
||
original_tax:
|
||
type: number
|
||
description: The taxes applied on the original price.
|
||
calculated_tax:
|
||
type: number
|
||
description: The taxes applied on the calculated price.
|
||
tax_rates:
|
||
type: array
|
||
description: An array of applied tax rates
|
||
items:
|
||
type: object
|
||
properties:
|
||
rate:
|
||
type: number
|
||
description: The tax rate value
|
||
name:
|
||
type: string
|
||
description: The name of the tax rate
|
||
code:
|
||
type: string
|
||
description: The code of the tax rate
|
||
Product:
|
||
title: Product
|
||
description: >-
|
||
A product is a saleable item that holds general information such as name
|
||
or description. It must include at least one Product Variant, where each
|
||
product variant defines different options to purchase the product with
|
||
(for example, different sizes or colors). The prices and inventory of
|
||
the product are defined on the variant level.
|
||
type: object
|
||
required:
|
||
- collection_id
|
||
- created_at
|
||
- deleted_at
|
||
- description
|
||
- discountable
|
||
- external_id
|
||
- handle
|
||
- height
|
||
- hs_code
|
||
- id
|
||
- is_giftcard
|
||
- length
|
||
- material
|
||
- metadata
|
||
- mid_code
|
||
- origin_country
|
||
- profile_id
|
||
- status
|
||
- subtitle
|
||
- type_id
|
||
- thumbnail
|
||
- title
|
||
- updated_at
|
||
- weight
|
||
- width
|
||
properties:
|
||
id:
|
||
description: The product's ID
|
||
type: string
|
||
example: prod_01G1G5V2MBA328390B5AXJ610F
|
||
title:
|
||
description: >-
|
||
A title that can be displayed for easy identification of the
|
||
Product.
|
||
type: string
|
||
example: Medusa Coffee Mug
|
||
subtitle:
|
||
description: >-
|
||
An optional subtitle that can be used to further specify the
|
||
Product.
|
||
nullable: true
|
||
type: string
|
||
description:
|
||
description: A short description of the Product.
|
||
nullable: true
|
||
type: string
|
||
example: Every programmer's best friend.
|
||
handle:
|
||
description: A unique identifier for the Product (e.g. for slug structure).
|
||
nullable: true
|
||
type: string
|
||
example: coffee-mug
|
||
is_giftcard:
|
||
description: >-
|
||
Whether the Product represents a Gift Card. Products that represent
|
||
Gift Cards will automatically generate a redeemable Gift Card code
|
||
once they are purchased.
|
||
type: boolean
|
||
default: false
|
||
status:
|
||
description: The status of the product
|
||
type: string
|
||
enum:
|
||
- draft
|
||
- proposed
|
||
- published
|
||
- rejected
|
||
default: draft
|
||
images:
|
||
description: The details of the product's images.
|
||
type: array
|
||
x-expandable: images
|
||
items:
|
||
$ref: '#/components/schemas/Image'
|
||
thumbnail:
|
||
description: A URL to an image file that can be used to identify the Product.
|
||
nullable: true
|
||
type: string
|
||
format: uri
|
||
options:
|
||
description: >-
|
||
The details of the Product Options that are defined for the Product.
|
||
The product's variants will have a unique combination of values of
|
||
the product's options.
|
||
type: array
|
||
x-expandable: options
|
||
items:
|
||
$ref: '#/components/schemas/ProductOption'
|
||
variants:
|
||
description: >-
|
||
The details of the Product Variants that belong to the Product. Each
|
||
will have a unique combination of values of the product's options.
|
||
type: array
|
||
x-expandable: variants
|
||
items:
|
||
$ref: '#/components/schemas/ProductVariant'
|
||
categories:
|
||
description: The details of the product categories that this product belongs to.
|
||
type: array
|
||
x-expandable: categories
|
||
x-featureFlag: product_categories
|
||
items:
|
||
$ref: '#/components/schemas/ProductCategory'
|
||
profile_id:
|
||
description: >-
|
||
The ID of the shipping profile that the product belongs to. The
|
||
shipping profile has a set of defined shipping options that can be
|
||
used to fulfill the product.
|
||
type: string
|
||
example: sp_01G1G5V239ENSZ5MV4JAR737BM
|
||
profile:
|
||
description: >-
|
||
The details of the shipping profile that the product belongs to. The
|
||
shipping profile has a set of defined shipping options that can be
|
||
used to fulfill the product.
|
||
x-expandable: profile
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingProfile'
|
||
profiles:
|
||
description: Available if the relation `profiles` is expanded.
|
||
nullable: true
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/ShippingProfile'
|
||
weight:
|
||
description: >-
|
||
The weight of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
length:
|
||
description: >-
|
||
The length of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
height:
|
||
description: >-
|
||
The height of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
width:
|
||
description: >-
|
||
The width of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
hs_code:
|
||
description: >-
|
||
The Harmonized System code of the Product Variant. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
origin_country:
|
||
description: >-
|
||
The country in which the Product Variant was produced. May be used
|
||
by Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
mid_code:
|
||
description: >-
|
||
The Manufacturers Identification code that identifies the
|
||
manufacturer of the Product Variant. May be used by Fulfillment
|
||
Providers to pass customs information to shipping carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
material:
|
||
description: >-
|
||
The material and composition that the Product Variant is made of,
|
||
May be used by Fulfillment Providers to pass customs information to
|
||
shipping carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
collection_id:
|
||
description: The ID of the product collection that the product belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: pcol_01F0YESBFAZ0DV6V831JXWH0BG
|
||
collection:
|
||
description: The details of the product collection that the product belongs to.
|
||
x-expandable: collection
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductCollection'
|
||
type_id:
|
||
description: The ID of the product type that the product belongs to.
|
||
nullable: true
|
||
type: string
|
||
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
type:
|
||
description: The details of the product type that the product belongs to.
|
||
x-expandable: type
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductType'
|
||
tags:
|
||
description: The details of the product tags used in this product.
|
||
type: array
|
||
x-expandable: type
|
||
items:
|
||
$ref: '#/components/schemas/ProductTag'
|
||
discountable:
|
||
description: >-
|
||
Whether the Product can be discounted. Discounts will not apply to
|
||
Line Items of this Product when this flag is set to `false`.
|
||
type: boolean
|
||
default: true
|
||
external_id:
|
||
description: The external ID of the product
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
sales_channels:
|
||
description: The details of the sales channels this product is available in.
|
||
type: array
|
||
x-expandable: sales_channels
|
||
items:
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductCategory:
|
||
title: Product Category
|
||
description: >-
|
||
A product category can be used to categorize products into a hierarchy
|
||
of categories.
|
||
x-resourceId: ProductCategory
|
||
x-featureFlag: product_categories
|
||
type: object
|
||
required:
|
||
- category_children
|
||
- created_at
|
||
- handle
|
||
- id
|
||
- is_active
|
||
- is_internal
|
||
- mpath
|
||
- name
|
||
- parent_category_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The product category's ID
|
||
type: string
|
||
example: pcat_01G2SG30J8C85S4A5CHM2S1NS2
|
||
name:
|
||
description: The product category's name
|
||
type: string
|
||
example: Regular Fit
|
||
handle:
|
||
description: >-
|
||
A unique string that identifies the Product Category - can for
|
||
example be used in slug structures.
|
||
type: string
|
||
example: regular-fit
|
||
mpath:
|
||
description: >-
|
||
A string for Materialized Paths - used for finding ancestors and
|
||
descendents
|
||
nullable: true
|
||
type: string
|
||
example: pcat_id1.pcat_id2.pcat_id3
|
||
is_internal:
|
||
type: boolean
|
||
description: A flag to make product category an internal category for admins
|
||
default: false
|
||
is_active:
|
||
type: boolean
|
||
description: A flag to make product category visible/hidden in the store front
|
||
default: false
|
||
rank:
|
||
type: integer
|
||
description: An integer that depicts the rank of category in a tree node
|
||
default: 0
|
||
category_children:
|
||
description: The details of the category's children.
|
||
type: array
|
||
x-expandable: category_children
|
||
items:
|
||
type: object
|
||
parent_category_id:
|
||
description: The ID of the parent category.
|
||
nullable: true
|
||
type: string
|
||
default: null
|
||
parent_category:
|
||
description: The details of the parent of this category.
|
||
x-expandable: parent_category
|
||
nullable: true
|
||
type: object
|
||
products:
|
||
description: The details of the products that belong to this category.
|
||
type: array
|
||
x-expandable: products
|
||
items:
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
ProductCollection:
|
||
title: Product Collection
|
||
description: >-
|
||
A Product Collection allows grouping together products for promotional
|
||
purposes. For example, an admin can create a Summer collection, add
|
||
products to it, and showcase it on the storefront.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- handle
|
||
- id
|
||
- metadata
|
||
- title
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The product collection's ID
|
||
type: string
|
||
example: pcol_01F0YESBFAZ0DV6V831JXWH0BG
|
||
title:
|
||
description: The title that the Product Collection is identified by.
|
||
type: string
|
||
example: Summer Collection
|
||
handle:
|
||
description: >-
|
||
A unique string that identifies the Product Collection - can for
|
||
example be used in slug structures.
|
||
nullable: true
|
||
type: string
|
||
example: summer-collection
|
||
products:
|
||
description: The details of the products that belong to this product collection.
|
||
type: array
|
||
x-expandable: products
|
||
items:
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductOption:
|
||
title: Product Option
|
||
description: >-
|
||
A Product Option defines properties that may vary between different
|
||
variants of a Product. Common Product Options are "Size" and "Color".
|
||
Admins are free to create any product options.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- product_id
|
||
- title
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The product option's ID
|
||
type: string
|
||
example: opt_01F0YESHQBZVKCEXJ24BS6PCX3
|
||
title:
|
||
description: The title that the Product Option is defined by (e.g. `Size`).
|
||
type: string
|
||
example: Size
|
||
values:
|
||
description: The details of the values of the product option.
|
||
type: array
|
||
x-expandable: values
|
||
items:
|
||
$ref: '#/components/schemas/ProductOptionValue'
|
||
product_id:
|
||
description: The ID of the product that this product option belongs to.
|
||
type: string
|
||
example: prod_01G1G5V2MBA328390B5AXJ610F
|
||
product:
|
||
description: The details of the product that this product option belongs to.
|
||
x-expandable: product
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductOptionValue:
|
||
title: Product Option Value
|
||
description: >-
|
||
An option value is one of the possible values of a Product Option.
|
||
Product Variants specify a unique combination of product option values.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- option_id
|
||
- updated_at
|
||
- value
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The product option value's ID
|
||
type: string
|
||
example: optval_01F0YESHR7S6ECD03RF6W12DSJ
|
||
value:
|
||
description: >-
|
||
The value that the Product Variant has defined for the specific
|
||
Product Option (e.g. if the Product Option is "Size" this value
|
||
could be `Small`, `Medium` or `Large`).
|
||
type: string
|
||
example: large
|
||
option_id:
|
||
description: >-
|
||
The ID of the Product Option that the Product Option Value belongs
|
||
to.
|
||
type: string
|
||
example: opt_01F0YESHQBZVKCEXJ24BS6PCX3
|
||
option:
|
||
description: >-
|
||
The details of the product option that the Product Option Value
|
||
belongs to.
|
||
x-expandable: option
|
||
nullable: true
|
||
type: object
|
||
variant_id:
|
||
description: The ID of the product variant that uses this product option value.
|
||
type: string
|
||
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
||
variant:
|
||
description: >-
|
||
The details of the product variant that uses this product option
|
||
value.
|
||
x-expandable: variant
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductTag:
|
||
title: Product Tag
|
||
description: A Product Tag can be added to Products for easy filtering and grouping.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The product tag's ID
|
||
type: string
|
||
example: ptag_01G8K2MTMG9168F2B70S1TAVK3
|
||
value:
|
||
description: The value that the Product Tag represents
|
||
type: string
|
||
example: Pants
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductTaxRate:
|
||
title: Product Tax Rate
|
||
description: >-
|
||
This represents the association between a tax rate and a product to
|
||
indicate that the product is taxed in a way different than the default.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- metadata
|
||
- product_id
|
||
- rate_id
|
||
- updated_at
|
||
properties:
|
||
product_id:
|
||
description: The ID of the Product
|
||
type: string
|
||
example: prod_01G1G5V2MBA328390B5AXJ610F
|
||
product:
|
||
description: The details of the product.
|
||
x-expandable: product
|
||
nullable: true
|
||
$ref: '#/components/schemas/Product'
|
||
rate_id:
|
||
description: The ID of the Tax Rate
|
||
type: string
|
||
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
||
tax_rate:
|
||
description: The details of the tax rate.
|
||
x-expandable: tax_rate
|
||
nullable: true
|
||
$ref: '#/components/schemas/TaxRate'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductType:
|
||
title: Product Type
|
||
description: >-
|
||
A Product Type can be added to Products for filtering and reporting
|
||
purposes.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The product type's ID
|
||
type: string
|
||
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
value:
|
||
description: The value that the Product Type represents.
|
||
type: string
|
||
example: Clothing
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductTypeTaxRate:
|
||
title: Product Type Tax Rate
|
||
description: >-
|
||
This represents the association between a tax rate and a product type to
|
||
indicate that the product type is taxed in a different way than the
|
||
default.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- metadata
|
||
- product_type_id
|
||
- rate_id
|
||
- updated_at
|
||
properties:
|
||
product_type_id:
|
||
description: The ID of the Product type
|
||
type: string
|
||
example: ptyp_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
product_type:
|
||
description: The details of the product type.
|
||
x-expandable: product_type
|
||
nullable: true
|
||
$ref: '#/components/schemas/ProductType'
|
||
rate_id:
|
||
description: The id of the Tax Rate
|
||
type: string
|
||
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
||
tax_rate:
|
||
description: The details of the tax rate.
|
||
x-expandable: tax_rate
|
||
nullable: true
|
||
$ref: '#/components/schemas/TaxRate'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ProductVariant:
|
||
title: Product Variant
|
||
description: >-
|
||
A Product Variant represents a Product with a specific set of Product
|
||
Option configurations. The maximum number of Product Variants that a
|
||
Product can have is given by the number of available Product Option
|
||
combinations. A product must at least have one product variant.
|
||
type: object
|
||
required:
|
||
- allow_backorder
|
||
- barcode
|
||
- created_at
|
||
- deleted_at
|
||
- ean
|
||
- height
|
||
- hs_code
|
||
- id
|
||
- inventory_quantity
|
||
- length
|
||
- manage_inventory
|
||
- material
|
||
- metadata
|
||
- mid_code
|
||
- origin_country
|
||
- product_id
|
||
- sku
|
||
- title
|
||
- upc
|
||
- updated_at
|
||
- weight
|
||
- width
|
||
properties:
|
||
id:
|
||
description: The product variant's ID
|
||
type: string
|
||
example: variant_01G1G5V2MRX2V3PVSR2WXYPFB6
|
||
title:
|
||
description: >-
|
||
A title that can be displayed for easy identification of the Product
|
||
Variant.
|
||
type: string
|
||
example: Small
|
||
product_id:
|
||
description: The ID of the product that the product variant belongs to.
|
||
type: string
|
||
example: prod_01G1G5V2MBA328390B5AXJ610F
|
||
product:
|
||
description: The details of the product that the product variant belongs to.
|
||
x-expandable: product
|
||
nullable: true
|
||
type: object
|
||
prices:
|
||
description: >-
|
||
The details of the prices of the Product Variant, each represented
|
||
as a Money Amount. Each Money Amount represents a price in a given
|
||
currency or a specific Region.
|
||
type: array
|
||
x-expandable: prices
|
||
items:
|
||
$ref: '#/components/schemas/MoneyAmount'
|
||
sku:
|
||
description: >-
|
||
The unique stock keeping unit used to identify the Product Variant.
|
||
This will usually be a unique identifer for the item that is to be
|
||
shipped, and can be referenced across multiple systems.
|
||
nullable: true
|
||
type: string
|
||
example: shirt-123
|
||
barcode:
|
||
description: >-
|
||
A generic field for a GTIN number that can be used to identify the
|
||
Product Variant.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
ean:
|
||
description: >-
|
||
An EAN barcode number that can be used to identify the Product
|
||
Variant.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
upc:
|
||
description: >-
|
||
A UPC barcode number that can be used to identify the Product
|
||
Variant.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
variant_rank:
|
||
description: The ranking of this variant
|
||
nullable: true
|
||
type: number
|
||
default: 0
|
||
inventory_quantity:
|
||
description: The current quantity of the item that is stocked.
|
||
type: integer
|
||
example: 100
|
||
allow_backorder:
|
||
description: >-
|
||
Whether the Product Variant should be purchasable when
|
||
`inventory_quantity` is 0.
|
||
type: boolean
|
||
default: false
|
||
manage_inventory:
|
||
description: Whether Medusa should manage inventory for the Product Variant.
|
||
type: boolean
|
||
default: true
|
||
hs_code:
|
||
description: >-
|
||
The Harmonized System code of the Product Variant. May be used by
|
||
Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
origin_country:
|
||
description: >-
|
||
The country in which the Product Variant was produced. May be used
|
||
by Fulfillment Providers to pass customs information to shipping
|
||
carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
mid_code:
|
||
description: >-
|
||
The Manufacturers Identification code that identifies the
|
||
manufacturer of the Product Variant. May be used by Fulfillment
|
||
Providers to pass customs information to shipping carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
material:
|
||
description: >-
|
||
The material and composition that the Product Variant is made of,
|
||
May be used by Fulfillment Providers to pass customs information to
|
||
shipping carriers.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
weight:
|
||
description: >-
|
||
The weight of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
length:
|
||
description: >-
|
||
The length of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
height:
|
||
description: >-
|
||
The height of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
width:
|
||
description: >-
|
||
The width of the Product Variant. May be used in shipping rate
|
||
calculations.
|
||
nullable: true
|
||
type: number
|
||
example: null
|
||
options:
|
||
description: >-
|
||
The details of the product options that this product variant defines
|
||
values for.
|
||
type: array
|
||
x-expandable: options
|
||
items:
|
||
$ref: '#/components/schemas/ProductOptionValue'
|
||
inventory_items:
|
||
description: The details inventory items of the product variant.
|
||
type: array
|
||
x-expandable: inventory_items
|
||
items:
|
||
$ref: '#/components/schemas/ProductVariantInventoryItem'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
purchasable:
|
||
description: >
|
||
Only used with the inventory modules.
|
||
|
||
A boolean value indicating whether the Product Variant is
|
||
purchasable.
|
||
|
||
A variant is purchasable if:
|
||
- inventory is not managed
|
||
- it has no inventory items
|
||
- it is in stock
|
||
- it is backorderable.
|
||
type: boolean
|
||
ProductVariantInventoryItem:
|
||
title: Product Variant Inventory Item
|
||
description: >-
|
||
A Product Variant Inventory Item links variants with inventory items and
|
||
denotes the required quantity of the variant.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- inventory_item_id
|
||
- required_quantity
|
||
- updated_at
|
||
- variant_id
|
||
properties:
|
||
id:
|
||
description: The product variant inventory item's ID
|
||
type: string
|
||
example: pvitem_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
inventory_item_id:
|
||
description: The id of the inventory item
|
||
type: string
|
||
variant_id:
|
||
description: The id of the variant.
|
||
type: string
|
||
variant:
|
||
description: The details of the product variant.
|
||
x-expandable: variant
|
||
nullable: true
|
||
type: object
|
||
required_quantity:
|
||
description: The quantity of an inventory item required for the variant.
|
||
type: integer
|
||
default: 1
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
PublishableApiKey:
|
||
title: Publishable API key
|
||
description: >-
|
||
A Publishable API key defines scopes that resources are available in.
|
||
Then, it can be used in request to infer the resources without having to
|
||
directly pass them. For example, a publishable API key can be associated
|
||
with one or more sales channels. Then, when the publishable API key is
|
||
passed in the header of a request, it is inferred what sales channel is
|
||
being used without having to pass the sales channel as a query or body
|
||
parameter of the request. Publishable API keys can only be used with
|
||
sales channels, at the moment.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- created_by
|
||
- id
|
||
- revoked_by
|
||
- revoked_at
|
||
- title
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The key's ID
|
||
type: string
|
||
example: pk_01G1G5V27GYX4QXNARRQCW1N8T
|
||
created_by:
|
||
description: The unique identifier of the user that created the key.
|
||
nullable: true
|
||
type: string
|
||
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
||
revoked_by:
|
||
description: The unique identifier of the user that revoked the key.
|
||
nullable: true
|
||
type: string
|
||
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
||
revoked_at:
|
||
description: The date with timezone at which the key was revoked.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
title:
|
||
description: The key's title.
|
||
type: string
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
PublishableApiKeySalesChannel:
|
||
title: Publishable API Key Sales Channel
|
||
description: >-
|
||
This represents the association between the Publishable API keys and
|
||
Sales Channels
|
||
type: object
|
||
required:
|
||
- publishable_key_id
|
||
- sales_channel_id
|
||
properties:
|
||
sales_channel_id:
|
||
description: The sales channel's ID
|
||
type: string
|
||
example: sc_01G1G5V21KADXNGH29BJMAJ4B4
|
||
publishable_key_id:
|
||
description: The publishable API key's ID
|
||
type: string
|
||
example: pak_01G1G5V21KADXNGH29BJMAJ4B4
|
||
Refund:
|
||
title: Refund
|
||
description: >-
|
||
A refund represents an amount of money transfered back to the customer
|
||
for a given reason. Refunds may occur in relation to Returns, Swaps and
|
||
Claims, but can also be initiated by an admin for an order.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- created_at
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- note
|
||
- order_id
|
||
- payment_id
|
||
- reason
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The refund's ID
|
||
type: string
|
||
example: ref_01G1G5V27GYX4QXNARRQCW1N8T
|
||
order_id:
|
||
description: The ID of the order this refund was created for.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order this refund was created for.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
payment_id:
|
||
description: The payment's ID, if available.
|
||
nullable: true
|
||
type: string
|
||
example: pay_01G8ZCC5W42ZNY842124G7P5R9
|
||
payment:
|
||
description: The details of the payment associated with the refund.
|
||
x-expandable: payment
|
||
nullable: true
|
||
type: object
|
||
amount:
|
||
description: The amount that has be refunded to the Customer.
|
||
type: integer
|
||
example: 1000
|
||
note:
|
||
description: An optional note explaining why the amount was refunded.
|
||
nullable: true
|
||
type: string
|
||
example: I didn't like it
|
||
reason:
|
||
description: >-
|
||
The reason given for the Refund, will automatically be set when
|
||
processed as part of a Swap, Claim or Return.
|
||
type: string
|
||
enum:
|
||
- discount
|
||
- return
|
||
- swap
|
||
- claim
|
||
- other
|
||
example: return
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the refund
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
Region:
|
||
title: Region
|
||
description: >-
|
||
A region holds settings specific to a geographical location, including
|
||
the currency, tax rates, and fulfillment and payment providers. A Region
|
||
can consist of multiple countries to accomodate common shopping settings
|
||
across countries.
|
||
type: object
|
||
required:
|
||
- automatic_taxes
|
||
- created_at
|
||
- currency_code
|
||
- deleted_at
|
||
- gift_cards_taxable
|
||
- id
|
||
- metadata
|
||
- name
|
||
- tax_code
|
||
- tax_provider_id
|
||
- tax_rate
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The region's ID
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
name:
|
||
description: >-
|
||
The name of the region as displayed to the customer. If the Region
|
||
only has one country it is recommended to write the country name.
|
||
type: string
|
||
example: EU
|
||
currency_code:
|
||
description: The 3 character currency code used in the region.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
currency:
|
||
description: The details of the currency used in the region.
|
||
x-expandable: currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
tax_rate:
|
||
description: The tax rate that should be charged on purchases in the Region.
|
||
type: number
|
||
example: 0
|
||
tax_rates:
|
||
description: >-
|
||
The details of the tax rates used in the region, aside from the
|
||
default rate.
|
||
type: array
|
||
x-expandable: tax_rates
|
||
items:
|
||
$ref: '#/components/schemas/TaxRate'
|
||
tax_code:
|
||
description: >-
|
||
The tax code used on purchases in the Region. This may be used by
|
||
other systems for accounting purposes.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
gift_cards_taxable:
|
||
description: Whether the gift cards are taxable or not in this region.
|
||
type: boolean
|
||
default: true
|
||
automatic_taxes:
|
||
description: Whether taxes should be automated in this region.
|
||
type: boolean
|
||
default: true
|
||
countries:
|
||
description: The details of the countries included in this region.
|
||
type: array
|
||
x-expandable: countries
|
||
items:
|
||
$ref: '#/components/schemas/Country'
|
||
tax_provider_id:
|
||
description: The ID of the tax provider used in this region
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
tax_provider:
|
||
description: The details of the tax provider used in the region.
|
||
x-expandable: tax_provider
|
||
nullable: true
|
||
$ref: '#/components/schemas/TaxProvider'
|
||
payment_providers:
|
||
description: >-
|
||
The details of the payment providers that can be used to process
|
||
payments in the region.
|
||
type: array
|
||
x-expandable: payment_providers
|
||
items:
|
||
$ref: '#/components/schemas/PaymentProvider'
|
||
fulfillment_providers:
|
||
description: >-
|
||
The details of the fulfillment providers that can be used to fulfill
|
||
items of orders and similar resources in the region.
|
||
type: array
|
||
x-expandable: fulfillment_providers
|
||
items:
|
||
$ref: '#/components/schemas/FulfillmentProvider'
|
||
includes_tax:
|
||
description: Whether the prices for the region include tax
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
default: false
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ReservationItemDTO:
|
||
title: Reservation item
|
||
description: Represents a reservation of an inventory item at a stock location
|
||
type: object
|
||
required:
|
||
- id
|
||
- location_id
|
||
- inventory_item_id
|
||
- quantity
|
||
properties:
|
||
id:
|
||
description: The id of the reservation item
|
||
type: string
|
||
location_id:
|
||
description: The id of the location of the reservation
|
||
type: string
|
||
inventory_item_id:
|
||
description: The id of the inventory item the reservation relates to
|
||
type: string
|
||
description:
|
||
description: Description of the reservation item
|
||
type: string
|
||
created_by:
|
||
description: UserId of user who created the reservation item
|
||
type: string
|
||
quantity:
|
||
description: The id of the reservation item
|
||
type: number
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was deleted.
|
||
format: date-time
|
||
ResponseInventoryItem:
|
||
allOf:
|
||
- $ref: '#/components/schemas/InventoryItemDTO'
|
||
- type: object
|
||
properties:
|
||
location_levels:
|
||
type: array
|
||
description: The inventory's location levels.
|
||
items:
|
||
allOf:
|
||
- $ref: '#/components/schemas/InventoryItemDTO'
|
||
- type: object
|
||
required:
|
||
- available_quantity
|
||
properties:
|
||
available_quantity:
|
||
description: The available quantity in the inventory location.
|
||
type: number
|
||
Return:
|
||
title: Return
|
||
description: >-
|
||
A Return holds information about Line Items that a Customer wishes to
|
||
send back, along with how the items will be returned. Returns can also
|
||
be used as part of a Swap or a Claim.
|
||
type: object
|
||
required:
|
||
- claim_order_id
|
||
- created_at
|
||
- id
|
||
- idempotency_key
|
||
- location_id
|
||
- metadata
|
||
- no_notification
|
||
- order_id
|
||
- received_at
|
||
- refund_amount
|
||
- shipping_data
|
||
- status
|
||
- swap_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The return's ID
|
||
type: string
|
||
example: ret_01F0YET7XPCMF8RZ0Y151NZV2V
|
||
status:
|
||
description: Status of the Return.
|
||
type: string
|
||
enum:
|
||
- requested
|
||
- received
|
||
- requires_action
|
||
- canceled
|
||
default: requested
|
||
items:
|
||
description: The details of the items that the customer is returning.
|
||
type: array
|
||
x-expandable: items
|
||
items:
|
||
$ref: '#/components/schemas/ReturnItem'
|
||
swap_id:
|
||
description: The ID of the swap that the return may belong to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
swap:
|
||
description: The details of the swap that the return may belong to.
|
||
x-expandable: swap
|
||
nullable: true
|
||
type: object
|
||
claim_order_id:
|
||
description: The ID of the claim that the return may belong to.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
claim_order:
|
||
description: The details of the claim that the return may belong to.
|
||
x-expandable: claim_order
|
||
nullable: true
|
||
type: object
|
||
order_id:
|
||
description: The ID of the order that the return was created for.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the return was created for.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
shipping_method:
|
||
description: >-
|
||
The details of the Shipping Method that will be used to send the
|
||
Return back. Can be null if the Customer will handle the return
|
||
shipment themselves.
|
||
x-expandable: shipping_method
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingMethod'
|
||
shipping_data:
|
||
description: >-
|
||
Data about the return shipment as provided by the Fulfilment
|
||
Provider that handles the return shipment.
|
||
nullable: true
|
||
type: object
|
||
example: {}
|
||
location_id:
|
||
description: The ID of the stock location the return will be added back.
|
||
nullable: true
|
||
type: string
|
||
example: sloc_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
refund_amount:
|
||
description: The amount that should be refunded as a result of the return.
|
||
type: integer
|
||
example: 1000
|
||
no_notification:
|
||
description: >-
|
||
When set to true, no notification will be sent related to this
|
||
return.
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the return
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
received_at:
|
||
description: The date with timezone at which the return was received.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ReturnItem:
|
||
title: Return Item
|
||
description: >-
|
||
A return item represents a line item in an order that is to be returned.
|
||
It includes details related to the return and the reason behind it.
|
||
type: object
|
||
required:
|
||
- is_requested
|
||
- item_id
|
||
- metadata
|
||
- note
|
||
- quantity
|
||
- reason_id
|
||
- received_quantity
|
||
- requested_quantity
|
||
- return_id
|
||
properties:
|
||
return_id:
|
||
description: The ID of the Return that the Return Item belongs to.
|
||
type: string
|
||
example: ret_01F0YET7XPCMF8RZ0Y151NZV2V
|
||
item_id:
|
||
description: The ID of the Line Item that the Return Item references.
|
||
type: string
|
||
example: item_01G8ZC9GWT6B2GP5FSXRXNFNGN
|
||
return_order:
|
||
description: Details of the Return that the Return Item belongs to.
|
||
x-expandable: return_order
|
||
nullable: true
|
||
type: object
|
||
item:
|
||
description: The details of the line item in the original order to be returned.
|
||
x-expandable: item
|
||
nullable: true
|
||
$ref: '#/components/schemas/LineItem'
|
||
quantity:
|
||
description: The quantity of the Line Item to be returned.
|
||
type: integer
|
||
example: 1
|
||
is_requested:
|
||
description: >-
|
||
Whether the Return Item was requested initially or received
|
||
unexpectedly in the warehouse.
|
||
type: boolean
|
||
default: true
|
||
requested_quantity:
|
||
description: The quantity that was originally requested to be returned.
|
||
nullable: true
|
||
type: integer
|
||
example: 1
|
||
received_quantity:
|
||
description: The quantity that was received in the warehouse.
|
||
nullable: true
|
||
type: integer
|
||
example: 1
|
||
reason_id:
|
||
description: The ID of the reason for returning the item.
|
||
nullable: true
|
||
type: string
|
||
example: rr_01G8X82GCCV2KSQHDBHSSAH5TQ
|
||
reason:
|
||
description: The details of the reason for returning the item.
|
||
x-expandable: reason
|
||
nullable: true
|
||
$ref: '#/components/schemas/ReturnReason'
|
||
note:
|
||
description: An optional note with additional details about the Return.
|
||
nullable: true
|
||
type: string
|
||
example: I didn't like it.
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ReturnReason:
|
||
title: Return Reason
|
||
description: >-
|
||
A Return Reason is a value defined by an admin. It can be used on Return
|
||
Items in order to indicate why a Line Item was returned.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- description
|
||
- id
|
||
- label
|
||
- metadata
|
||
- parent_return_reason_id
|
||
- updated_at
|
||
- value
|
||
properties:
|
||
id:
|
||
description: The return reason's ID
|
||
type: string
|
||
example: rr_01G8X82GCCV2KSQHDBHSSAH5TQ
|
||
value:
|
||
description: The value to identify the reason by.
|
||
type: string
|
||
example: damaged
|
||
label:
|
||
description: A text that can be displayed to the Customer as a reason.
|
||
type: string
|
||
example: Damaged goods
|
||
description:
|
||
description: A description of the Reason.
|
||
nullable: true
|
||
type: string
|
||
example: Items that are damaged
|
||
parent_return_reason_id:
|
||
description: The ID of the parent reason.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
parent_return_reason:
|
||
description: The details of the parent reason.
|
||
x-expandable: parent_return_reason
|
||
nullable: true
|
||
type: object
|
||
return_reason_children:
|
||
description: The details of the child reasons.
|
||
x-expandable: return_reason_children
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
SalesChannel:
|
||
title: Sales Channel
|
||
description: >-
|
||
A Sales Channel is a method a business offers its products for purchase
|
||
for the customers. For example, a Webshop can be a sales channel, and a
|
||
mobile app can be another.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- description
|
||
- id
|
||
- is_disabled
|
||
- name
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The sales channel's ID
|
||
type: string
|
||
example: sc_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
name:
|
||
description: The name of the sales channel.
|
||
type: string
|
||
example: Market
|
||
description:
|
||
description: The description of the sales channel.
|
||
nullable: true
|
||
type: string
|
||
example: Multi-vendor market
|
||
is_disabled:
|
||
description: Specify if the sales channel is enabled or disabled.
|
||
type: boolean
|
||
default: false
|
||
locations:
|
||
description: The details of the stock locations related to the sales channel.
|
||
type: array
|
||
x-expandable: locations
|
||
items:
|
||
$ref: '#/components/schemas/SalesChannelLocation'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
SalesChannelLocation:
|
||
title: Sales Channel Stock Location
|
||
description: >-
|
||
This represents the association between a sales channel and a stock
|
||
locations.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- location_id
|
||
- sales_channel_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The Sales Channel Stock Location's ID
|
||
type: string
|
||
example: scloc_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
sales_channel_id:
|
||
description: The ID of the Sales Channel
|
||
type: string
|
||
example: sc_01G8X9A7ESKAJXG2H0E6F1MW7A
|
||
location_id:
|
||
description: The ID of the Location Stock.
|
||
type: string
|
||
sales_channel:
|
||
description: The details of the sales channel the location is associated with.
|
||
x-expandable: sales_channel
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
ShippingMethod:
|
||
title: Shipping Method
|
||
description: >-
|
||
A Shipping Method represents a way in which an Order or Return can be
|
||
shipped. Shipping Methods are created from a Shipping Option, but may
|
||
contain additional details that can be necessary for the Fulfillment
|
||
Provider to handle the shipment. If the shipping method is created for a
|
||
return, it may be associated with a claim or a swap that the return is
|
||
part of.
|
||
type: object
|
||
required:
|
||
- cart_id
|
||
- claim_order_id
|
||
- data
|
||
- id
|
||
- order_id
|
||
- price
|
||
- return_id
|
||
- shipping_option_id
|
||
- swap_id
|
||
properties:
|
||
id:
|
||
description: The shipping method's ID
|
||
type: string
|
||
example: sm_01F0YET7DR2E7CYVSDHM593QG2
|
||
shipping_option_id:
|
||
description: >-
|
||
The ID of the Shipping Option that the Shipping Method is built
|
||
from.
|
||
type: string
|
||
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
||
order_id:
|
||
description: The ID of the order that the shipping method is used in.
|
||
nullable: true
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the shipping method is used in.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
claim_order_id:
|
||
description: The ID of the claim that the shipping method is used in.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
claim_order:
|
||
description: The details of the claim that the shipping method is used in.
|
||
x-expandable: claim_order
|
||
nullable: true
|
||
type: object
|
||
cart_id:
|
||
description: The ID of the cart that the shipping method is used in.
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart that the shipping method is used in.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
swap_id:
|
||
description: The ID of the swap that the shipping method is used in.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
swap:
|
||
description: The details of the swap that the shipping method is used in.
|
||
x-expandable: swap
|
||
nullable: true
|
||
type: object
|
||
return_id:
|
||
description: The ID of the return that the shipping method is used in.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
return_order:
|
||
description: The details of the return that the shipping method is used in.
|
||
x-expandable: return_order
|
||
nullable: true
|
||
type: object
|
||
shipping_option:
|
||
description: The details of the shipping option the method was created from.
|
||
x-expandable: shipping_option
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
tax_lines:
|
||
description: The details of the tax lines applied on the shipping method.
|
||
type: array
|
||
x-expandable: tax_lines
|
||
items:
|
||
$ref: '#/components/schemas/ShippingMethodTaxLine'
|
||
price:
|
||
description: >-
|
||
The amount to charge for the Shipping Method. The currency of the
|
||
price is defined by the Region that the Order that the Shipping
|
||
Method belongs to is a part of.
|
||
type: integer
|
||
example: 200
|
||
data:
|
||
description: >-
|
||
Additional data that the Fulfillment Provider needs to fulfill the
|
||
shipment. This is used in combination with the Shipping Options
|
||
data, and may contain information such as a drop point id.
|
||
type: object
|
||
example: {}
|
||
includes_tax:
|
||
description: Whether the shipping method price include tax
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
default: false
|
||
subtotal:
|
||
description: The subtotal of the shipping
|
||
type: integer
|
||
example: 8000
|
||
total:
|
||
description: The total amount of the shipping
|
||
type: integer
|
||
example: 8200
|
||
tax_total:
|
||
description: The total of tax
|
||
type: integer
|
||
example: 0
|
||
ShippingMethodTaxLine:
|
||
title: Shipping Method Tax Line
|
||
description: >-
|
||
A Shipping Method Tax Line represents the taxes applied on a shipping
|
||
method in a cart.
|
||
type: object
|
||
required:
|
||
- code
|
||
- created_at
|
||
- id
|
||
- shipping_method_id
|
||
- metadata
|
||
- name
|
||
- rate
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The line item tax line's ID
|
||
type: string
|
||
example: smtl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
||
code:
|
||
description: A code to identify the tax type by
|
||
nullable: true
|
||
type: string
|
||
example: tax01
|
||
name:
|
||
description: A human friendly name for the tax
|
||
type: string
|
||
example: Tax Example
|
||
rate:
|
||
description: The numeric rate to charge tax by
|
||
type: number
|
||
example: 10
|
||
shipping_method_id:
|
||
description: The ID of the line item
|
||
type: string
|
||
example: sm_01F0YET7DR2E7CYVSDHM593QG2
|
||
shipping_method:
|
||
description: The details of the associated shipping method.
|
||
x-expandable: shipping_method
|
||
nullable: true
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ShippingOption:
|
||
title: Shipping Option
|
||
description: >-
|
||
A Shipping Option represents a way in which an Order or Return can be
|
||
shipped. Shipping Options have an associated Fulfillment Provider that
|
||
will be used when the fulfillment of an Order is initiated. Shipping
|
||
Options themselves cannot be added to Carts, but serve as a template for
|
||
Shipping Methods. This distinction makes it possible to customize
|
||
individual Shipping Methods with additional information.
|
||
type: object
|
||
required:
|
||
- admin_only
|
||
- amount
|
||
- created_at
|
||
- data
|
||
- deleted_at
|
||
- id
|
||
- is_return
|
||
- metadata
|
||
- name
|
||
- price_type
|
||
- profile_id
|
||
- provider_id
|
||
- region_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The shipping option's ID
|
||
type: string
|
||
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
||
name:
|
||
description: >-
|
||
The name given to the Shipping Option - this may be displayed to the
|
||
Customer.
|
||
type: string
|
||
example: PostFake Standard
|
||
region_id:
|
||
description: The ID of the region this shipping option can be used in.
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region this shipping option can be used in.
|
||
x-expandable: region
|
||
nullable: true
|
||
type: object
|
||
profile_id:
|
||
description: The ID of the Shipping Profile that the shipping option belongs to.
|
||
type: string
|
||
example: sp_01G1G5V239ENSZ5MV4JAR737BM
|
||
profile:
|
||
description: >-
|
||
The details of the shipping profile that the shipping option belongs
|
||
to.
|
||
x-expandable: profile
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingProfile'
|
||
provider_id:
|
||
description: >-
|
||
The ID of the fulfillment provider that will be used to later to
|
||
process the shipping method created from this shipping option and
|
||
its fulfillments.
|
||
type: string
|
||
example: manual
|
||
provider:
|
||
description: >-
|
||
The details of the fulfillment provider that will be used to later
|
||
to process the shipping method created from this shipping option and
|
||
its fulfillments.
|
||
x-expandable: provider
|
||
nullable: true
|
||
$ref: '#/components/schemas/FulfillmentProvider'
|
||
price_type:
|
||
description: >-
|
||
The type of pricing calculation that is used when creatin Shipping
|
||
Methods from the Shipping Option. Can be `flat_rate` for fixed
|
||
prices or `calculated` if the Fulfillment Provider can provide price
|
||
calulations.
|
||
type: string
|
||
enum:
|
||
- flat_rate
|
||
- calculated
|
||
example: flat_rate
|
||
amount:
|
||
description: >-
|
||
The amount to charge for shipping when the Shipping Option price
|
||
type is `flat_rate`.
|
||
nullable: true
|
||
type: integer
|
||
example: 200
|
||
is_return:
|
||
description: >-
|
||
Flag to indicate if the Shipping Option can be used for Return
|
||
shipments.
|
||
type: boolean
|
||
default: false
|
||
admin_only:
|
||
description: >-
|
||
Flag to indicate if the Shipping Option usage is restricted to admin
|
||
users.
|
||
type: boolean
|
||
default: false
|
||
requirements:
|
||
description: >-
|
||
The details of the requirements that must be satisfied for the
|
||
Shipping Option to be available for usage in a Cart.
|
||
type: array
|
||
x-expandable: requirements
|
||
items:
|
||
$ref: '#/components/schemas/ShippingOptionRequirement'
|
||
data:
|
||
description: >-
|
||
The data needed for the Fulfillment Provider to identify the
|
||
Shipping Option.
|
||
type: object
|
||
example: {}
|
||
includes_tax:
|
||
description: Whether the shipping option price include tax
|
||
type: boolean
|
||
x-featureFlag: tax_inclusive_pricing
|
||
default: false
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ShippingOptionRequirement:
|
||
title: Shipping Option Requirement
|
||
description: >-
|
||
A shipping option requirement defines conditions that a Cart must
|
||
satisfy for the Shipping Option to be available for usage in the Cart.
|
||
type: object
|
||
required:
|
||
- amount
|
||
- deleted_at
|
||
- id
|
||
- shipping_option_id
|
||
- type
|
||
properties:
|
||
id:
|
||
description: The shipping option requirement's ID
|
||
type: string
|
||
example: sor_01G1G5V29AB4CTNDRFSRWSRKWD
|
||
shipping_option_id:
|
||
description: The ID of the shipping option that the requirements belong to.
|
||
type: string
|
||
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
||
shipping_option:
|
||
description: The details of the shipping option that the requirements belong to.
|
||
x-expandable: shipping_option
|
||
nullable: true
|
||
type: object
|
||
type:
|
||
description: >-
|
||
The type of the requirement, this defines how the value will be
|
||
compared to the Cart's total. `min_subtotal` requirements define the
|
||
minimum subtotal that is needed for the Shipping Option to be
|
||
available, while the `max_subtotal` defines the maximum subtotal
|
||
that the Cart can have for the Shipping Option to be available.
|
||
type: string
|
||
enum:
|
||
- min_subtotal
|
||
- max_subtotal
|
||
example: min_subtotal
|
||
amount:
|
||
description: The amount to compare the Cart subtotal to.
|
||
type: integer
|
||
example: 100
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
ShippingProfile:
|
||
title: Shipping Profile
|
||
description: >-
|
||
A Shipping Profile has a set of defined Shipping Options that can be
|
||
used to fulfill a given set of Products. For example, gift cards are
|
||
shipped differently than physical products, so a shipping profile with
|
||
the type `gift_card` groups together the shipping options that can only
|
||
be used for gift cards.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- id
|
||
- metadata
|
||
- name
|
||
- type
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The shipping profile's ID
|
||
type: string
|
||
example: sp_01G1G5V239ENSZ5MV4JAR737BM
|
||
name:
|
||
description: >-
|
||
The name given to the Shipping profile - this may be displayed to
|
||
the Customer.
|
||
type: string
|
||
example: Default Shipping Profile
|
||
type:
|
||
description: >-
|
||
The type of the Shipping Profile, may be `default`, `gift_card` or
|
||
`custom`.
|
||
type: string
|
||
enum:
|
||
- default
|
||
- gift_card
|
||
- custom
|
||
example: default
|
||
products:
|
||
description: >-
|
||
The details of the products that the Shipping Profile defines
|
||
Shipping Options for. Available if the relation `products` is
|
||
expanded.
|
||
type: array
|
||
x-expandable: products
|
||
items:
|
||
type: object
|
||
shipping_options:
|
||
description: >-
|
||
The details of the shipping options that can be used to create
|
||
shipping methods for the Products in the Shipping Profile.
|
||
type: array
|
||
x-expandable: shipping_options
|
||
items:
|
||
type: object
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
ShippingTaxRate:
|
||
title: Shipping Tax Rate
|
||
description: This represents the tax rates applied on a shipping option.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- metadata
|
||
- rate_id
|
||
- shipping_option_id
|
||
- updated_at
|
||
properties:
|
||
shipping_option_id:
|
||
description: The ID of the shipping option.
|
||
type: string
|
||
example: so_01G1G5V27GYX4QXNARRQCW1N8T
|
||
shipping_option:
|
||
description: The details of the shipping option.
|
||
x-expandable: shipping_option
|
||
nullable: true
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
rate_id:
|
||
description: The ID of the associated tax rate.
|
||
type: string
|
||
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
||
tax_rate:
|
||
description: The details of the associated tax rate.
|
||
x-expandable: tax_rate
|
||
nullable: true
|
||
$ref: '#/components/schemas/TaxRate'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
StagedJob:
|
||
title: Staged Job
|
||
description: A staged job resource
|
||
type: object
|
||
required:
|
||
- data
|
||
- event_name
|
||
- id
|
||
- options
|
||
properties:
|
||
id:
|
||
description: The staged job's ID
|
||
type: string
|
||
example: job_01F0YET7BZTARY9MKN1SJ7AAXF
|
||
event_name:
|
||
description: The name of the event
|
||
type: string
|
||
example: order.placed
|
||
data:
|
||
description: Data necessary for the job
|
||
type: object
|
||
example: {}
|
||
option:
|
||
description: The staged job's option
|
||
type: object
|
||
example: {}
|
||
StockLocationAddressDTO:
|
||
title: Stock Location Address
|
||
description: Represents a Stock Location Address
|
||
type: object
|
||
required:
|
||
- address_1
|
||
- country_code
|
||
- created_at
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The stock location address' ID
|
||
example: laddr_51G4ZW853Y6TFXWPG5ENJ81X42
|
||
address_1:
|
||
type: string
|
||
description: Stock location address
|
||
example: 35, Jhon Doe Ave
|
||
address_2:
|
||
type: string
|
||
description: Stock location address' complement
|
||
example: apartment 4432
|
||
company:
|
||
type: string
|
||
description: Stock location company' name
|
||
example: Medusa
|
||
city:
|
||
type: string
|
||
description: Stock location address' city
|
||
example: Mexico city
|
||
country_code:
|
||
type: string
|
||
description: Stock location address' country
|
||
example: MX
|
||
phone:
|
||
type: string
|
||
description: Stock location address' phone number
|
||
example: +1 555 61646
|
||
postal_code:
|
||
type: string
|
||
description: Stock location address' postal code
|
||
example: HD3-1G8
|
||
province:
|
||
type: string
|
||
description: Stock location address' province
|
||
example: Sinaloa
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was deleted.
|
||
format: date-time
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
StockLocationAddressInput:
|
||
title: Stock Location Address Input
|
||
description: Represents a Stock Location Address Input
|
||
type: object
|
||
required:
|
||
- address_1
|
||
- country_code
|
||
properties:
|
||
address_1:
|
||
type: string
|
||
description: Stock location address
|
||
example: 35, Jhon Doe Ave
|
||
address_2:
|
||
type: string
|
||
description: Stock location address' complement
|
||
example: apartment 4432
|
||
city:
|
||
type: string
|
||
description: Stock location address' city
|
||
example: Mexico city
|
||
country_code:
|
||
type: string
|
||
description: Stock location address' country
|
||
example: MX
|
||
phone:
|
||
type: string
|
||
description: Stock location address' phone number
|
||
example: +1 555 61646
|
||
postal_code:
|
||
type: string
|
||
description: Stock location address' postal code
|
||
example: HD3-1G8
|
||
province:
|
||
type: string
|
||
description: Stock location address' province
|
||
example: Sinaloa
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
StockLocationDTO:
|
||
title: Stock Location
|
||
description: Represents a Stock Location
|
||
type: object
|
||
required:
|
||
- id
|
||
- name
|
||
- address_id
|
||
- created_at
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: The stock location's ID
|
||
example: sloc_51G4ZW853Y6TFXWPG5ENJ81X42
|
||
address_id:
|
||
type: string
|
||
description: Stock location address' ID
|
||
example: laddr_05B2ZE853Y6FTXWPW85NJ81A44
|
||
name:
|
||
type: string
|
||
description: The name of the stock location
|
||
example: Main Warehouse
|
||
address:
|
||
description: The Address of the Stock Location
|
||
allOf:
|
||
- $ref: '#/components/schemas/StockLocationAddressDTO'
|
||
- type: object
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
created_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was created.
|
||
format: date-time
|
||
updated_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was updated.
|
||
format: date-time
|
||
deleted_at:
|
||
type: string
|
||
description: The date with timezone at which the resource was deleted.
|
||
format: date-time
|
||
StockLocationExpandedDTO:
|
||
allOf:
|
||
- $ref: '#/components/schemas/StockLocationDTO'
|
||
- type: object
|
||
properties:
|
||
sales_channels:
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
Store:
|
||
title: Store
|
||
description: >-
|
||
A store holds the main settings of the commerce shop. By default, only
|
||
one store is created and used within the Medusa backend. It holds
|
||
settings related to the name of the store, available currencies, and
|
||
more.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- default_currency_code
|
||
- default_location_id
|
||
- id
|
||
- invite_link_template
|
||
- metadata
|
||
- name
|
||
- payment_link_template
|
||
- swap_link_template
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The store's ID
|
||
type: string
|
||
example: store_01G1G5V21KADXNGH29BJMAJ4B4
|
||
name:
|
||
description: The name of the Store - this may be displayed to the Customer.
|
||
type: string
|
||
example: Medusa Store
|
||
default_currency_code:
|
||
description: The 3 character currency code that is the default of the store.
|
||
type: string
|
||
example: usd
|
||
externalDocs:
|
||
url: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
|
||
description: See a list of codes.
|
||
default_currency:
|
||
description: The details of the store's default currency.
|
||
x-expandable: default_currency
|
||
nullable: true
|
||
$ref: '#/components/schemas/Currency'
|
||
currencies:
|
||
description: The details of the enabled currencies in the store.
|
||
type: array
|
||
x-expandable: currencies
|
||
items:
|
||
$ref: '#/components/schemas/Currency'
|
||
swap_link_template:
|
||
description: >-
|
||
A template to generate Swap links from. Use {{cart_id}} to include
|
||
the Swap's `cart_id` in the link.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
payment_link_template:
|
||
description: >-
|
||
A template to generate Payment links from. Use {{cart_id}} to
|
||
include the payment's `cart_id` in the link.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
invite_link_template:
|
||
description: A template to generate Invite links from
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
default_location_id:
|
||
description: The location ID the store is associated with.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
default_sales_channel_id:
|
||
description: The ID of the store's default sales channel.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
default_sales_channel:
|
||
description: The details of the store's default sales channel.
|
||
x-expandable: default_sales_channel
|
||
nullable: true
|
||
$ref: '#/components/schemas/SalesChannel'
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
Swap:
|
||
title: Swap
|
||
description: >-
|
||
A swap can be created when a Customer wishes to exchange Products that
|
||
they have purchased with different Products. It consists of a Return of
|
||
previously purchased Products and a Fulfillment of new Products. It also
|
||
includes information on any additional payment or refund required based
|
||
on the difference between the exchanged products.
|
||
type: object
|
||
required:
|
||
- allow_backorder
|
||
- canceled_at
|
||
- cart_id
|
||
- confirmed_at
|
||
- created_at
|
||
- deleted_at
|
||
- difference_due
|
||
- fulfillment_status
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- no_notification
|
||
- order_id
|
||
- payment_status
|
||
- shipping_address_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The swap's ID
|
||
type: string
|
||
example: swap_01F0YET86Y9G92D3YDR9Y6V676
|
||
fulfillment_status:
|
||
description: The status of the Fulfillment of the Swap.
|
||
type: string
|
||
enum:
|
||
- not_fulfilled
|
||
- fulfilled
|
||
- shipped
|
||
- partially_shipped
|
||
- canceled
|
||
- requires_action
|
||
example: not_fulfilled
|
||
payment_status:
|
||
description: >-
|
||
The status of the Payment of the Swap. The payment may either refer
|
||
to the refund of an amount or the authorization of a new amount.
|
||
type: string
|
||
enum:
|
||
- not_paid
|
||
- awaiting
|
||
- captured
|
||
- confirmed
|
||
- canceled
|
||
- difference_refunded
|
||
- partially_refunded
|
||
- refunded
|
||
- requires_action
|
||
example: not_paid
|
||
order_id:
|
||
description: The ID of the order that the swap belongs to.
|
||
type: string
|
||
example: order_01G8TJSYT9M6AVS5N4EMNFS1EK
|
||
order:
|
||
description: The details of the order that the swap belongs to.
|
||
x-expandable: order
|
||
nullable: true
|
||
type: object
|
||
additional_items:
|
||
description: >-
|
||
The details of the new products to send to the customer, represented
|
||
as line items.
|
||
type: array
|
||
x-expandable: additional_items
|
||
items:
|
||
$ref: '#/components/schemas/LineItem'
|
||
return_order:
|
||
description: >-
|
||
The details of the return that belongs to the swap, which holds the
|
||
details on the items being returned.
|
||
x-expandable: return_order
|
||
nullable: true
|
||
type: object
|
||
fulfillments:
|
||
description: >-
|
||
The details of the fulfillments that are used to send the new items
|
||
to the customer.
|
||
x-expandable: fulfillments
|
||
type: array
|
||
items:
|
||
type: object
|
||
payment:
|
||
description: >-
|
||
The details of the additional payment authorized by the customer
|
||
when `difference_due` is positive.
|
||
x-expandable: payment
|
||
nullable: true
|
||
type: object
|
||
difference_due:
|
||
description: >-
|
||
The difference amount between the order’s original total and the new
|
||
total imposed by the swap. If its value is negative, a refund must
|
||
be issues to the customer. If it's positive, additional payment must
|
||
be authorized by the customer. Otherwise, no payment processing is
|
||
required.
|
||
nullable: true
|
||
type: integer
|
||
example: 0
|
||
shipping_address_id:
|
||
description: >-
|
||
The Address to send the new Line Items to - in most cases this will
|
||
be the same as the shipping address on the Order.
|
||
nullable: true
|
||
type: string
|
||
example: addr_01G8ZH853YPY9B94857DY91YGW
|
||
shipping_address:
|
||
description: >-
|
||
The details of the shipping address that the new items should be
|
||
sent to.
|
||
x-expandable: shipping_address
|
||
nullable: true
|
||
$ref: '#/components/schemas/Address'
|
||
shipping_methods:
|
||
description: >-
|
||
The details of the shipping methods used to fulfill the additional
|
||
items purchased.
|
||
type: array
|
||
x-expandable: shipping_methods
|
||
items:
|
||
$ref: '#/components/schemas/ShippingMethod'
|
||
cart_id:
|
||
description: The ID of the cart that the customer uses to complete the swap.
|
||
nullable: true
|
||
type: string
|
||
example: cart_01G8ZH853Y6TFXWPG5EYE81X63
|
||
cart:
|
||
description: The details of the cart that the customer uses to complete the swap.
|
||
x-expandable: cart
|
||
nullable: true
|
||
type: object
|
||
confirmed_at:
|
||
description: >-
|
||
The date with timezone at which the Swap was confirmed by the
|
||
Customer.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
canceled_at:
|
||
description: The date with timezone at which the Swap was canceled.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
no_notification:
|
||
description: If set to true, no notification will be sent related to this swap
|
||
nullable: true
|
||
type: boolean
|
||
example: false
|
||
allow_backorder:
|
||
description: If true, swaps can be completed with items out of stock
|
||
type: boolean
|
||
default: false
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of the swap
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
TaxLine:
|
||
title: Tax Line
|
||
description: A tax line represents the taxes amount applied to a line item.
|
||
type: object
|
||
required:
|
||
- code
|
||
- created_at
|
||
- id
|
||
- metadata
|
||
- name
|
||
- rate
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The tax line's ID
|
||
type: string
|
||
example: tl_01G1G5V2DRX1SK6NQQ8VVX4HQ8
|
||
code:
|
||
description: A code to identify the tax type by
|
||
nullable: true
|
||
type: string
|
||
example: tax01
|
||
name:
|
||
description: A human friendly name for the tax
|
||
type: string
|
||
example: Tax Example
|
||
rate:
|
||
description: The numeric rate to charge tax by
|
||
type: number
|
||
example: 10
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
TaxProvider:
|
||
title: Tax Provider
|
||
description: >-
|
||
A tax provider represents a tax service installed in the Medusa backend,
|
||
either through a plugin or backend customizations. It holds the tax
|
||
service's installation status.
|
||
type: object
|
||
required:
|
||
- id
|
||
- is_installed
|
||
properties:
|
||
id:
|
||
description: The ID of the tax provider as given by the tax service.
|
||
type: string
|
||
example: manual
|
||
is_installed:
|
||
description: >-
|
||
Whether the tax service is installed in the current version. If a
|
||
tax service is no longer installed, the `is_installed` attribute is
|
||
set to `false`.
|
||
type: boolean
|
||
default: true
|
||
TaxRate:
|
||
title: Tax Rate
|
||
description: >-
|
||
A Tax Rate can be used to define a custom rate to charge on specified
|
||
products, product types, and shipping options within a given region.
|
||
type: object
|
||
required:
|
||
- code
|
||
- created_at
|
||
- id
|
||
- metadata
|
||
- name
|
||
- rate
|
||
- region_id
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The tax rate's ID
|
||
type: string
|
||
example: txr_01G8XDBAWKBHHJRKH0AV02KXBR
|
||
rate:
|
||
description: The numeric rate to charge
|
||
nullable: true
|
||
type: number
|
||
example: 10
|
||
code:
|
||
description: A code to identify the tax type by
|
||
nullable: true
|
||
type: string
|
||
example: tax01
|
||
name:
|
||
description: A human friendly name for the tax
|
||
type: string
|
||
example: Tax Example
|
||
region_id:
|
||
description: The ID of the region that the rate belongs to.
|
||
type: string
|
||
example: reg_01G1G5V26T9H8Y0M4JNE3YGA4G
|
||
region:
|
||
description: The details of the region that the rate belongs to.
|
||
x-expandable: region
|
||
nullable: true
|
||
type: object
|
||
products:
|
||
description: The details of the products that belong to this tax rate.
|
||
type: array
|
||
x-expandable: products
|
||
items:
|
||
$ref: '#/components/schemas/Product'
|
||
product_types:
|
||
description: The details of the product types that belong to this tax rate.
|
||
type: array
|
||
x-expandable: product_types
|
||
items:
|
||
$ref: '#/components/schemas/ProductType'
|
||
shipping_options:
|
||
description: The details of the shipping options that belong to this tax rate.
|
||
type: array
|
||
x-expandable: shipping_options
|
||
items:
|
||
$ref: '#/components/schemas/ShippingOption'
|
||
product_count:
|
||
description: The count of products
|
||
type: integer
|
||
example: 10
|
||
product_type_count:
|
||
description: The count of product types
|
||
type: integer
|
||
example: 2
|
||
shipping_option_count:
|
||
description: The count of shipping options
|
||
type: integer
|
||
example: 1
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
TrackingLink:
|
||
title: Tracking Link
|
||
description: >-
|
||
A tracking link holds information about tracking numbers for a
|
||
Fulfillment. Tracking Links can optionally contain a URL that can be
|
||
visited to see the status of the shipment. Typically, the tracking link
|
||
is provided from the third-party service integrated through the used
|
||
fulfillment provider.
|
||
type: object
|
||
required:
|
||
- created_at
|
||
- deleted_at
|
||
- fulfillment_id
|
||
- id
|
||
- idempotency_key
|
||
- metadata
|
||
- tracking_number
|
||
- updated_at
|
||
- url
|
||
properties:
|
||
id:
|
||
description: The tracking link's ID
|
||
type: string
|
||
example: tlink_01G8ZH853Y6TFXWPG5EYE81X63
|
||
url:
|
||
description: The URL at which the status of the shipment can be tracked.
|
||
nullable: true
|
||
type: string
|
||
format: uri
|
||
tracking_number:
|
||
description: The tracking number given by the shipping carrier.
|
||
type: string
|
||
format: RH370168054CN
|
||
fulfillment_id:
|
||
description: The ID of the fulfillment that the tracking link belongs to.
|
||
type: string
|
||
example: ful_01G8ZRTMQCA76TXNAT81KPJZRF
|
||
fulfillment:
|
||
description: The details of the fulfillment that the tracking link belongs to.
|
||
x-expandable: fulfillment
|
||
nullable: true
|
||
type: object
|
||
idempotency_key:
|
||
description: >-
|
||
Randomly generated key used to continue the completion of a process
|
||
in case of failure.
|
||
nullable: true
|
||
type: string
|
||
externalDocs:
|
||
url: https://docs.medusajs.com/development/idempotency-key/overview.md
|
||
description: Learn more how to use the idempotency key.
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
UpdateStockLocationInput:
|
||
title: Update Stock Location Input
|
||
description: Represents the Input to update a Stock Location
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
description: The stock location name
|
||
address_id:
|
||
type: string
|
||
description: The Stock location address ID
|
||
address:
|
||
description: Stock location address object
|
||
allOf:
|
||
- $ref: '#/components/schemas/StockLocationAddressInput'
|
||
- type: object
|
||
metadata:
|
||
type: object
|
||
description: An optional key-value map with additional details
|
||
example:
|
||
car: white
|
||
User:
|
||
title: User
|
||
description: A User is an administrator who can manage store settings and data.
|
||
type: object
|
||
required:
|
||
- api_token
|
||
- created_at
|
||
- deleted_at
|
||
- email
|
||
- first_name
|
||
- id
|
||
- last_name
|
||
- metadata
|
||
- role
|
||
- updated_at
|
||
properties:
|
||
id:
|
||
description: The user's ID
|
||
type: string
|
||
example: usr_01G1G5V26F5TB3GPAPNJ8X1S3V
|
||
role:
|
||
description: The user's role. These roles don't provide any different privileges.
|
||
type: string
|
||
enum:
|
||
- admin
|
||
- member
|
||
- developer
|
||
default: member
|
||
email:
|
||
description: The email of the User
|
||
type: string
|
||
format: email
|
||
first_name:
|
||
description: The first name of the User
|
||
nullable: true
|
||
type: string
|
||
example: Levi
|
||
last_name:
|
||
description: The last name of the User
|
||
nullable: true
|
||
type: string
|
||
example: Bogan
|
||
api_token:
|
||
description: An API token associated with the user.
|
||
nullable: true
|
||
type: string
|
||
example: null
|
||
created_at:
|
||
description: The date with timezone at which the resource was created.
|
||
type: string
|
||
format: date-time
|
||
updated_at:
|
||
description: The date with timezone at which the resource was updated.
|
||
type: string
|
||
format: date-time
|
||
deleted_at:
|
||
description: The date with timezone at which the resource was deleted.
|
||
nullable: true
|
||
type: string
|
||
format: date-time
|
||
metadata:
|
||
description: An optional key-value map with additional details
|
||
nullable: true
|
||
type: object
|
||
example:
|
||
car: white
|
||
externalDocs:
|
||
description: >-
|
||
Learn about the metadata attribute, and how to delete and update
|
||
it.
|
||
url: >-
|
||
https://docs.medusajs.com/development/entities/overview#metadata-attribute
|
||
VariantInventory:
|
||
type: object
|
||
required:
|
||
- id
|
||
- inventory
|
||
- sales_channel_availability
|
||
properties:
|
||
id:
|
||
description: the ID of the variant
|
||
type: string
|
||
inventory:
|
||
description: The inventory details.
|
||
$ref: '#/components/schemas/ResponseInventoryItem'
|
||
sales_channel_availability:
|
||
type: array
|
||
description: >-
|
||
An array of details about the variant's inventory availability in
|
||
sales channels.
|
||
items:
|
||
type: object
|
||
required:
|
||
- channel_name
|
||
- channel_id
|
||
- available_quantity
|
||
properties:
|
||
channel_name:
|
||
description: Sales channel's name
|
||
type: string
|
||
channel_id:
|
||
description: Sales channel's ID
|
||
type: string
|
||
available_quantity:
|
||
description: Available quantity in the sales channel
|
||
type: number
|